Compartir a través de


dcountif() (función de agregación)

Se aplica a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Calcula el número de valores distintos de expr para las filas en las que el predicado se evalúa como true.

Los valores NULL se omiten y no tienen en cuenta el cálculo.

Nota:

Esta función se usa junto con el operador summarize.

Sintaxis

dcountif(expr, predicado, [, precisión])

Obtenga más información sobre las convenciones de sintaxis.

Parámetros

Nombre Type Obligatorio Descripción
expr string ✔️ Expresión usada para el cálculo de agregación.
predicado string ✔️ Expresión que se usa para filtrar filas.
exactitud int Control entre velocidad y precisión. Si no se especifica, se usa el valor predeterminado 1. Consulte Precisión de estimación para conocer los valores admitidos.

Devoluciones

Devuelve una estimación del número de valores distintos de expr para las filas en las que el predicado se evalúa como true.

Sugerencia

dcountif() puede devolver un error en los casos en los que todas o ninguna de las filas pasan la Predicate expresión.

Ejemplo

En este ejemplo se muestra cuántos tipos de eventos de tormenta irrecuperables se produjeron en cada estado.

StormEvents
| summarize DifferentFatalEvents=dcountif(EventType,(DeathsDirect + DeathsIndirect)>0) by State
| where DifferentFatalEvents > 0
| order by DifferentFatalEvents 

La tabla de resultados que se muestra incluye solo las primeras 10 filas.

Valor DifferentFatalEvents
CALIFORNIA 12
TEXAS 12
OKLAHOMA 10
ILLINOIS 9
KANSAS 9
NUEVA YORK 9
NEW JERSEY 7
WASHINGTON 7
MÍCHIGAN 7
MISURI 7
... ...

Precisión de la estimación

Esta función usa una variante del algoritmo HyperLogLog (HLL), que realiza una estimación estocástica de la cardinalidad establecida. El algoritmo proporciona una "manija" que se puede usar para equilibrar la precisión y el tiempo de ejecución por tamaño de memoria:

Precisión Error (%) Recuento de entradas
0 1.6 212
1 0.8 214
2 0,4 216
3 0,28 217
4 0,2 218

Nota:

La columna "recuento de entradas" es el número de contadores de 1 byte en la implementación HLL.

El algoritmo incluye algunas disposiciones para realizar un recuento perfecto (cero errores), si la cardinalidad del conjunto es lo suficientemente pequeña:

  • Cuando el nivel de precisión es 1, se devuelven 1000 valores.
  • Cuando el nivel de precisión es 2, se devuelven 8000 valores.

El límite de errores es probabilístico, no un enlace teórico. El valor es la desviación estándar de la distribución de errores (sigma) y el 99,7 % de las estimaciones tendrá un error relativo de menos de 3 x sigma.

En la imagen siguiente se muestra la función de distribución de probabilidad del error de estimación relativa, en porcentajes, para todas las configuraciones de precisión compatibles:

Gráfico que muestra la distribución de errores hll.