rolling_percentile() beépülő modul
A ValueColumn-sokaság megadott percentilisére vonatkozó becslést ad vissza egy gördülő (csúszó) BinsPerWindow méretablakban BinSize értékenként.
A beépülő modul meghívása az evaluate
operátorral történik.
Syntax
T| evaluate
rolling_percentile(
ValueColumn,
Percentilis,
IndexColumn,
BinSize,
BinsPerWindow [,
dim1,
dim2,
...] )
További információ a szintaxis konvenciókról.
Paraméterek
Név | Típus | Kötelező | Leírás |
---|---|---|---|
T | string |
✔️ | A bemeneti táblázatos kifejezés. |
ValueColumn | string |
✔️ | A percentilisek kiszámításához használt oszlop neve. |
Percentilis | int, long vagy real | ✔️ | Skaláris a kiszámítandó percentilissel. |
IndexColumn | string |
✔️ | Annak az oszlopnak a neve, amelyen a gördülő ablakot futtatni szeretné. |
BinSize | int, long, real, datetime vagy timespan | ✔️ | Skalár az IndexColumnra alkalmazandó tárolók méretével. |
BinsPerWindow | int |
✔️ | Az egyes ablakokban található rekeszek száma. |
dim1, dim2, ... | string |
A szeletelendő dimenzióoszlopok listája. |
Válaszok
Egy olyan táblát ad vissza, amely minden raktárhelyen egy sort tartalmaz (és ha meg van adva a dimenziók kombinációja), amely az értékek gördülő percentilisével rendelkezik az ablakban, amely a raktárhelyre végződik (a befogadót is beleértve). A kimeneti tábla sémája a következő:
IndexColumn | dim1 | ... | dim_n | rolling_BinsPerWindow_percentile_ValueColumn_Pct |
---|
Példák
Gördülő 3 napos mediánérték naponta
A következő lekérdezés egy 3 napos mediánértéket számít ki a napi részletességben. A kimenet minden sora az utolsó 3 raktárhely (nap) mediánértékét jelöli, beleértve magát a raktárhelyet is.
let T =
range idx from 0 to 24 * 10 - 1 step 1
| project Timestamp = datetime(2018-01-01) + 1h * idx, val=idx + 1
| extend EvenOrOdd = iff(val % 2 == 0, "Even", "Odd");
T
| evaluate rolling_percentile(val, 50, Timestamp, 1d, 3)
Kimenet
Időbélyeg | rolling_3_percentile_val_50 |
---|---|
2018-01-01 00:00:00.0000000 | 12 |
2018-01-02 00:00:00.0000000 | 24 |
2018-01-03 00:00:00.0000000 | 36 |
2018-01-04 00:00:00.0000000 | 60 |
2018-01-05 00:00:00.0000000 | 84 |
2018-01-06 00:00:00.0000000 | 108 |
2018-01-07 00:00:00.0000000 | 132 |
2018-01-08 00:00:00.0000000 | 156 |
2018-01-09 00:00:00.0000000 | 180 |
2018-01-10 00:00:00.0000000 | 204 |
Gördülő 3 napos mediánérték naponta dimenzió szerint
Ugyanez a fenti példa, de most a dimenzió minden értékéhez particionált gördülő ablakot is kiszámítja.
let T =
range idx from 0 to 24 * 10 - 1 step 1
| project Timestamp = datetime(2018-01-01) + 1h * idx, val=idx + 1
| extend EvenOrOdd = iff(val % 2 == 0, "Even", "Odd");
T
| evaluate rolling_percentile(val, 50, Timestamp, 1d, 3, EvenOrOdd)
Kimenet
Időbélyeg | EvenOrOdd | rolling_3_percentile_val_50 |
---|---|---|
2018-01-01 00:00:00.0000000 | Még | 12 |
2018-01-02 00:00:00.0000000 | Még | 24 |
2018-01-03 00:00:00.0000000 | Még | 36 |
2018-01-04 00:00:00.0000000 | Még | 60 |
2018-01-05 00:00:00.0000000 | Még | 84 |
2018-01-06 00:00:00.0000000 | Még | 108 |
2018-01-07 00:00:00.0000000 | Még | 132 |
2018-01-08 00:00:00.0000000 | Még | 156 |
2018-01-09 00:00:00.0000000 | Még | 180 |
2018-01-10 00:00:00.0000000 | Még | 204 |
2018-01-01 00:00:00.0000000 | Furcsa | 11 |
2018-01-02 00:00:00.0000000 | Furcsa | 23 |
2018-01-03 00:00:00.0000000 | Furcsa | 35 |
2018-01-04 00:00:00.0000000 | Furcsa | 59 |
2018-01-05 00:00:00.0000000 | Furcsa | 83 |
2018-01-06 00:00:00.0000000 | Furcsa | 107 |
2018-01-07 00:00:00.0000000 | Furcsa | 131 |
2018-01-08 00:00:00.0000000 | Furcsa | 155 |
2018-01-09 00:00:00.0000000 | Furcsa | 179 |
2018-01-10 00:00:00.0000000 | Furcsa | 203 |
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: