APPROX_QUANTILES |
Quantiles approximatif |
| BigQuery |
Syntaxe
|
APPROX_QUANTILES([DISTINCT] expression, number [{IGNORE|RESPECT} NULLS])
|
Paramètres
| Nom |
Description |
| expression |
Ce paramètre permet de spécifier l'expression ou la colonne contenant les valeurs numériques dont on souhaite calculer les quantiles approximatifs. |
| number |
Ce paramètre permet de définir le nombre de quantiles souhaités (par exemple, 4 pour des quartiles, 100 pour des percentiles). |
| IGNORE NULLS ou RESPECT NULLS |
Ce paramètre permet de préciser si les valeurs NULL doivent être ignorées (IGNORE NULLS) ou prises en compte (RESPECT NULLS) dans le calcul des quantiles. |
| DISTINCT |
Ce paramètre permet de spécifier que seuls les valeurs distinctes de l'expression doivent être prises en compte pour le calcul des quantiles. |
Description
Cette fonction permet de demander les limites approximatives d'un groupe de valeurs d'une représentation d'un nombre de quantiles.
Remarques
- La fonction APPROX_QUANTILES permet de découper un ensemble de données numériques en intervalles égaux selon leur distribution : Par exemple, avec
number = 4, elle calcule les quartiles, c'est-à-dire les limites séparant la population en 4 parties d'effectif approximativement égal. Cela permet une analyse
statistique rapide de la dispersion des valeurs.
- La fonction retourne une liste de valeurs représentant les bornes des quantiles, et non une seule valeur : Par exemple, si on demande 5 quantiles
(number = 5), le résultat sera un tableau contenant 6 éléments : la valeur minimale, les 4 bornes internes, et la valeur maximale. Il est donc souvent nécessaire de
décomposer ce tableau avec UNNEST() ou des sous-requêtes.
- L'approximation utilisée repose sur des algorithmes probabilistes, ce qui permet un gain important en performance sur de grands ensembles : La précision
est suffisante pour les tableaux de bord, les visualisations ou les résumés statistiques, mais elle n'est pas adaptée à des calculs exigeant des valeurs exactes.
- Le paramètre number doit être ≥ 2, car il représente le nombre de tranches souhaitées, ce qui implique au moins une séparation : Une mauvaise valeur (comme
1 ou un nombre négatif) retournera une erreur. Le choix de ce paramètre détermine la finesse de la représentation statistique.
- Le mot-clef optionnel DISTINCT permet de n'utiliser que les valeurs uniques de l'expression dans le calcul des quantiles : Cela peut être utile si les
doublons faussent la représentation, ou si l'on souhaite uniquement analyser la distribution des valeurs différentes (par exemple : gamme de prix uniques, sans
répétition).
- APPROX_QUANTILES peut être combiné avec IGNORE NULLS ou RESPECT NULLS pour contrôler la prise en compte des valeurs absentes : Par défaut, BigQuery
ignore les NULL, mais le choix explicite entre les deux options permet d'adapter le comportement à différents scénarios (ex. : données incomplètes, importance du
zéro,...).
- Cette fonction est souvent utilisée pour construire des boîtes à moustaches (box plots), car elle fournit directement les percentiles nécessaires (exemple : P25,
P50, P75) : Cela facilite la visualisation des tendances centrales et de la dispersion des données, notamment dans les outils de reporting ou d'analyse
graphique.
- Le résultat de la fonction étant un tableau, il faut généralement l'utiliser avec des fonctions comme WITH OFFSET ou ARRAY pour extraire des quantiles
spécifiques : Par exemple, pour obtenir la médiane (le 50e percentile) d'un ensemble, on peut extraire l'élément central du tableau retourné. Cela nécessite
de bien maîtriser les fonctions d'indexation sur les tableaux en SQL.
Dernière mise à jour : Jeudi, le 18 Juin 2020