Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer
Retourne une estimation du centile spécifié de la population ValueColumn dans une fenêtre de taille BinsPerWindow propagée par BinSize.
Le plug-in est appelé avec l’opérateur evaluate .
Syntaxe
Trolling_percentile(| evaluate ValueColumn, Percentile, IndexColumn, BinSize, BinsPerWindow [, dim1, dim2, ...])
En savoir plus sur les conventions de syntaxe.
Paramètres
| Nom | Type | Requise | Description |
|---|---|---|---|
| T | string |
✔️ | Expression tabulaire d’entrée. |
| ValueColumn | string |
✔️ | Nom de la colonne utilisée pour calculer les centiles. |
| Centile | int, long ou réel | ✔️ | Scalaire avec le centile à calculer. |
| IndexColumn | string |
✔️ | Nom de la colonne sur laquelle exécuter la fenêtre propagée. |
| BinSize | int, long, real, datetime ou timespan | ✔️ | Scalaire avec la taille des bacs à appliquer sur IndexColumn. |
| BinsPerWindow | int |
✔️ | Nombre de bacs inclus dans chaque fenêtre. |
| dim1, dim2, ... | string |
Liste des colonnes de dimensions à découper. |
Retours
Retourne une table avec une ligne par bac (et une combinaison de dimensions si spécifiée) qui a le centile propagé de valeurs dans la fenêtre se terminant par la corbeille (inclusive). Le schéma de table de sortie est le suivant :
| IndexColumn | dim1 | ... | dim_n | rolling_BinsPerWindow_percentile_ValueColumn_Pct |
|---|
Exemples
Valeur médiane de 3 jours propagée par jour
La requête suivante calcule une valeur médiane de 3 jours en granularité quotidienne. Chaque ligne de la sortie représente la valeur médiane des 3 derniers bacs (jours), y compris le bac lui-même.
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)
Sortie
| 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 |
Valeur médiane de 3 jours propagée par jour par dimension
Le même exemple ci-dessus, mais calcule également la fenêtre propagée partitionnée pour chaque valeur de la dimension.
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)
Sortie
| Timestamp | EvenOrOdd | rolling_3_percentile_val_50 |
|---|---|---|
| 2018-01-01 00:00:00.0000000 | Even | 12 |
| 2018-01-02 00:00:00.0000000 | Even | 24 |
| 2018-01-03 00:00:00.0000000 | Even | 36 |
| 2018-01-04 00:00:00.0000000 | Even | 60 |
| 2018-01-05 00:00:00.0000000 | Even | 84 |
| 2018-01-06 00:00:00.0000000 | Even | 108 |
| 2018-01-07 00:00:00.0000000 | Even | 132 |
| 2018-01-08 00:00:00.0000000 | Even | 156 |
| 2018-01-09 00:00:00.0000000 | Even | 180 |
| 2018-01-10 00:00:00.0000000 | Even | 204 |
| 2018-01-01 00:00:00.0000000 | Étrange | 11 |
| 2018-01-02 00:00:00.0000000 | Étrange | 23 |
| 2018-01-03 00:00:00.0000000 | Étrange | 35 |
| 2018-01-04 00:00:00.0000000 | Étrange | 59 |
| 2018-01-05 00:00:00.0000000 | Étrange | 83 |
| 2018-01-06 00:00:00.0000000 | Étrange | 107 |
| 2018-01-07 00:00:00.0000000 | Étrange | 131 |
| 2018-01-08 00:00:00.0000000 | Étrange | 155 |
| 2018-01-09 00:00:00.0000000 | Étrange | 179 |
| 2018-01-10 00:00:00.0000000 | Étrange | 203 |