Категорія:
Пов'язані з базою даних
Статистичні (агрегатні)
Умовні
Сумує значення поля бази даних в записах, які задовольняють вказаній умові.
Синтаксис
dataset_sum_ex(
StepNo Integer,
GroupLevel Integer,
FieldName String,
Condition String
): Numeric
Параметри
StepNo. Залежить від контексту, в якому функція використовується:
Контекст експорту до HTML з використанням шаблону. Шаблон HTML може заповнюватися даними за більше, ніж один крок. Наприклад, якщо ваш документ HTML містить кілька таблиць, що мають бути заповнені даними з різних наборів даних, то заповнити їх можна лише за кілька кроків експорту (як правило, один набір даних за один крок). Параметр StepNo якраз і вказує крок експорту, на якому дана функція має обчислюватися.
Контекст звітів. Параметр StepNo в цих функціях вказує крок (прохід), в якому функція має обчислюватися. Можливі значення: 1 або 2. Якщо цей параметр дорівнює 1, то відповідна функція обчислюватиметься безпосередньо при обробці виразу. Якщо ж він дорівнює 2, звіт буде формуватися в режимі двох проходів і відповідна функція обчислюватиметься лише на другому проході обробки звіту, тобто вже після того, як набір даних звіту досягне останнього запису. Використання функцій баз даних на другому проході зручне у випадках, наприклад, коли потрібно підсумки по звіту (групі) помістити на початку звіту (групи).
Інший контекст. Повинен дорівнювати 1.
Поєднання різних StepNo в одному виразі (напр., database_field_val(1, 'total_sum') + database_field_val(2, 'payment_sum')) можливе, але такі вирази повинні бути написані так, щоб функції з меншим StepNo розраховувалися раніше.
GroupLevel (рівень групування) використовується лише в контексті звітів і може мати наступні значення:
1. Група рівня 1;
2. Група рівня 2;
3. Група рівня 3;
0. Звіт в цілому;
-1. Поточна сторінка.
FieldName - назва поля для обрахунку.
Condition - булевський вираз. Але він повинен бути записаний як константа або детерміністичний вираз типу String.
Значення, що повертається
Тип: Numeric.
Приклади використання
dataset_sum_ex(
1,
0,
'Salary',
'dataset_field_val(1, ''Age'') > 50'
)