Fonctions agrégées et pivotement

Les fonctions d'agrégation et le pivotement permettent de regrouper et d'agréger des données dans une table de base de données.

Un exemple simple permet d'expliquer la fonctionnalité de base.

Nous disposons d'une table (non normalisée par souci de simplicité) qui contient les employés d'une entreprise. Chaque employé a un nom, appartient à un service, a un niveau d'expérience et un salaire.

Voyons maintenant comment nous pouvons extraire des informations utiles de cet ensemble de données.

Salaires par employé

Il s'agit de la forme d'information la plus simple. Il suffit d'afficher le nom de l'employé et son salaire. Il n'est pas nécessaire d'utiliser une fonction d'agrégation ou de pivotement.

Table

La Table se compose de deux colonnes, l'une pour le nom et l'autre pour le salaire, toutes deux sans fonction d'agrégation.

Configuration de la colonne Nom

Configuration de la colonne salaire :

Graphique

Configuration du graphique

Configuration de la colonne Valeur du salaire

Résumé des salaires groupés par département

Table

Configuration de la colonne Département :

Les employés sont regroupés par département.

Bien que group figure dans la liste déroulante Aggregate function, il ne s'agit pas vraiment d'une fonction d'agrégation. Les fonctions d'agrégation regroupent des valeurs (somme, compte, moyenne, minimum, maximum) alors que le groupe ne fait que regrouper des lignes.

Configuration de la colonne Salaire :

Étant donné que nous avons déjà regroupé les employés par département, toutes les autres colonnes doivent utiliser une fonction d'agrégation. Dans ce cas, nous voulons résumer les salaires des employés au sein d'un département.

Graphique

Configuration du graphique

Les lignes sont automatiquement regroupées par la colonne sélectionnée comme étiquette de l'axe X.

Configuration de la colonne des valeurs salariales

Salaires moyens regroupés par département

Même configuration que dans l'exemple ci-dessus, sauf que la fonction d'agrégation de la colonne des salaires est définie sur avg au lieu de sum .

Table

Graphique

Nombre d'employés regroupés par département

Même configuration que dans l'exemple ci-dessus, sauf que la fonction d'agrégation de la colonne des salaires est définie sur le nombre au lieu de la somme.

Table

Graphique

Cas particulier (Distinct_count) :

Si l'ensemble de données d'origine comprend plusieurs entrées pour la même personne, cela peut signifier que cette personne a été augmentée.
L'augmentation de salaire est représentée par une nouvelle entrée dans la Table (ce qui permet de garder une trace de l'ancienne information sur le salaire).

Dans la capture d'écran ci-dessous, Hans Muster a été augmenté, son nouveau salaire est donc de (100'000.00).

image-20240729-063722.png

En utilisant les paramètres précédents pour calculer le nombre d'employés regroupés par département, Hans serait compté deux fois.
En changeant la fonction d'agrégation de count(salary) à count(name), on obtiendrait toujours le même résultat erroné, comme le montre la capture d'écran ci-dessous :

Utilisation de count(salary)

image-20240729-082621.png

image-20240729-082947.png

Utilisation de count(name)

image-20240729-083033.png

image-20240729-083145.png

La solution est représentée par la fonction agrégée distinct_count

image-20240729-082405.png

image-20240729-082348.png

Salaire pivoté par niveau, groupé par département

Dans les exemples précédents, nous n'avions toujours qu'une seule série de données (salaire ou nombre d'employés). Il peut également être intéressant de définir les séries de données en fonction des données disponibles.

Dans cet exemple, nous voulons voir les salaires résumés groupés par département. En outre, nous voulons afficher les données séparées par le niveau des employés.

Pour ce faire, nous devons regrouper les employés par département et faire pivoter la table par niveau. Cela donne la Table suivante :

Département

haut

bas

moyen

développement

120'000.00

100'000.00

110'000.00

gestion

180'000.00

0

150'000.00

achats

0

80'000.00

90'000.00

Le widget Table ne prend pas encore en charge le pivotement.

Cette Table peut être visualisée dans un Graphique comme suit :

Configuration du graphique :

La liste des couleurs de pivot est automatiquement générée à l'aide des données existantes à l'intérieur du tableau.

Si une colonne pivot est définie, il n'est possible d'ajouter qu'une seule colonne de valeur.

Configuration de la colonne des valeurs salariales :