Agrégations

Généralités

Les opérations d’agrégation sont disponibles au niveau de chaque étape des DataBlocks (module GenericsData) Logo GenericsData et au niveau des sources des présentations (module HandleData) Logo HandleData.

Une opération d’agrégation effectue le calcul d’une valeur unique à partir d’une collection de valeurs. Par exemple, une opération d’agrégation peut être le calcul de la température quotidienne moyenne à partir des valeurs de température quotidiennes relevées sur un mois.

Principes

Une agrégation est constituée d’une (ou de plusieurs valeurs) définissant le regroupement de l’agrégation.

En option, l’agrégation permet de préciser une ou plusieurs fonctions de calcul qui seront appliquées à chaque niveau de regroupement.

Parmi les fonctions, on retrouve les suivantes :

  • Somme

  • Moyenne

  • Minimum

  • Maximum

  • Médiane

  • Première valeur

  • Dernière valeur

  • …​

Lieu de réalisation des opérations d’agrégation

Les opérations d’agrégation sont disponibles

  • dans le module GenericsData au niveau de la fonction DataBlock lors du paramétrage des étapes (cf. Documentation DataBlocks)

  • dans le module HandleData au niveau des sources des présentations

Accès aux fonctions d’agrégations

Types d’agrégation

4 types d’agrégation sont disponibles

  • Agrégations Simples

  • Agrégations Multidimensionnelles

  • Opérations sur Colonnes

  • Opérations Pivot

Liste des agrégations disponible

Agrégations Simples

L’écran de paramétrage d’une agrégation simple est découpé en 4 zones.

Agrégation simple

1 Choix du type d’agrégations (ici, Simple)

2 Panneau contenant la liste des colonnes disponibles pour le paramétrage de l’agrégation

Information Dans le cas où le nombre de colonnes est important, et afin d’affiner la recherche, une zone de saisie 3 permet de filtrer les colonnes disponibles.

4 Panneau contenant les colonnes définissant les critères de regroupement

  • Le nombre de colonnes n’est pas limité.

  • Les types de colonnes (AlphaNumérique, Numérique et Date) peuvent être mélangés.

5 Panneau contenant les fonctions à appliquer sur le regroupement

  • Attention Noter qu’il est possible de ne pas préciser de fonction dans le panneau 3. Dans ce cas, seul le regroupement sur les critères spécifiés dans le panneau 1 sera exécuté sans aucun calcul de fonction.

  • Le nombre de fonctions n’est pas limité.

  • Attention Les colonnes intégrées dans les fonctions ne peuvent pas être les mêmes que les colonnes utilisées dans le panneau définissant les critères de regroupement 2.

Les fonctions proposées sont dépendantes du type de la colonne sur laquelle la fonction est appliquée (AlphaNumérique, Numérique et Date).

Fonctions disponibles

  • Nombre Total : Nombre total de valeurs pour la colonne. (Attention les valeurs "null" ne sont pas comptabilisées)

  • Nombre (Unique) : Nombre de valeurs distinctes de la colonne. (Attention les valeurs à "null" ne sont pas comptabilisées)

  • Nombre (Unique Approx) : Nombre de valeurs distinctes approximatif. Intéressant dans le cadre du calcul de gros volume car augmente la performance de traitement. Le nombre renvoyé est une valeur approximative du nombre de valeurs distinctes

  • Somme : Somme des valeurs. (Hors valeurs à "null")

  • Moyenne : Moyenne des valeurs. (Hors valeurs à "null")

  • Minimum : Valeur minimum de la colonne. (Hors valeurs à "null")

  • Maximum : Valeur maximum de la colonne. (Hors valeurs à "null")

  • Médiane : Valeur médiane de la colonne. (Hors valeurs à "null")

  • Concaténer : Génère une chaîne de caractère en concaténant l’ensemble des valeurs avec comme séparateur le caractère underscore '_'.

  • Collecter en liste : Liste de toutes les valeurs contenues dans le regroupement. Le résultat est fourni dans une liste de valeurs du type ["VALEUR 1","VALEUR 1","VALEUR 2","VALEUR 1","VALEUR 2","VALEUR 1","VALEUR 2","VALEUR 1"]

  • Collecter en ensemble : Liste des valeurs distinctes contenues dans le regroupement. le résultat est fourni dans une liste de valeurs du type ["VALEUR 1","VALEUR 2"]

  • Écart Type : Donne l’écart type des valeurs. (Hors valeurs à "null")

  • Variance : Donne la variance des valeurs. (Hors valeurs à "null")

