Преобразование joinaggregate
Преобразование joinaggregate добавляет к исходным объектам данных агрегированные значения. Сначала рассчитываются агрегаты, затем результаты присоединяются к входным данным. Параметры почти совпадают с aggregate, но новые выходные объекты не создаются: значения записываются в каждый исходный объект. Такой же результат можно получить через window с frame: [null, null]. Это полезно для расчётов, объединяющих исходные и сводные значения, например доли каждой записи в сумме группы.
Параметры преобразования
| Свойство | Тип | Описание |
|---|---|---|
| groupby | Field[ ] | Поля для группировки. Если не заданы, все объекты данных образуют одну группу. |
| fields | Field[ ] | Поля данных для расчёта агрегатов. Их порядок должен соответствовать массивам ops и as. Если fields и ops не заданы, по умолчанию используется подсчёт count. |
| ops | String[ ] | Агрегирующие операции для полей fields, например sum, average или count. См. справочник операций. |
| as | String[ ] | Выходные имена агрегированных полей. Если не заданы, имена создаются по операции и полю, например sum_field или average_field. |
Агрегирующие операции
Все допустимые агрегирующие операции.
| Операция | Описание |
|---|---|
| count | Общее число объектов данных в группе. |
| valid | Число значений поля, отличных от null, undefined и NaN. |
| missing | Число значений поля, равных null или undefined. |
| distinct | Число различных значений поля. |
| sum | Сумма значений поля. |
| mean | Среднее значение поля. |
| average | Среднее значение поля; синоним mean. |
| variance | Выборочная дисперсия значений поля. |
| variancep | Дисперсия генеральной совокупности. |
| stdev | Выборочное стандартное отклонение. |
| stdevp | Стандартное отклонение генеральной совокупности. |
| stderr | Стандартная ошибка значений поля. |
| median | Медиана значений поля. |
| q1 | Нижняя граница межквартильного диапазона. |
| q3 | Верхняя граница межквартильного диапазона. |
| ci0 | Нижняя граница 95-процентного доверительного интервала среднего, рассчитанного бутстрепом. |
| ci1 | Верхняя граница 95-процентного доверительного интервала среднего, рассчитанного бутстрепом. |
| min | Минимальное значение поля. |
| max | Максимальное значение поля. |
| argmin | Исходный объект данных с минимальным значением поля. |
| argmax | Исходный объект данных с максимальным значением поля. |
Использование
Для следующих входных данных:
[
{"foo": 1, "bar": 1},
{"foo": 1, "bar": 2},
{"foo": null, "bar": 3}
]
преобразование joinaggregate:
{
"type": "joinaggregate",
"fields": ["foo", "bar", "bar"],
"ops": ["valid", "sum", "median"],
"as": ["v", "s", "m"]
}
создаёт результат:
[
{"foo": 1, "bar": 1, "v": 2, "s": 6, "m": 2},
{"foo": 1, "bar": 2, "v": 2, "s": 6, "m": 2},
{"foo": null, "bar": 3, "v": 2, "s": 6, "m": 2}
]