Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
A precisão depende da densidade da população na região do percentil.
percentiles() funciona de forma semelhante a percentile(). No entanto, percentiles() pode calcular vários valores de percentil de uma só vez, o que é mais eficiente do que calcular cada valor de percentil separadamente.
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 | Tipo | Required | Description |
|---|---|---|---|
| expr | string |
✔️ | A expressão a ser usada para o cálculo de agregação. |
| percentile | real | ✔️ | Uma constante que especifica o percentil. |
| percentiles | real | ✔️ | Um ou mais percentis separados por vírgula. |
Returns
Returns a table with the estimates for expr of the specified percentiles in the group, each in a separate column.
Note
Para retornar os percentis em uma única coluna, consulte Retornar percentis como uma matriz.
Examples
Os exemplos nesta seção mostram como usar a sintaxe para ajudá-lo a começar.
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. Talvez seja necessário modificar o nome da tabela na consulta de exemplo para corresponder à tabela em seu workspace.
Calcular percentil único
O exemplo a seguir mostra o valor de DamageProperty ser maior que 95% do conjunto de amostras e menor que 5% do conjunto de amostras.
StormEvents | summarize percentile(DamageProperty, 95) by State
Output
A tabela de resultados mostrada inclui apenas as primeiras 10 linhas.
| 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 |
Calcular vários percentis
O exemplo a seguir mostra o valor de DamageProperty calculado simultaneamente usando 5, 50 (mediana) e 95.
StormEvents | summarize percentiles(DamageProperty, 5, 50, 95) by State
Output
A tabela de resultados mostrada inclui apenas as primeiras 10 linhas.
| 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 |
| ... | ... |
Retornar percentis como uma matriz
Em vez de retornar os valores em colunas individuais, use a percentiles_array() função para retornar os percentis em uma única coluna do tipo matriz dinâmica.
Syntax
percentiles_array(
expr,percentiles)
Parameters
| Name | Tipo | Required | Description |
|---|---|---|---|
| expr | string |
✔️ | A expressão a ser usada para o cálculo de agregação. |
| percentiles | real ou dinâmico | ✔️ | Um ou mais percentis separados por vírgula ou uma matriz dinâmica de percentis. Cada percentil deve ser um 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
A tabela de resultados exibe apenas as primeiras 10 linhas.
| 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 percentis
Os percentis para percentiles_array podem ser especificados em uma matriz dinâmica de números inteiros ou de ponto flutuante. A matriz deve ser constante, mas não precisa ser literal.
TransformedSensorsData
| summarize percentiles_array(Value, dynamic([5, 25, 50, 75, 95])), avg(Value) by SensorName
Output
A tabela de resultados exibe apenas as primeiras 10 linhas.
| 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 a natureza aproximada do cálculo, o valor real retornado pode não ser um membro da população. 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.
Erro de estimativa em percentuais
The percentiles aggregate provides an approximate value using T-Digest.
Note
- Os limites no erro de estimativa variam de acordo percentil solicitado. A melhor precisão está em ambas as extremidades da escala [0..100]. Os percentis 0 e 100 são os valores mínimos e máximos exatos da distribuição. A precisão diminui gradativamente rumo à parte central da escala. É pior na mediana e é limitado a 1%.
- Os limites de erro são observados na classificação, não no valor. Suponha que o percentil (X, 50) retornou um valor de Xm. A estimativa garante que pelo menos 49% e no máximo 51% dos valores de X são menores ou iguais a Xm. Não há limite teórico para a diferença entre Xm e o valor mediano real de X.
- A estimativa às vezes pode resultar em um valor preciso, mas não há condições confiáveis para definir quando será o caso.