Fonctions d'agrégation

Les fonctions d'agrégation permettent d'effectuer des opérations sur plusieurs valeurs pour obtenir un récapitulatif des résultats.

La liste suivante décrit les règles d'agrégation disponibles pour les colonnes et les colonnes d'indicateur. Cette liste inclut également les fonctions que vous pouvez utiliser en vue de créer des éléments calculés pour les analyses.

  • Valeur par défaut : applique la règle d'agrégation par défaut définie dans le modèle sémantique ou par l'auteur d'origine de l'analyse. Cette option n'est pas disponible pour les éléments calculés dans les analyses.

  • Déterminée par le serveur : applique la règle d'agrégation déterminée par Oracle Analytics (la règle définie dans le modèle sémantique, par exemple). L'agrégation est exécutée dans Oracle Analytics pour les règles simples telles que Somme, Min et Max. Cette option n'est disponible ni pour les colonnes d'indicateur du panneau Mise en page, ni pour les éléments calculés dans les analyses.

  • Somme : calcule la somme obtenue en ajoutant toutes les valeurs de l'ensemble de résultats. Sélectionnez cette option pour les éléments comportant des valeurs numériques.

  • Min : calcule la valeur minimale (la plus petite valeur numérique) des lignes de l'ensemble de résultats. Sélectionnez cette option pour les éléments comportant des valeurs numériques.

  • Max : calcule la valeur maximale (la valeur numérique la plus élevée) des lignes de l'ensemble de résultats. Sélectionnez cette option pour les éléments comportant des valeurs numériques.

  • Moyenne : calcule la valeur moyenne d'un élément de l'ensemble de résultats. Sélectionnez cette option pour les éléments comportant des valeurs numériques. Les moyennes calculées pour les tables et les tableaux croisés dynamiques sont arrondies au nombre entier le plus proche.

  • Premier : dans le cas des indicateurs, sélectionne la première occurrence de l'élément dans l'ensemble de résultats. Dans le cas des éléments calculés, sélectionne le premier membre affiché dans la liste Sélectionné. Cette option n'est pas disponible dans la boîte de dialogue Modifier la formule de colonne.

  • Dernier : sélectionne la dernière occurrence de l'élément dans l'ensemble de résultats. Dans le cas des éléments calculés, sélectionne le dernier membre affiché dans la liste Sélectionné. Cette option n'est pas disponible dans la boîte de dialogue Modifier la formule de colonne.

  • Décompte : calcule le nombre de lignes dans l'ensemble de résultats dont la valeur n'est pas NULL pour l'élément. L'élément est généralement un nom de colonne. Dans ce cas, le nombre de lignes dont la valeur n'est pas NULL pour cette colonne est renvoyé.

  • Décompte des valeurs distinctes : cette option est semblable à la fonction de décompte normal, mais elle traite les valeurs distinctes ; ainsi, chaque occurrence d'une valeur distincte de l'élément n'est comptée qu'une seule fois.

  • Aucune : aucune agrégation n'est appliquée. Cette option n'est pas disponible pour les éléments calculés dans les analyses.

  • Total des rapports (si pertinent) : lorsque cette option n'est pas sélectionnée, indique qu'Oracle Analytics calcule le total en fonction de l'ensemble de résultats complet, avant d'appliquer les filtres aux indicateurs. Cette option n'est disponible ni dans la boîte de dialogue Modifier la formule de colonne, ni pour les éléments calculés dans les analyses. Elle n'est disponible que pour les colonnes d'attribut.

Fonction Exemple Description Syntaxe

AGGREGATE AT

AGGREGATE(sales AT year)

Agrège les colonnes en fonction des niveaux de la hiérarchie du modèle de données que vous indiquez.

  • measure est le nom d'une colonne d'indicateur.
  • level est le niveau auquel vous voulez effectuer l'agrégation.

