Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Applies to: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
The percentile() function calculates an estimate for the specified nearest-rank percentile of the population defined by expr.
La precisión depende de la densidad de población en la región del percentil.
percentiles() funciona de forma similar a percentile(). Sin embargo, percentiles() puede calcular varios valores de percentil a la vez, lo que es más eficaz que calcular cada valor de percentil por separado.
To calculate weighted percentiles, see percentilesw().
Note
This function is used in conjunction with the summarize operator.
Syntax
percentile(
expr,percentile)
percentiles(
expr,percentiles)
Learn more about syntax conventions.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| expr | string |
✔️ | Expresión que se va a usar para el cálculo de agregaciones. |
| percentile | real | ✔️ | Constante que especifica el percentil. |
| percentiles | real | ✔️ | Percentiles separados por comas o más. |
Returns
Returns a table with the estimates for expr of the specified percentiles in the group, each in a separate column.
Note
Para devolver los percentiles en una sola columna, vea Devolver percentiles como una matriz.
Examples
Los ejemplos de esta sección muestran cómo usar la sintaxis para ayudarle a empezar.
The examples in this article use publicly available tables in the help cluster, such as the
StormEventstable in the Samples database.
The examples in this article use publicly available tables, such as the
Weathertable in the Weather analytics sample gallery. Es posible que tenga que modificar el nombre de la tabla en la consulta de ejemplo para que coincida con la tabla del área de trabajo.
Cálculo del percentil único
En el ejemplo siguiente se muestra el valor de DamageProperty ser mayor que el 95 % del conjunto de muestras y menor que el 5 % del conjunto de muestras.
StormEvents | summarize percentile(DamageProperty, 95) by State
Output
La tabla de resultados que se muestra incluye solo las primeras 10 filas.
| State | percentile_DamageProperty_95 |
|---|---|
| ATLANTIC SOUTH | 0 |
| FLORIDA | 40000 |
| GEORGIA | 143333 |
| MISSISSIPPI | 80000 |
| AMERICAN SAMOA | 250000 |
| KENTUCKY | 35000 |
| OHIO | 150000 |
| KANSAS | 51392 |
| MICHIGAN | 49167 |
| ALABAMA | 50000 |
Cálculo de varios percentiles
En el ejemplo siguiente se muestra el valor de DamageProperty calculado simultáneamente con 5, 50 (mediana) y 95.
StormEvents | summarize percentiles(DamageProperty, 5, 50, 95) by State
Output
La tabla de resultados que se muestra incluye solo las primeras 10 filas.
| State | percentile_DamageProperty_5 | percentile_DamageProperty_50 | percentile_DamageProperty_95 |
|---|---|---|---|
| ATLANTIC SOUTH | 0 | 0 | 0 |
| FLORIDA | 0 | 0 | 40000 |
| GEORGIA | 0 | 0 | 143333 |
| MISSISSIPPI | 0 | 0 | 80000 |
| AMERICAN SAMOA | 0 | 0 | 250000 |
| KENTUCKY | 0 | 0 | 35000 |
| OHIO | 0 | 2000 | 150000 |
| KANSAS | 0 | 0 | 51392 |
| MICHIGAN | 0 | 0 | 49167 |
| ALABAMA | 0 | 0 | 50000 |
| ... | ... |
Devolver percentiles como una matriz
En lugar de devolver los valores en columnas individuales, use la percentiles_array() función para devolver los percentiles en una sola columna del tipo de matriz dinámica.
Syntax
percentiles_array(
expr,percentiles)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| expr | string |
✔️ | Expresión que se va a usar para el cálculo de agregaciones. |
| percentiles | real o dinámico | ✔️ | Percentiles separados por comas o una matriz dinámica de percentiles. Cada percentil debe ser un valor real. |
Returns
Returns an estimate for expr of the specified percentiles in the group as a single column of dynamic array type.
Examples
Comma-separated percentiles
Multiple percentiles can be obtained as an array in a single dynamic column, instead of in multiple columns as with percentiles().
TransformedSensorsData
| summarize percentiles_array(Value, 5, 25, 50, 75, 95), avg(Value) by SensorName
Output
La tabla de resultados muestra solo las primeras 10 filas.
| SensorName | percentiles_Value | avg_Value |
|---|---|---|
| sensor-82 | ["0.048141473520867069","0.24407515500271132","0.48974511106780577","0.74160998970950343","0.94587903204190071"] | 0.493950914 |
| sensor-130 | ["0.049200214398937764","0.25735850440187535","0.51206374010048239","0.74182335059053839","0.95210342463616771"] | 0.505111463 |
| sensor-56 | ["0.04857779335488676","0.24709868149337144","0.49668762923789589","0.74458470404241883","0.94889104840865857"] | 0.497955018 |
| sensor-24 | ["0.051507199150534679","0.24803904945640423","0.50397070213183581","0.75653888126010793","0.9518782718727431"] | 0.501084379 |
| sensor-47 | ["0.045991246974755672","0.24644331118208851","0.48089197707088743","0.74475142784472248","0.9518322864959039"] | 0.49386228 |
| sensor-135 | ["0.05132897529660399","0.24204987641954018","0.48470113942206461","0.74275730068433621","0.94784079559229406"] | 0.494817619 |
| sensor-74 | ["0.048914714739047828","0.25160926036445724","0.49832498850160978","0.75257887767110776","0.94932261924236094"] | 0.501627252 |
| sensor-173 | ["0.048333149363009836","0.26084250046756496","0.51288012531934613","0.74964772791583412","0.95156058795294"] | 0.505401226 |
| sensor-28 | ["0.048511161184567046","0.2547387968731824","0.50101318228599656","0.75693845702682039","0.95243122486483989"] | 0.502066244 |
| sensor-34 | ["0.049980293859462954","0.25094722564949412","0.50914023067384762","0.75571549713447961","0.95176564809278674"] | 0.504309494 |
| ... | ... | ... |
Matriz dinámica de percentiles
Los percentiles para percentiles_array se pueden especificar en una matriz dinámica de números enteros o de punto flotante. La matriz debe ser constante, pero no tiene que ser literal.
TransformedSensorsData
| summarize percentiles_array(Value, dynamic([5, 25, 50, 75, 95])), avg(Value) by SensorName
Output
La tabla de resultados muestra solo las primeras 10 filas.
| SensorName | percentiles_Value | avg_Value |
|---|---|---|
| sensor-82 | ["0.048141473520867069","0.24407515500271132","0.48974511106780577","0.74160998970950343","0.94587903204190071"] | 0.493950914 |
| sensor-130 | ["0.049200214398937764","0.25735850440187535","0.51206374010048239","0.74182335059053839","0.95210342463616771"] | 0.505111463 |
| sensor-56 | ["0.04857779335488676","0.24709868149337144","0.49668762923789589","0.74458470404241883","0.94889104840865857"] | 0.497955018 |
| sensor-24 | ["0.051507199150534679","0.24803904945640423","0.50397070213183581","0.75653888126010793","0.9518782718727431"] | 0.501084379 |
| sensor-47 | ["0.045991246974755672","0.24644331118208851","0.48089197707088743","0.74475142784472248","0.9518322864959039"] | 0.49386228 |
| sensor-135 | ["0.05132897529660399","0.24204987641954018","0.48470113942206461","0.74275730068433621","0.94784079559229406"] | 0.494817619 |
| sensor-74 | ["0.048914714739047828","0.25160926036445724","0.49832498850160978","0.75257887767110776","0.94932261924236094"] | 0.501627252 |
| sensor-173 | ["0.048333149363009836","0.26084250046756496","0.51288012531934613","0.74964772791583412","0.95156058795294"] | 0.505401226 |
| sensor-28 | ["0.048511161184567046","0.2547387968731824","0.50101318228599656","0.75693845702682039","0.95243122486483989"] | 0.502066244 |
| sensor-34 | ["0.049980293859462954","0.25094722564949412","0.50914023067384762","0.75571549713447961","0.95176564809278674"] | 0.504309494 |
| ... | ... | ... |
Nearest-rank percentile
P-th percentile (0 <P<= 100) of a list of ordered values, sorted in ascending order, is the smallest value in the list. The P percent of the data is less or equal to P-th percentile value (from Wikipedia article on percentiles).
Define 0-th percentiles to be the smallest member of the population.
Note
Dada la naturaleza aproximada del cálculo, es posible que el valor devuelto real no sea miembro de la población. Nearest-rank definition means that P=50 does not conform to the interpolative definition of the median. When evaluating the significance of this discrepancy for the specific application, the size of the population and an estimation error should be taken into account.
Error de estimación en percentiles
The percentiles aggregate provides an approximate value using T-Digest.
Note
- Los límites en el error de estimación varían con el valor del percentil solicitado. La mejor precisión es en ambos extremos de la escala [0..100]. Los percentiles 0 y 100 son los valores mínimos y máximos exactos de la distribución. La precisión se reduce gradualmente hacia el centro de la escala. Es peor en la mediana y se limita al 1 %.
- Los límites de los errores se observan en el rango, no en el valor. Supongamos que percentil(X, 50) devolvió un valor de Xm. La estimación garantiza que al menos el 49 % y al menos el 51 % de los valores de X son menores o iguales que Xm. No hay ningún límite teórico en la diferencia entre Xm y el valor medio real de X.
- La estimación a veces puede dar lugar a un valor preciso, pero no hay condiciones confiables para definir cuándo será el caso.