make_bag_if() (fonction d’agrégation)
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Crée un dynamic
conteneur de propriétés JSON (dictionnaire) de valeurs expr dans les enregistrements pour lesquels le true
prédicat est évalué .
Les valeurs Null sont ignorées et ne sont pas prises en compte dans le calcul.
Syntaxe
make_bag_if(
prédicat expr,
[,
maxSize])
En savoir plus sur les conventions de syntaxe.
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
expr | dynamic |
✔️ | Expression utilisée pour le calcul d’agrégation. |
prédicat | bool |
✔️ | Prédicat qui prend true la valeur , afin que expr soit ajouté au résultat. |
maxSize | int |
Limite du nombre maximal d’éléments retournés. La valeur par défaut et maximale est 1048576. |
Retours
Retourne un dynamic
conteneur de propriétés JSON (dictionnaire) de valeurs expr dans les enregistrements pour lesquels le prédicat est true
évalué à . Les valeurs non-dictionnaire sont ignorées.
Si une clé apparaît dans plusieurs lignes, une valeur arbitraire, hors des valeurs possibles de cette clé, est sélectionnée.
Remarque
Cette fonction sans prédicat est similaire à make_bag
.
Exemple
L’exemple suivant montre un conteneur de propriétés JSON packé.
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)
Sortie
dict |
---|
{ « prop01 » : « val_a », « prop03 » : « val_c » } |
Utilisez le plug-in bag_unpack() pour transformer les clés de conteneur dans la sortie make_bag_if() en colonnes.
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)
Sortie
prop01 | prop03 |
---|---|
val_a | val_c |