dcount() (fonction d’agrégation)
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Calcule une estimation du nombre de valeurs distinctes prises par une expression scalaire dans le groupe de synthèse.
Les valeurs Null sont ignorées et ne sont pas prises en compte dans le calcul.
Remarque
La fonction d’agrégation dcount()
est principalement utile pour estimer la cardinalité des jeux énormes. Il échange la précision des performances et peut retourner un résultat qui varie entre les exécutions. L’ordre des entrées peut avoir une incidence sur sa sortie.
Syntaxe
dcount
(
expr[,
précision])
En savoir plus sur les conventions de syntaxe.
Paramètres
Nom | Type | Requise | Description |
---|---|---|---|
expr | string |
✔️ | Entrée dont les valeurs distinctes doivent être comptées. |
exactitude | int |
Valeur qui définit la précision d’estimation demandé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 dans le groupe.
Exemple
Cet exemple montre le nombre de types d’événements storm qui se sont produits dans chaque état.
StormEvents
| summarize DifferentEvents=dcount(EventType) by State
| order by DifferentEvents
Le tableau des résultats indiqué inclut uniquement les 10 premières lignes.
État | DifferentEvents |
---|---|
TEXAS | 27 |
CALIFORNIE | 26 |
PENNSYLVANIA | 25 |
GEORGIE | 24 |
ILLINOIS | 23 |
MARYLAND | 23 |
CAROLINE DU NORD | 23 |
MICHIGAN | 22 |
FLORIDE | 22 |
OREGON | 21 |
KANSAS | 21 |
... | ... |
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 :