Vous pouvez éventuellement spécifier plusieurs niveaux. Vous ne pouvez pas indiquer un niveau de dimension contenant des niveaux utilisés comme niveaux pour l'indicateur spécifié dans le premier argument. Par exemple, vous ne pouvez pas écrire la fonction AGGREGATE(yearly_sales AT month) car month appartient à la dimension Temps utilisée en tant que niveau d'indicateur pour yearly_sales.

AGGREGATE(measure AT level [, level1, levelN])

AGGREGATE BY AGGREGATE(sales BY month, region) Agrège un indicateur en fonction de colonnes de dimension.
  • measure est le nom d'une colonne d'indicateur à agréger.

  • column est la colonne de dimension sur laquelle vous voulez effectuer l'agrégation.
Vous pouvez agréger des indicateurs sur la base de plusieurs colonnes.
AGGREGATE(measure BY column [, column1, columnN])

AVG

Avg(Sales)

Calcule la moyenne d'un ensemble numérique de valeurs.

AVG(expr)

AVGDISTINCT

 

Calcule la moyenne de toutes les valeurs distinctes d'une expression.

AVG(DISTINCT expr)

BIN

BIN(revenue BY productid, year WHERE productid > 2 INTO 4 BINS RETURNING RANGE_LOW)

Classe une expression numérique donnée dans un nombre spécifié de buckets de largeur égale. La fonction peut renvoyer soit le numéro de plage, soit l'une des deux adresses de l'intervalle de plage. numeric_expr est l'indicateur ou l'attribut numérique à discrétiser. BY grain_expr1,…, grain_exprN est la liste des expressions définissant la précision de calcul de numeric_expr. BY est obligatoire pour les expressions d'indicateur et facultatif pour les expressions d'attribut. WHERE est un filtre à appliquer à numeric_expr avant d'affecter les valeurs numériques aux plages INTO number_of_bins, BINS est le nombre de plages à renvoyer, BETWEEN min_value AND max_value sont les valeurs minimale et maximale utilisées pour les adresses des plages d'extrémité, RETURNING NUMBER indique que la valeur renvoyée doit être le numéro de la plage (1, 2, 3, 4, etc.). Il s'agit du statut par défaut. RETURNING RANGE_LOW indique la valeur inférieure de l'intervalle de plage RETURNING RANGE_HIGH indique la valeur supérieure de l'intervalle de plage

BIN(numeric_expr [BY grain_expr1, ..., grain_exprN] [WHERE condition] INTO number_of_bins BINS [BETWEEN min_value AND max_value] [RETURNING {NUMBER | RANGE_LOW | RANGE_HIGH}])

BottomN

 

Classe de 1 à n les n valeurs les plus basses de l'argument de l'expression, où 1 correspond à la valeur numérique la plus basse.

expr représente toute expression qui donne une valeur numérique. integer représente tout entier positif. Il s'agit du plus petit nombre de rangs affichés dans l'ensemble de résultats, 1 étant le rang le plus bas.

BottomN(expr, integer)

COUNT

COUNT(Products)

Détermine le nombre d'éléments ayant une valeur non NULL.

COUNT(expr)

COUNTDISTINCT

 

Ajoute un traitement distinct à la fonction COUNT.

expr représente toute expression.

COUNT(DISTINCT expr)

COUNT*

SELECT COUNT(*) FROM Facts

Calcule le nombre de lignes.

COUNT(*)

First

First(Sales)

Sélectionne la première valeur non NULL renvoyée de l'argument d'expression. La fonction First s'applique au niveau le plus détaillé indiqué dans votre dimension définie explicitement.

First([NumericExpression)]

Last

Last(Sales)

Sélectionne la dernière valeur non NULL renvoyée de l'expression.

Last([NumericExpression)]

MAVG

 

Calcule une moyenne mobile des n dernières lignes de données dans l'ensemble de résultats, en comptant la ligne active.

expr représente toute expression qui donne une valeur numérique. integer est un entier positif. Représente la moyenne des n dernières lignes de données.

MAVG(expr, integer)

MAX

MAX(Revenue)

