你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
make_list()(聚合函数)
创建组中 expr 所有值的 dynamic
数组。
Null 值将被忽略,并且不会纳入计算。
注意
此函数与 summarize 运算符结合使用。
弃用的别名:makelist()
语法
make_list(
expr [,
maxSize])
详细了解语法约定。
参数
名称 | 类型 | 必需 | 说明 |
---|---|---|---|
expr | dynamic |
✔️ | 用于聚合计算的表达式。 |
maxSize | int |
返回的最大元素数目。 默认值和最大值为 1048576。 |
注意
已弃用版本的默认 maxSize 限制为 128。
返回
返回组中 expr 所有值的 dynamic
数组。
如果未对 summarize
运算符的输入进行排序,那么生成的数组中的元素顺序将不确定。
如果对 summarize
运算符的输入进行了排序,则生成的数组中的元素顺序和输入一样。
提示
使用 array_sort_asc()
或 array_sort_desc()
函数按某个键创建一个有序列表。
示例
一列
以下示例根据一个列生成一个列表:
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”子句
以下示例使用 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"] |
将动态对象打包
以下示例演示如何将动态对象打包到列中,然后再将其设置为列表。
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}] |
相关内容
make_list_if
运算符与 make_list
相似,只是它也接受谓词。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