Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přepněte služby pomocí rozevíracího seznamu Verze . Přečtěte si další informace o navigaci.
Platí pro: ✅ Microsoft Fabric ✅ Azure Data Explorer ✅ Azure Monitor ✅ Microsoft Sentinel
Funkce percentile() vypočítá odhad zadaného percentilu nejbližšího pořadí základního souboru definovaného výrazem.
Přesnost závisí na hustotě populace v oblasti percentilu.
percentiles() funguje podobně percentile()jako .
percentiles() Lze však vypočítat více hodnot percentilu najednou, což je efektivnější než výpočet jednotlivých hodnot percentilu samostatně.
Pokud chcete vypočítat vážené percentily, podívejte se na percentilsw().
Note
Tato funkce se používá ve spojení s operátorem sumarizace.
Syntax
percentile(
Výraz,Percentil)
percentiles(
Výraz,percentily)
Přečtěte si další informace o konvencích syntaxe.
Parameters
| Name | Typ | Required | Description |
|---|---|---|---|
| expr | string |
✔️ | Výraz, který se má použít pro výpočet agregace. |
| percentile | real | ✔️ | Konstanta, která určuje percentil. |
| percentiles | real | ✔️ | Jeden nebo více percentilů oddělených čárkami. |
Returns
Vrátí tabulku s odhady výrazu zadaných percentilů ve skupině, z nichž každý je v samostatném sloupci.
Note
Pokud chcete vrátit percentily v jednom sloupci, podívejte se na návratové percentily jako pole.
Examples
Příklady v této části ukazují, jak používat syntaxi, která vám pomůže začít.
Příklady v tomto článku používají veřejně dostupné tabulky v clusteru nápovědy, jako je
StormEventstabulka v databázi Ukázky.
Příklady v tomto článku používají veřejně dostupné tabulky, například
Weathertabulku v galerii ukázek analýzy počasí. Možná budete muset změnit název tabulky v ukázkovém dotazu tak, aby odpovídal tabulce v pracovním prostoru.
Výpočet jednoho percentilu
Následující příklad ukazuje hodnotu DamageProperty větší než 95 % ukázkové sady a menší než 5 % ukázkové sady.
StormEvents | summarize percentile(DamageProperty, 95) by State
Output
Zobrazená tabulka výsledků obsahuje pouze prvních 10 řádků.
| State | percentile_DamageProperty_95 |
|---|---|
| ATLANTICKÝ JIH | 0 |
| FLORIDA | 40000 |
| GEORGIA | 143333 |
| MISSISSIPPI | 80000 |
| AMERICKÁ SAMOA | 250000 |
| KENTUCKY | 35000 |
| OHIO | 150000 |
| KANSAS | 51392 |
| MICHIGAN | 49167 |
| ALABAMA | 50000 |
Výpočet více percentilů
Následující příklad ukazuje hodnotu DamageProperty souběžného výpočtu pomocí 5, 50 (medián) a 95.
StormEvents | summarize percentiles(DamageProperty, 5, 50, 95) by State
Output
Zobrazená tabulka výsledků obsahuje pouze prvních 10 řádků.
| State | percentile_DamageProperty_5 | percentile_DamageProperty_50 | percentile_DamageProperty_95 |
|---|---|---|---|
| ATLANTICKÝ JIH | 0 | 0 | 0 |
| FLORIDA | 0 | 0 | 40000 |
| GEORGIA | 0 | 0 | 143333 |
| MISSISSIPPI | 0 | 0 | 80000 |
| AMERICKÁ SAMOA | 0 | 0 | 250000 |
| KENTUCKY | 0 | 0 | 35000 |
| OHIO | 0 | 2000 | 150000 |
| KANSAS | 0 | 0 | 51392 |
| MICHIGAN | 0 | 0 | 49167 |
| ALABAMA | 0 | 0 | 50000 |
| ... | ... |
Vrácení percentilů jako pole
Místo vrácení hodnot v jednotlivých sloupcích použijte percentiles_array() funkci k vrácení percentilů v jednom sloupci dynamického typu pole.
Syntax
percentiles_array(
Výraz,percentily)
Parameters
| Name | Typ | Required | Description |
|---|---|---|---|
| expr | string |
✔️ | Výraz, který se má použít pro výpočet agregace. |
| percentiles | real or dynamic | ✔️ | Jeden nebo více percentilů oddělených čárkami nebo dynamické pole percentilů. Každý percentil musí být skutečná hodnota. |
Returns
Vrátí odhad výrazu zadaných percentilů ve skupině jako jeden sloupec dynamického typu pole.
Examples
Percentily oddělené čárkami
Více percentilů lze získat jako pole v jednom dynamickém sloupci, nikoli ve více sloupcích jako u percentilů().
TransformedSensorsData
| summarize percentiles_array(Value, 5, 25, 50, 75, 95), avg(Value) by SensorName
Output
Tabulka výsledků zobrazuje pouze prvních 10 řádků.
| 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 |
| ... | ... | ... |
Dynamické pole percentilů
Percentily pro percentiles_array lze zadat v dynamické matici celých čísel nebo čísel s plovoucí desetinou čárkou. Pole musí být konstantní, ale nemusí být literál.
TransformedSensorsData
| summarize percentiles_array(Value, dynamic([5, 25, 50, 75, 95])), avg(Value) by SensorName
Output
Tabulka výsledků zobrazuje pouze prvních 10 řádků.
| 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 percentil
P-th percentil (0 <P<= 100) seznamu seřazených hodnot seřazených ve vzestupném pořadí je nejmenší hodnotou v seznamu. Procento P dat je menší nebo rovno hodnotě P-th percentilu (z článku wikipedie o percentilech).
Definujte 0-tý percentil jako nejmenší člen základního souboru.
Note
Vzhledem k povaze výpočtu nemusí být skutečná vrácená hodnota členem základního souboru. Definice nejbližšího pořadí znamená, že P=50 neodpovídá interpolační definici mediánu. Při vyhodnocování významu této nesrovnalosti pro konkrétní aplikaci je třeba vzít v úvahu velikost základního souboru a odhad chyby .
Odhad chyby v percentilech
Agregace percentilů poskytuje přibližnou hodnotu pomocí funkce T-Digest.
Note
- Hranice chyby odhadu se liší s hodnotou požadovaného percentilu. Nejlepší přesnost je na obou koncích měřítka [0..100]. Percentily 0 a 100 jsou přesné minimální a maximální hodnoty rozdělení. Přesnost se postupně snižuje směrem ke středu měřítka. Je to nejhorší v mediánu a je omezený na 1 %.
- V pořadí se pozorují chybové meze, ne na hodnotě. Předpokládejme, že percentil(X; 50) vrátil hodnotu Xm. Odhad zaručuje, že alespoň 49 % a maximálně 51 % hodnot X je menší nebo rovno Xm. Neexistuje žádný teoretický limit rozdílu mezi Xm a skutečnou mediánnou hodnotou X.
- Odhad může někdy vést k přesné hodnotě, ale neexistují žádné spolehlivé podmínky, které by bylo možné definovat, kdy bude případ.