6 Panneau de fonction de groupe

  • Les fonctions présentes dans la liste sont des fonctions générales appliquées en dehors de toute colonne. Au niveau de l’agrégation simple, seule la fonction de groupe Nombre Total est disponible. La fonction renvoie le nombre total de lignes (y compris les valeurs nulles) pour chaque regroupement.

  • Exemple des paramétrages d’une agrégation simple et visualisation des résultats.

Exemple d’une agrégation simple

Agrégations Multi-dimensionnelles

Le paramétrage de l’agrégation multi-dimensionnelle est identique à celui de l’agrégation simple (cf. Agrégations Simples).

La différence repose uniquement sur le résultat qui fournit tous les sous-totaux possibles de chaque niveau.

Exemple de paramétrage d’une agrégation multi-dimensionnelle :

Agrégations Multi-dimensionnelles

Donne le résultat suivant

Agrégations Multi-dimensionnelles résultat

Opérations sur les colonnes

Les opérations verticales permettent de réaliser des opérations entre les lignes et suivant des critères de regroupement et de tri.

Ces opérations sont variées et peuvent être multiples et simultanées.

Définition des zones de paramétrage

Opérations sur les colonnes

1 Zone qui contient les groupes d’opérations sur les colonnes paramétrées pour une étape.

L’utilisateur peut définir autant de groupes qu’il le souhaite. Les groupes sont nommés automatiquement du groupe 1 au groupe n. Le bouton Ajouter Groupe permet d’ajouter un groupe. Pour accéder au paramétrage, cliquer sur le libellé du groupe.

1 Zone qui contient les colonnes disponibles pour réaliser le paramétrage.

information Noter que pour affecter les colonnes dans les différentes zones de paramétrage, il faut utiliser le déplacement vers les zones souhaitées par glisser-déposer.

3 Zone qui contient les colonnes utilisées comme critères de regroupement. Le nombre de colonnes dans cette zone n’est pas limité. Tous les types (Numérique, Chaîne de caractères et Date) sont acceptés.

4 Zone permettant de définir les fonctions qui seront appliquées sur les colonnes et pour ce regroupement. Les fonctions proposées peuvent varier en fonction du type de la colonne.

Pour les colonnes de type Numérique :

  • Nombre Total : Nombre total de valeur pour la colonne (Hors valeurs null)

  • Nombre (Unique Approx) : Nombre de valeurs distinctes approximatif. Intéressant dans le cadre du calcul de gros volume car augmente la performance de traitement. Le nombre renvoyé est une valeur approximative du nombre de valeurs distinctes

Attention Noter que cette fonction peut être associée à un paramétrage au niveau de la zone 7 définissant l’intervalle d’application de la fonction.

  • Suivant : La fonction permet de 'récupérer' des valeurs sur les lignes suivant la ligne en cours selon les critères de tri précisés dans la zone 6.

Attention Noter que cette fonction peut être associée à un paramétrage au niveau de la zone 7 définissant l’intervalle d’application de la fonction.

  • Somme : Effectue la somme des valeurs à l’intérieur d’un regroupement et selon les critères de tri précisés dans la zone 6.

  • Moyenne : Effectue la Moyenne des valeurs à l’intérieur d’un regroupement et selon les critères de tri précisés dans la zone 6.

  • Minimum : Valeur Maximum de la colonne à l’intérieur du regroupement (Hors valeurs null).

  • Maximum : Valeur Maximum de la colonne à l’intérieur du regroupement (Hors valeurs null).

  • Médiane : Valeur Médiane de la colonne à l’intérieur du regroupement (Hors valeurs null).

  • Premier/Première Valeur : Première Valeur du regroupement pour cette colonne (Hors valeurs à null) et selon les critères de tri précisés dans la zone 6.

  • Dernier/Dernière Valeur : Dernière Valeur du regroupement pour cette colonne (Hors valeurs à null) et selon les critères de tri précisés dans la zone 6.

  • Collecter en liste : Liste de toutes les valeurs contenues dans le regroupement. Le résultat est fourni dans une liste de valeurs du type ["VALEUR 1","VALEUR 1","VALEUR 2","VALEUR 1","VALEUR 2","VALEUR 1","VALEUR 2","VALEUR 1"].

  • Collecter en ensemble : Liste des valeurs distinctes contenues dans le regroupement. Le résultat est fourni dans une liste de valeurs du type ["VALEUR 1","VALEUR 2"].

  • Écart Type : Donne l’écart type des valeurs. (Hors valeurs à "null")

  • Variance : Donne la variance des valeurs. (Hors valeurs à "null")

