make_bag_if() (sammansättningsfunktion)
Gäller för: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Skapar en dynamic
JSON-egenskapspåse (ordlista) med uttr värden i poster som predikatet utvärderas till true
.
Null-värden ignoreras och tar inte hänsyn till beräkningen.
Not
Den här funktionen används tillsammans med operatorn summarize.
Syntax
make_bag_if(
,
predikat [,
maxSize])
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Krävs | Beskrivning |
---|---|---|---|
uttr | dynamic |
✔️ | Uttrycket som används för aggregeringsberäkningen. |
predikat | bool |
✔️ | Predikatet som utvärderas till true , för att uttr läggas till i resultatet. |
maxSize | int |
Gränsen för det maximala antalet element som returneras. Standardvärdet och maxvärdet är 1048576. |
Returnerar
Returnerar en dynamic
JSON-egenskapspåse (ordlista) med uttr värden i poster för vilka predikat utvärderas till true
. Nondictionary-värden hoppas över.
Om en nyckel visas på mer än en rad väljs ett godtyckligt värde, av de möjliga värdena för den här nyckeln.
Not
Den här funktionen utan predikatet liknar make_bag
.
Exempel
I följande exempel visas en packad JSON-egenskapsväska.
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)
utdata
Dict |
---|
{ "prop01": "val_a", "prop03": "val_c" } |
Använd bag_unpack() plugin-program för att omvandla påsnycklarna i utdata från make_bag_if() till kolumner.
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)
utdata
prop01 | prop03 |
---|---|
val_a | val_c |