PERCENTILE_CONT |
Continue le percentile |
| Oracle Database SQL |
Oracle 10g Release 2 (10.2) |
Syntaxe
|
PERCENTILE_CONT(expr) WITHIN GROUP
(ORDER BY expr [ DESC | ASC ])
[ OVER (query_partition_clause) ]
|
Paramètres
| Nom |
Description |
| expr |
Ce paramètre permet d'indiquer le percentile à calculer, exprimé comme une valeur décimale comprise entre 0 et 1 (par exemple : 0.5 pour la médiane, 0.9 pour le 90e percentile). |
| ORDER BY expr |
Ce paramètre permet de spécifier la colonne ou l'expression numérique sur laquelle sera basé le calcul du percentile, en définissant l'ordre de tri croissant (ASC) ou décroissant (DESC). |
| query_partition_clause |
Ce paramètre permet de diviser l'ensemble de données en sous-groupes (partitions) indépendants, afin que le calcul du percentile soit effectué séparément dans chaque partition lorsque la fonction est utilisée avec OVER(). |
Description
Cette fonction permet d'estimer une valeur de percentile (par exemple la médiane ou le 90e percentile) de façon continue dans une fenêtre d'analyse. Elle utilise une interpolation linéaire entre les valeurs disponibles si le percentile exact ne correspond pas à une ligne spécifique.
Remarques
- Fonction analytique puissante : La fonction PERCENTILE_CONT est une fonction analytique permettant d'obtenir une estimation précise d'un percentile dans un
ensemble de données ordonné. Contrairement aux percentiles discrets, elle réalise une interpolation linéaire, ce qui permet d'obtenir des valeurs continues même si le
rang du percentile ne correspond pas exactement à une ligne existante.
- Supporte les partitions de données : Grâce au paramètre optionnel OVER (query_partition_clause), cette fonction peut effectuer des calculs de percentile
sur des sous-ensembles spécifiques des données (partitions). Cela permet d'analyser des segments indépendants dans la même requête, par exemple calculer le 90e percentile
des ventes par région.
- Utilisation de l'ordre de tri : Le paramètre WITHIN GROUP (ORDER BY expr) est essentiel car il définit la colonne et l'ordre (ASC ou DESC) selon lesquels
les données sont triées avant le calcul du percentile. Ce tri garantit la cohérence et la précision des résultats.
- Interpolation linéaire précise : Lorsqu'une valeur de percentile ne correspond pas à une rangée spécifique, la fonction effectue une interpolation linéaire
entre les deux valeurs adjacentes. Cela permet de lisser les résultats et d'éviter des discontinuités dans les rapports statistiques.
- Adaptée à divers domaines : Cette fonction est très utile dans les domaines où la distribution continue des données est critique, comme la finance, la
qualité industrielle ou l'analyse démographique, où il est important de connaître non seulement les valeurs discrètes mais aussi des valeurs intermédiaires.
- Gestion des grands ensembles de données : Oracle optimise le calcul de cette fonction pour traiter efficacement des volumes importants de données, ce qui est
crucial pour les analyses de business intelligence ou les rapports décisionnels en temps réel.
- Flexible sur les types de données : PERCENTILE_CONT peut être utilisée sur différentes colonnes numériques, qu'il s'agisse de décimales, entiers ou nombres
à virgule flottante, tant que l'expression est ordonnable.
- Facilite l'analyse comparative : En calculant des percentiles dans plusieurs partitions, cette fonction permet d'identifier des écarts ou des tendances
entre différents groupes, ce qui est précieux pour les analyses de performance ou d'audience.
- Complémentarité avec d'autres fonctions : Elle est souvent utilisée conjointement avec d'autres fonctions analytiques comme RANK, NTILE ou MEDIAN, pour
enrichir les analyses statistiques complexes dans les bases Oracle.
- Paramètre expr précis : Le paramètre expr attend une valeur entre 0 et 1, où 0 correspond au minimum, 0.5 à la médiane et 1 au maximum. Une
mauvaise valeur hors de cette intervalle générera une erreur, ce qui oblige à une validation préalable dans les requêtes.
- Retourne une seule valeur par partition : Pour chaque partition (ou pour l'ensemble si aucune partition n'est définie), la fonction retourne une valeur
unique correspondant au percentile demandé, ce qui simplifie l'agrégation et la visualisation des résultats.
- Utilisation dans les clauses SELECT : Cette fonction est principalement utilisée dans les clauses SELECT pour produire des rapports statistiques, mais
peut aussi s'intégrer dans des vues matérialisées ou des fonctions entreposées afin d'optimiser la réutilisation des calculs dans les applications Oracle.
Dernière mise à jour : Dimanche, le 29 Juin 2025