Pour les colonnes de type Date :

  • Nombre Total : Nombre total de valeurs pour la colonne (Hors valeurs null).

  • Nombre (Unique Approx) : Nombre de valeurs distinctes approximatif. Intéressant dans le cadre du calcul de gros volume car augmente la performance de traitement. Le nombre renvoyé est une valeur approximative du nombre de valeurs distinctes

  • Précédent : La fonction permet de 'récupérer' des valeurs sur la ligne précédant la ligne en cours et selon les critères de tri précisés dans la zone 6.

Attention A noter que cette fonction peut être associée à un paramétrage au niveau de la zone 7 définissant l’intervalle d’application de la fonction.

  • Suivant : La fonction permet de 'récupérer' des valeurs sur la ligne suivant la ligne en cours selon les critères de tri précisés dans la zone. 6.

Attention A noter que cette fonction peut être associée à un paramétrage au niveau de la zone 7 définissant l’intervalle d’application de la fonction.

  • Minimum : Date Minimum de la colonne à l’intérieur du regroupement (Hors valeurs à null).

  • Maximum : Date Maximum de la colonne à l’intérieur du regroupement (Hors valeurs à null).

  • Premier/Première Valeur : Première Date du regroupement pour cette colonne (Hors valeurs à null) et selon les critères de tri précisés dans la zone 6.

  • Dernier/Dernière Valeur : Dernière Date du regroupement pour cette colonne (Hors valeurs à null) et selon les critères de tri précisés dans la zone 6.

  • Collecter en liste : Liste de toutes les valeurs contenues dans le regroupement. Le résultat est fourni dans une liste de valeurs du type ["VALEUR 1","VALEUR 1","VALEUR 2","VALEUR 1","VALEUR 2","VALEUR 1","VALEUR 2","VALEUR 1"].

  • Collecter en ensemble : Liste des valeurs distinctes contenues dans le regroupement. Le résultat est fourni dans une liste de valeurs du type ["VALEUR 1","VALEUR 2"].

Pour les colonnes de type Chaîne de caractères :

  • Nombre Total : Nombre total de valeur pour la colonne (Hors valeurs null).

  • Nombre (Unique Approx) : Nombre de valeurs distinctes approximatif. Intéressant dans le cadre du calcul de gros volume car augmente la performance de traitement. Le nombre renvoyé est une valeur approximative du nombre de valeurs distinctes

  • Précédent : La fonction permet de 'récupérer' des valeurs sur la ligne précédente de la ligne en cours et selon les critères de tri précisés dans la zone 6.

Attention Noter que cette fonction peut être associée à un paramétrage au niveau de la zone 7 définissant l’intervalle d’application de la fonction.

  • Suivant : La fonction permet de 'récupérer' des valeurs sur la ligne suivant la ligne en cours selon les critères de tri précisés dans la zone. 6.

