次の方法で共有


make_list() (集計関数)

適用対象: ✅Microsoft FabricAzure データ エクスプローラーAzure MonitorMicrosoft Sentinel

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

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

Note

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

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

構文

make_list(expr [, maxSize])

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

パラメーター

件名 タイプ Required 説明
expr dynamic ✔️ 集計計算に使用される式。
maxSize int 返される要素の最大数。 既定値と最大値は1048576です。

Note

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

返品

グループ内の expr のすべての値のdynamic配列を返します。 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","hex","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","六角形","八角形","デカゴン"]

動的オブジェクトのパッキング

次の例では、列の動的オブジェクトをリストにする前にパックする方法を示します。

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":"hex","sideCount":6},{"name":"octagon","sideCount":8},{"name":"decagon","sideCount":10}]

make_list_if 演算子は make_list に似ていますが、述語も受け入れます。