make_bag() (функция агрегирования)
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft 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 |