plug-in rolling_percentile()
Restituisce una stima per il percentile specificato della popolazione ValueColumn in una finestra di dimensioni di BinsPerWindow in sequenza per BinSize.
Il plug-in viene richiamato con l'operatore evaluate
.
Sintassi
T| evaluate
rolling_percentile(
ValueColumn,
Percentile,
IndexColumn,
BinSize,
BinsPerWindow [,
dim1,
dim2,
...] )
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Tipo | Obbligatoria | Descrizione |
---|---|---|---|
T | string |
✔️ | Espressione tabulare di input. |
ValueColumn | string |
✔️ | Nome della colonna usata per calcolare i percentile. |
Percentile | int, long o reale | ✔️ | Scalare con percentile da calcolare. |
IndexColumn | string |
✔️ | Nome della colonna su cui eseguire la finestra di sequenza. |
BinSize | int, long, real, datetime o timepan | ✔️ | Scalare con dimensioni dei bin da applicare su IndexColumn. |
BinsPerWindow | int |
✔️ | Numero di contenitori inclusi in ogni finestra. |
dim1, dim2, ... | string |
Elenco delle colonne delle dimensioni da eseguire per sezione. |
Restituisce
Restituisce una tabella con una riga per ogni bin (e combinazione di dimensioni se specificato) che ha il percentile in sequenza dei valori nella finestra che terminano nel bin (inclusivo). Lo schema della tabella di output è:
IndexColumn | dim1 | ... | dim_n | rolling_BinsPerWindow_percentile_ValueColumn_Pct |
---|
Esempio
Valore mediano di 3 giorni al giorno
La query successiva calcola un valore mediano di 3 giorni nella granularità giornaliera. Ogni riga nell'output rappresenta il valore mediano per gli ultimi 3 bin (giorni), incluso il bin stesso.
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)
Output
Timestamp | 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 |
Valore mediano in sequenza 3 giorni al giorno per dimensione
Stesso esempio da sopra, ma ora calcola anche la finestra in sequenza partizionata per ogni valore della dimensione.
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)
Output
Timestamp | EvenOrOdd | rolling_3_percentile_val_50 |
---|---|---|
2018-01-01 00:00:00.0000000 | Anche | 12 |
2018-01-02 00:00:00.0000000 | Anche | 24 |
2018-01-03 00:00:00.0000000 | Anche | 36 |
2018-01-04 00:00:00.0000000 | Anche | 60 |
2018-01-05 00:00:00.0000000 | Anche | 84 |
2018-01-06 00:00:00.0000000 | Anche | 108 |
2018-01-07 00:00:00.0000000 | Anche | 132 |
2018-01-08 00:00:00.0000000 | Anche | 156 |
2018-01-09 00:00:00.0000000 | Anche | 180 |
2018-01-10 00:00:00.0000000 | Anche | 204 |
2018-01-01 00:00:00.0000000 | Strano | 11 |
2018-01-02 00:00:00.0000000 | Strano | 23 |
2018-01-03 00:00:00.0000000 | Strano | 35 |
2018-01-04 00:00:00.0000000 | Strano | 59 |
2018-01-05 00:00:00.0000000 | Strano | 83 |
2018-01-06 00:00:00.0000000 | Strano | 107 |
2018-01-07 00:00:00.0000000 | Strano | 131 |
2018-01-08 00:00:00.0000000 | Strano | 155 |
2018-01-09 00:00:00.0000000 | Strano | 179 |
2018-01-10 00:00:00.0000000 | Strano | 203 |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per