make_list() (集計関数)

dynamicグループ内の expr のすべての値の配列を作成します。

Null 値は無視され、計算には考慮されません。

Note

この関数は、summarize 演算子と組み合わせて使用します。

非推奨のエイリアス: makelist()

構文

make_list(expr [,maxSize])

構文規則について詳しく知る。

パラメーター

名前 必須 説明
expr dynamic ✔️ 集計計算に使用される式。
Maxsize int 返される要素の最大数。 既定値と最大値は1048576。

Note

非推奨のバージョンの既定の maxSize 制限は 128 です。

戻り値

dynamicグループ内の expr のすべての値の配列を返します。 演算子への入力が summarize 並べ替えられていない場合、結果の配列内の要素の順序は未定義になります。 summarize 演算子への入力が並べ替えされている場合、結果の配列内の要素の順序は入力の順序に従います。

ヒント

何かのキーで順序付けされたリストを作成するには、array_sort_asc() または array_sort_desc() 関数を使用します。

1 列

次の例では、1 つの列からリストを作成します。

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"]
true ["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}]
true [{"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 に似ていますが、述語も受け入れます。