Поделиться через


make_bag() (функция агрегирования)

Область применения: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

dynamic Создает контейнер свойств JSON (словарь) всех значений expr в группе.

Значения NULL игнорируются и не учитываются в вычислении.

Примечание.

Эта функция используется в сочетании с оператором сводки.

Синтаксис

make_bag(expr [, maxSize])

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
expr dynamic ✔️ Выражение, используемое для вычисления агрегирования.
maxSize int Ограничение на максимальное количество возвращаемых элементов. Значение по умолчанию и максимальное значение — 1048576.

Примечание.

make_dictionary() не рекомендуется использовать в пользу make_bag(). Устаревшая версия имеет ограничение maxSize по умолчанию 128.

Возвраты

dynamic Возвращает контейнер свойств JSON (словарь) всех значений Expr в группе, которые являются пакетами свойств. Значения, отличные от словаря, будут пропущены. Если ключ отображается в нескольких строках, будет выбрано произвольное значение из возможных значений этого ключа.

Пример

В следующем примере показан упакованный контейнер свойств JSON.

let T = datatable(prop:string, value:string)
[
    "prop01", "val_a",
    "prop02", "val_b",
    "prop03", "val_c",
];
T
| extend p = bag_pack(prop, value)
| summarize dict=make_bag(p)

Выходные данные

dict
{ "prop01": "val_a", "prop02": "val_b", "prop03": "val_c" }

Используйте подключаемый модуль bag_unpack() для преобразования ключей контейнера в выходные данные make_bag() в столбцы.

let T = datatable(prop:string, value:string)
[
    "prop01", "val_a",
    "prop02", "val_b",
    "prop03", "val_c",
];
T
| extend p = bag_pack(prop, value)
| summarize bag=make_bag(p)
| evaluate bag_unpack(bag)

Выходные данные

prop01 prop02 prop03
val_a val_b val_c

bag_unpack().