AGGREGATE

Получает записи через один входной порт, вычисляет статистическую информацию о записях входных данных и отправляет их на все выходные порты. Требует сортировки входных записей.
Порты AGGREGATE:
Тип порта | Номер | Обязательный | Описание | Метаданные |
---|---|---|---|---|
Input | 0 | да | Для входных записей | Любые |
Output | 0-n | да | Для результатов подсчетов | Любые |
Атрибуты AGGREGATE:
Атрибут | Обязательный | Описание | Возможные значения |
---|---|---|---|
aggregateKey | нет | Ключ, по которому группируются записи | key1;key2 |
mapping | да | Определяет способ присвоениея входных данных к полям выходных метаданных. Выражения внутри маппинга разделяются точкой с запятой (;), перед именем поля метадаты нужно ставить доллар ($), для присвоения использовать двоеточие и равно (:=). | $field1:=$field1;$res:=count(field2);$srznach:=avg($field3) |
zeroCount | нет | Определяет обработку отсутствия данных для определенного в артибуте aggregateKey ключа. При zeroCount=true, в случае отсутствия записей на входе в ноду, генерируется 1 запись на выход. Если установлено значение false, ни одна запись не создается. | false (по умолчанию)/true |
Функции AGGREGATE:
Функция | Описание | Тип входных данных | Тип выходных данных |
---|---|---|---|
avg | Возвращает среднее арифметическое. | любой числовой тип | number |
count | Подсчитывает количество строк, учитывает null. | любой | number |
countnotnull | Подсчитывает записи, если поле содержит null, оно не учитывается. | любой | number |
countunique | Подсчитывает уникальные значения. Считает null уникальным значением. | любой | number |
first | Возвращает первое значение группы. | любой | любой |
firstnotnull | Возвращает первое значение, отличное от null. | любой | любой |
last | Возвращает последнее значение группы. | любой | любой |
lastnotnull | Возвращает последнее значение, отличное от null. | любой | любой |
max | Возвращает максимальное значение. | любой числовой тип | любой числовой тип |
md5 | любой | string | |
median | Возвращает медианное значение. null значения не учитываются. | любой числовой тип | number |
min | Возвращает минимальное значение. | любой числовой тип | любой числовой тип, соответствующий входному |
modus | Возвращает наиболее часто используемое значение (null-значения не учитываются). Если кандидатов больше, возвращается первый. | тип | тип |
sum | Возвращает сумму входных значений. | любой числовой тип | number |
const | любой | string |
Пример. Заполнение атрибутов узла AGGREGATE для вызова функций avg, count, max, last и sum.
Атрибут aggregateKey
: key1,key2
Атрибут mapping
:
$avg:=avg($key1);
$count:=count($key1);
$countnotnull:=countnotnull($key2);
$countunique:=countunique($key2);
$first:=first($key1);
$firstnotnull:=firstnotnull($field2);
$last:=last($field2);
$lastnotnull:=lastnotnull($field2)>