次の方法で共有


make_bag_if() (集計関数)

expr 値のdynamic JSON プロパティ バッグ (ディクショナリ) を、trueに評価されるレコードに作成します。

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

Note

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

構文

make_bag_if(expr, predicate [, maxSize])

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

パラメーター

件名 タイプ Required 説明
expr dynamic ✔️ 集計計算に使用される式。
述語 bool ✔️ exprを結果に追加するために、trueに評価される述語。
maxSize int 返される要素の最大数の制限。 既定値と最大値は1048576です。

返品

expr値のdynamic JSON プロパティ バッグ (ディクショナリ) trueに評価されるレコードを返します。 ディクショナリ以外の値はスキップされます。 キーが複数の行に存在する場合は、そのキーに使用できる値の中から任意の値が選択されます。

Note

述語のないこの関数は、 make_bagに似ています。

次の例は、パックされた JSON プロパティ バッグを示しています。

let T = datatable(prop:string, value:string, predicate:bool)
[
    "prop01", "val_a", true,
    "prop02", "val_b", false,
    "prop03", "val_c", true
];
T
| extend p = bag_pack(prop, value)
| summarize dict=make_bag_if(p, predicate)

出力

dict
{ "prop01": "val_a", "prop03": "val_c" }

make_bag_if() の出力のバッグのキーを列に変換するには、bag_unpack() プラグインを使用します。

let T = datatable(prop:string, value:string, predicate:bool)
[
    "prop01", "val_a", true,
    "prop02", "val_b", false,
    "prop03", "val_c", true
];
T
| extend p = bag_pack(prop, value)
| summarize bag=make_bag_if(p, predicate)
| evaluate bag_unpack(bag)

出力

prop01 prop03
val_a val_c