Attention Noter que cette fonction peut être associée à un paramétrage au niveau de la zone 7 définissant l’intervalle d’application de la fonction.

  • Premier/Première Valeur : Première valeur du regroupement pour cette colonne (Hors valeurs à null) et selon les critères de tri précisés dans la zone 6.

  • Dernier/Dernière Valeur : Dernière valeur du regroupement pour cette colonne (Hors valeurs à null) et selon les critères de tri précisés dans la zone 6.

  • Concaténer : Génère une chaîne de caractère en concaténant l’ensemble des valeurs avec comme séparateur le caractère underscore '_'.

  • Collecter en liste : Liste de toutes les valeurs contenues dans le regroupement. Le résultat est fourni dans une liste de valeurs du type ["VALEUR 1","VALEUR 1","VALEUR 2","VALEUR 1","VALEUR 2","VALEUR 1","VALEUR 2","VALEUR 1"].

  • Collecter en ensemble : Liste des valeurs distinctes contenues dans le regroupement. Le résultat est fourni dans une liste de valeurs du type ["VALEUR 1","VALEUR 2"].

5 Fonctions Groupe génériques.

Zone qui contient des fonctions génériques qui ne dépendent pas du contenu des colonnes. Les fonctions de groupe 5 s’appliquent sur le regroupement.

  • Nombre total de lignes : renvoie le nombre de lignes total dans le groupe.

  • CUME_DIST Calcule la distribution cumulative d’une valeur dans un groupe de valeurs. Autrement dit, CUME_DIST calcule la position relative d’une valeur spécifiée dans un groupe de valeurs. En supposant un ordre croissant, le CUME_DIST d’une valeur à la ligne r correspond au nombre de lignes avec des valeurs inférieures ou égales à la valeur de la ligne r, divisé par le nombre de lignes évaluées dans la partition ou le jeu de résultats de la requête.

CUME_DIST retourne une plage de valeurs supérieures à 0, et inférieures ou égales à 1. Les valeurs égales sont toujours évaluées à la même valeur de distribution cumulative. CUME_DIST inclut les valeurs NULL par défaut et les traite comme les valeurs les plus basses possibles.

  • ROW_NUMBER Affecte un numéro d’ordre à l’intérieur du regroupement en respectant l’ordre de tri précisé dans la zone.

  • RANK Affecte un numéro d’ordre, mais ne prendra pas en compte la notion de doublon. La fonction Rank va donc 'sauter' les numéros s’il y a des doublons assignés au même rang.

  • DENSE_RANK Affecte un numéro d’ordre et va prendre en compte la notion de doublon. Contrairement à la fonction RANK, la fonction DENSE_RANK va affecter le numéro suivant dans une séquence.

Exemple :

Colonne 1 Colonne 2 RANK DENSE-RANK ROW-NUMBER

A

10

1

1

1

A

10

1

1

2

A

20

1

2

3

  • PERCENT_RANK Calcule le rang relatif d’une ligne dans un groupe de lignes. Permet d’évaluer la position relative d’une valeur dans une partition ou un jeu de résultats de requête. La plage de valeurs retournée par PERCENT_RANK est supérieure à 0 et inférieure ou égale à 1. La première ligne dans un ensemble a une valeur PERCENT_RANK de 0. Les valeurs NULL sont incluses par défaut et sont traitées comme les valeurs les plus basses possibles.

  • NTILE Distribue les lignes d’une partition triée dans un nombre spécifié de groupes. Les groupes sont numérotés à partir de 1. Pour chaque ligne, NTILE retourne le numéro du groupe auquel la ligne appartient. Si le nombre de lignes d’une partition n’est pas divisible par un integer, vous obtiendrez des groupes de deux tailles différentes qui diffèrent d’un membre. Les groupes plus grands viennent avant les groupes plus petits dans l’ordre spécifié par la clause OVER. Par exemple, si le nombre total de lignes est égal à 53 et qu’il existe 5 groupes, les trois premiers groupes contiendront 11 lignes et les deux derniers, 10 lignes. En revanche, si le nombre total de lignes est divisible par le nombre de groupes, les lignes seront réparties équitablement entre les différents groupes. Par exemple, si le nombre total de lignes est égal à 50 et qu’il existe 5 groupes, chaque groupe contiendra 10 lignes.

6 Définition des axes de tri Zone qui permet de définir les critères de tri qui sont utilisés à l’intérieur du regroupement. Pour chaque colonne, il est possible de préciser le sens du tri Ascendant ou Descendant.

7 Zone de paramétrage de calcul de la fonction : le paramétrage de cette zone est incompatible avec les fonctions Précédent et Suivant de la zone 4.

