dcountif() (fonction d’agrégation)
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Estime le nombre de valeurs distinctes d’expr pour les lignes dans lesquelles le true
prédicat est évalué .
Les valeurs Null sont ignorées et ne sont pas prises en compte dans le calcul.
Syntaxe
dcountif
(
expr, prédicat, [,
précision])
En savoir plus sur les conventions de syntaxe.
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
expr | string |
✔️ | Expression utilisée pour le calcul d’agrégation. |
prédicat | string |
✔️ | Expression utilisée pour filtrer les lignes. |
exactitude | int |
Contrôle entre vitesse et précision. Si la valeur n’est pas spécifiée, la valeur par défaut est 1 . Consultez la précision de l’estimation pour connaître les valeurs prises en charge. |
Retours
Retourne une estimation du nombre de valeurs distinctes d’expr pour les lignes dans lesquelles le true
prédicat prend la valeur .
Conseil
dcountif()
peut retourner une erreur dans les cas où toutes ou aucune des lignes ne passent l’expression Predicate
.
Exemple
Cet exemple montre le nombre de types d’événements de tempête irrécupérables qui se sont produits dans chaque état.
StormEvents
| summarize DifferentFatalEvents=dcountif(EventType,(DeathsDirect + DeathsIndirect)>0) by State
| where DifferentFatalEvents > 0
| order by DifferentFatalEvents
Le tableau des résultats indiqué inclut uniquement les 10 premières lignes.
État | DifferentFatalEvents |
---|---|
CALIFORNIE | 12 |
TEXAS | 12 |
OKLAHOMA | 10 |
ILLINOIS | 9 |
KANSAS | 9 |
NEW YORK | 9 |
NEW JERSEY | 7 |
WASHINGTON | 7 |
MICHIGAN | 7 |
MISSOURI | 7 |
... | ... |
Exactitude d’estimation
Cette fonction utilise une variante de l’algorithme HyperLogLog (HLL), qui effectue une estimation stochastique de la cardinalité définie. L’algorithme fournit un « bouton » qui peut être utilisé pour équilibrer la précision et la durée d’exécution par taille de mémoire :
Précision | Erreur (%) | Nombre d’entrées |
---|---|---|
0 | 1.6 | 212 |
1 | 0,8 | 214 |
2 | 0.4 | 216 |
3 | 0,28 | 217 |
4 | 0.2 | 218 |
Remarque
La colonne « Nombre d’entrées » indique le nombre de compteurs sur 1 octet dans l’implémentation de HLL.
L’algorithme inclut certaines dispositions pour effectuer un décompte parfait (zéro erreur) si la cardinalité définie est suffisamment petite :
- Lorsque le niveau d’exactitude est
1
, 1 000 valeurs sont retournées - Lorsque le niveau d’exactitude est
2
, 8 000 valeurs sont retournées
La limite d’erreur est probabiliste, non théorique. La valeur est l’écart type de distribution des erreurs (sigma), et 99,7 % des estimations auront une erreur relative inférieure à 3 x sigma.
L’illustration suivante montre la fonction de distribution des probabilités de l’erreur d’estimation relative, en pourcentage, pour tous les paramètres d’exactitude pris en charge :