make_bag_if() (集計関数)
適用対象: ✅Microsoft Fabric✅Azure データ エクスプローラー✅Azure Monitor✅Microsoft Sentinel
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 |