Cas particuliers

Cas particulier 1 : Colonne de type Date au niveau des critères de regroupement.

Si des colonnes de type Date sont positionnées dans le panneau Colonnes de regroupement, des zones de paramétrage supplémentaires sont disponibles.

Ces zones vont permettre de définir des intervalles de regroupement ainsi qu’un paramètre de glissement dans cet intervalle.

Exemple d’un paramétrage avec un intervalle de 3 jours :

exemple d’agrégation

Ce paramétrage génère un regroupement sur des intervalles consécutifs de 3 jours :

Illustration d’agrégation

Si on rajoute une période de glissement, l’agrégation génère plus d’intervalles :

exemple d’agrégation avec glissement

Attention, la période de glissement doit être inférieur ou égal à la grandeur de l’intervalle :

Illustration d’agrégation avec glissement

Cas particulier 2 : Colonne de type Date et Numérique au niveau des fonctions appliquées aux colonnes.

Au niveau des fonctions Précédent et Suivant appliquées aux colonnes et pour les colonnes de type Date et Numérique deux paramètres peuvent être affectés.

1 Offset : Ce paramètre est obligatoire. Il permet de définir le pas de récupération de la valeur suivante ou précédente récupérée.

1 Valeur par défaut : En cas de valeur "Null", la valeur par défaut sera affectée.

Offset.png

Cas particulier 3 : Opérations forward filling et backward filling (data filling)

Les opérations sur colonnes peuvent répondre aux besoins des opérations de data filling pour remplir automatiquement les valeurs nulles non désirées.

Vue tableau avec Forward et Backward filling

1 Valeur par défaut

2 Forward fill : Les valeurs nulles sont automatiquement remplies à l’identique de la valeur du champ précédent la valeur nulle

3 Backward filling : Les valeurs nulles sont automatiquement remplies par la valeur du champ suivant la valeur nulle

Paramétrage

Depuis une étape de DataBlock, ouvrir le menu 1 et cliquer sur l’icône "Partition/Agréation/Pivot/" 2.

Sélection d’une opération de type partition/agrégation/pivot

Depuis la fenêtre "Agrégations et Pivot", sélectionner "Opération sur colonne" dans le menu de gauche puis cliquer sur le bouton "Ajouter un Groupe".

Opération sur colonne de type Forward filling :

Paramétrage du Forward filling

1 Ajouter la colonne contenant les valeurs manquantes, option "Première valeur" et "Ignorer les valeurs nulles" OUI

2 Ajouter la colonne contenant les valeurs qui définissent l’ordre de lecture

3 Ajouter les paramètres "Depuis la dernière valeur non nulle" et "Jusqu’à la ligne en cours"

Opération sur colonne de type Backward filling

Paramétrage du Backward filling

1 Ajouter la colonne contenant les valeurs manquantes, option "Première valeur" et "Ignorer les valeurs null" OUI

2 Ajouter la colonne contenant les valeurs qui définissent l’ordre

3 Ajouter les paramètres "Depuis la ligne en cours" "Jusqu’à la prochaine valeur non nulle"

Exemple

Regroupement de la Colonne 1 et la Colonne 2

Tri sur la colonne Date

Fonction Suivant sur Colonne Date avec Offset : 1

Colonne 1 Colonne 2 Date Suivant

A

10

12/01/2019

13/01/2019

A

10

13/01/2019

24/01/2019

A

10

24/01/2019

27/01/2019

A

10

27/01/2019

null

A

11

13/01/2019

20/01/2019

A

11

20/01/2019

22/01/2019

A

11

22/01/2019

null

Exemple :

Regroupement de la Colonne 1 et la Colonne 2

Tri sur Colonne Date

Fonction Suivant appliquée sur la colonne Date - Offset : 2

Colonne 1 Colonne 2 Date Suivant

A

10

12/01/2019

24/01/2019

A

10

13/01/2019

27/01/2019

A

10

24/01/2019

null

A

10

27/01/2019

null

A

11

13/01/2019

22/01/2019

A

11

20/01/2019

null

A

11

22/01/2019

null