AGGREGATEFUNCTION — различия между версиями
Материал из GB wiki
Alexey (обсуждение | вклад) |
Alexey (обсуждение | вклад) |
||
Строка 5: | Строка 5: | ||
|Аргументы={{Аргумент | |Аргументы={{Аргумент | ||
|Название=Имя датасета | |Название=Имя датасета | ||
− | |Пояснение=строка, являющаяся именем одного из датасетов электронной или печатной формы. По умолчанию исходный датасет копируется и вычисления производятся на копии. Если указан постфикс | + | |Пояснение=строка, являющаяся именем одного из датасетов электронной или печатной формы. После имени датасета могут следовать постфикс |
+ | *.DONTCOPY – не копировать датасет.<br>По умолчанию исходный датасет копируется и вычисления производятся на копии. Если указан постфикс .DONTCOPY, то вычисления производятся на исходном датасете. Можно использовать, если датасет большой (меньший расход памяти, увеличение скорости). | ||
}}<br/> | }}<br/> | ||
{{Аргумент | {{Аргумент |
Текущая версия на 13:12, 30 октября 2017
Вычисляет аггрегатную функцию на датасете
Синтаксис
AGGREGATEFUNCTION (Имя датасета, Фильтр, Функция, Аргумент)
Аргументы
- Имя датасета
- строка, являющаяся именем одного из датасетов электронной или печатной формы. После имени датасета могут следовать постфикс
- .DONTCOPY – не копировать датасет.
По умолчанию исходный датасет копируется и вычисления производятся на копии. Если указан постфикс .DONTCOPY, то вычисления производятся на исходном датасете. Можно использовать, если датасет большой (меньший расход памяти, увеличение скорости).
- Фильтр
- строка, в которой содержится выражение для фильтрации записей в датасете ("1" – все записи)
- Функция
- строка с именем функции. Варианты:
- LIST – список значений, через ";"
- LIST_DISTINCT – список неповторяющихся значений, через ";"
- SUM – сумма значений
- MIN – минимальное значение
- MAX – максимальное значение
- Аргумент
- строка, в которой содержится выражение для вычисление функции
Тип результата
- Значение произвольного типа
Примеры
AGGREGATEFUNCTION (`Goodies`, `Articul.RootFolder.Heap.gg=’1’`, `SUM`, `Quantity*StrToFloat(Articul.Heap.@Weight)`)
/* суммарный вес товаров из папки первого уровня, у которой Heap.gg=’1’ */