Calcule la valeur maximale (valeur numérique la plus élevée) des lignes répondant à l'argument de l'expression numérique.

MAX(expr)

MEDIAN

MEDIAN(Sales)

Calcule la valeur médiane des lignes répondant à l'argument de l'expression numérique. Si le nombre de lignes est pair, la médiane correspond à la moyenne des deux lignes centrales. Cette fonction renvoie toujours une valeur double.

MEDIAN(expr)

MIN

MIN(Revenue)

Calcule la valeur minimale (valeur numérique la plus faible) des lignes répondant à l'argument de l'expression numérique.

MIN(expr)

NTILE

 

Détermine le rang d'une valeur en matière de plage définie par l'utilisateur. Elle renvoie des entiers pour représenter toute plage de rangs. NTILE avec numTiles=100 renvoie ce qui est généralement appelé le "centile" (avec des nombres de 1 à 100, où 100 représente la valeur la plus élevée du rang).

expr représente toute expression qui donne une valeur numérique. numTiles est un entier positif non NULL qui représente le nombre de mosaïques.

NTILE(expr, numTiles)

PERCENTILE

 

Calcule le rang centile de chacune des valeurs répondant à l'argument de l'expression numérique. Les plages du rang centile sont comprises entre 0 (1er centile) et 1 (100e centile).

expr représente toute expression qui donne une valeur numérique.

PERCENTILE(expr)

RANK

RANK(chronological_key, null, year_key_columns)

Calcule le rang de chaque valeur répondant à l'argument de l'expression numérique. Le rang 1 est attribué au plus grand nombre et chaque rang successif dispose du prochain entier consécutif (2, 3, 4...). Si certaines valeurs sont égales, le même rang leur est attribué (par exemple, 1, 1, 1, 4, 5, 5, 7, etc.).

expr représente toute expression qui donne une valeur numérique.

RANK(expr)

STDDEV

STDDEV(Sales) STDDEV(DISTINCT Sales)

Renvoie l'écart type pour un ensemble de valeurs. Le type de valeur renvoyé est toujours une valeur double.

STDDEV(expr)

STDDEV_POP

STDDEV_POP(Sales) STDDEV_POP(DISTINCT Sales)

Renvoie l'écart type pour un ensemble de valeurs utilisant la formule de calcul pour la variance de la population et l'écart type.

STDDEV_POP([NumericExpression])

SUM

SUM(Revenue)

Calcule la somme de toutes les valeurs répondant à l'argument de l'expression numérique.

SUM(expr)

SUMDISTINCT

 

Calcule la somme de toutes les valeurs distinctes répondant à l'argument de l'expression numérique.

expr représente toute expression qui donne une valeur numérique.

SUM(DISTINCT expr)

TOPN

 

Classe de 1 à n les n valeurs les plus élevées de l'argument de l'expression, où 1 correspond à la valeur numérique la plus élevée.

expr représente toute expression qui donne une valeur numérique. integer est un entier positif. Il s'agit du plus grand nombre de rangs affichés dans l'ensemble de résultats, 1 étant le rang le plus élevé.

TOPN(expr, integer)

Conseils sur l'utilisation des fonctions d'agrégation

Voici quelques conseils pour obtenir les meilleurs résultats lors de l'utilisation des fonctions d'agrégation dans vos classeurs.

Conseils :

  • First, Last. Evitez d'utiliser la première et la dernière agrégations avec un type de graphique à barres empilées 100 %. L'ajout la date en cours à By permet de préciser la requête, laquelle extrait toutes les lignes pour la visualisation, plus la date en cours. La fonction Last renvoie ensuite la dernière ligne dans cet ensemble de résultats, qui varie selon la façon dont les données sont renvoyées à partir de la source.
  • Min. Utilisez Min pour calculer la plus petite valeur dans un ensemble de lignes. Pour trouver la plus petite valeur dans un ensemble de colonnes, utilisez Evaluate. Par exemple :

    evaluate('least(%1,%2,%3)',column date 1,date 2,date 3)