Категорія:

Пов'язані з базою даних

Статистичні (агрегатні)

Умовні

Повертає кількість записів (накопичувальну) поточного набору даних, які задовольняють вказаній умові.

Синтаксис

dataset_row_count_ex(
  StepNo Integer,
  GroupLevel Integer,
  Condition String
): Integer

Параметри

StepNo вказує крок (прохід), в якому функція має обчислюватися. Можливі значення: 1 або 2. Якщо цей параметр дорівнює 1, то відповідна функція обчислюватиметься безпосередньо при обробці виразу. Якщо ж він дорівнює 2, звіт буде формуватися в режимі двох проходів і відповідна функція обчислюватиметься лише на другому проході обробки звіту, тобто вже після того, як набір даних звіту досягне останнього запису. Використання функцій баз даних на другому проході зручне у випадках, наприклад, коли потрібно підсумки по звіту (групі) помістити на початку звіту (групи).

Поєднання різних StepNo в одному виразі (напр., database_field_val(1, 'total_sum') + database_field_val(2, 'payment_sum')) можливе, але такі вирази повинні бути написані так, щоб функції з меншим StepNo розраховувалися раніше.

GroupLevel (рівень групування) може мати наступні значення:
1. Група рівня 1;
2. Група рівня 2;
3. Група рівня 3;
0. Звіт в цілому;
-1. Поточна сторінка.

Condition - булевський вираз. Але він повинен бути записаний як константа або детерміністичний вираз типу String.

Значення, що повертається

Тип: Integer. Фактично, всередині циклу записів показує номер запису (лише серед записів, що задовольняють умові Condition). В кінці циклу повертає кількість всіх записів (які задовольняють умові Condition).

Приклади використання

dataset_row_count_ex(
  1, 
  0, 
  'dataset_field_val(1, ''Age'') > 50'
)