你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

make_list()(聚合函数)

适用于:✅✅Azure 数据资源管理器Azure Monitor✅ Sentinel

创建组中 expr 所有值的 dynamic 数组。

空值会被忽略,不会纳入计算中。

注意

此函数与 summarize 运算符结合使用。

弃用的别名:makelist()

语法

make_list( expr [,maxSize])

详细了解语法约定

参数

客户 类型​​ 必需 说明
expr dynamic ✔️ 用于聚合计算的表达式。
maxSize int 返回的最大元素数目。 默认值和最大值为 1048576。

注意

已弃用版本的默认 maxSize 限制为 128。

返回

返回组中 expr 所有值的 dynamic 数组。 如果未对 summarize 运算符的输入进行排序,那么生成的数组中的元素顺序将不确定。 如果对 summarize 运算符的输入进行了排序,则生成的数组中的元素顺序和输入一样。

提示

使用 array_sort_asc()array_sort_desc() 函数按某个键创建一个有序列表。

示例

本节中的示例演示如何使用语法帮助你入门。

一列

以下示例使用数据表(shapes)返回单个列中的形状列表。

let shapes = datatable (name: string, sideCount: int)
[
    "triangle", 3,
    "square", 4,
    "rectangle", 4,
    "pentagon", 5,
    "hexagon", 6,
    "heptagon", 7,
    "octagon", 8,
    "nonagon", 9,
    "decagon", 10
];
shapes
| summarize mylist = make_list(name)

输出

mylist
["triangle","square","rectangle","pentagon","hexagon","heptagon","octagon","nonagon","decagon"]

使用“by”子句

以下示例使用 make_list 函数和 by 子句创建两个按其偶数或奇数两端分组的对象列表。

let shapes = datatable (name: string, sideCount: int)
[
    "triangle", 3,
    "square", 4,
    "rectangle", 4,
    "pentagon", 5,
    "hexagon", 6,
    "heptagon", 7,
    "octagon", 8,
    "nonagon", 9,
    "decagon", 10
];
shapes
| summarize mylist = make_list(name) by isEvenSideCount = sideCount % 2 == 0

输出

isEvenSideCount mylist
false ["triangle","pentagon","heptagon","nonagon"]
["square","rectangle","hexagon","octagon","decagon"]

将动态对象打包

以下示例演示如何将动态对象打包到列中,然后再将其设置为列表。 它返回一个包含布尔表的列 isEvenSideCount 指示侧计数是偶数还是奇数,以及包含每个类别中打包包列表的 mylist 列。

let shapes = datatable (name: string, sideCount: int)
[
    "triangle", 3,
    "square", 4,
    "rectangle", 4,
    "pentagon", 5,
    "hexagon", 6,
    "heptagon", 7,
    "octagon", 8,
    "nonagon", 9,
    "decagon", 10
];
shapes
| extend d = bag_pack("name", name, "sideCount", sideCount)
| summarize mylist = make_list(d) by isEvenSideCount = sideCount % 2 == 0

输出

isEvenSideCount mylist
false [{"name":"triangle","sideCount":3},{"name":"pentagon","sideCount":5},{"name":"heptagon","sideCount":7},{"name":"nonagon","sideCount":9}]
[{"name":"square","sideCount":4},{"name":"rectangle","sideCount":4},{"name":"hexagon","sideCount":6},{"name":"octagon","sideCount":8},{"name":"decagon","sideCount":10}]