Fonctions agrégées et pivotement

Les fonctions d'agrégation et le pivotement peuvent être utilisés pour regrouper et agréger les données d'une table de base de données.

Un exemple simple permet d'illustrer au mieux cette fonctionnalité de base.

Nous avons une table (non normalisée pour plus 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é avec son salaire. Cela ne nécessite aucune fonction d'agrégation ni aucun pivotement.

Tableau

Le tableau 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

Salaires résumés regroupés par département

Tableau

Configuration de la colonne « Service » :

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

Bien que le groupe figure dans la liste déroulante des fonctions d'agrégation, il ne s'agit pas réellement d'une fonction d'agrégation. Les fonctions d'agrégation agrègent les valeurs (somme, nombre, moyenne, minimum, maximum), tandis que le groupe se contente de regrouper les lignes.

Configuration de la colonne Salaire :

Comme 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 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 « Valeur du salaire »

Salaires moyens regroupés par service

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 ».

Tableau

Graphique

Nombre d'employés regroupés par service

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

Table

Graphique

Cas particulier (Distinct_count) : 

Si l'ensemble de données d'origine comprenait plusieurs entrées pour la même personne, cela pourrait signifier que cette personne a obtenu une augmentation.
L'augmentation de salaire est représentée par une nouvelle entrée dans le tableau (ce qui permet de conserver les anciennes informations salariales).

Dans la capture d'écran ci-dessous, Hans Muster a obtenu une augmentation, son nouveau salaire est donc de (100 000,00).

image-20240729-063722.png

Si l'on utilise les paramètres précédents pour calculer le nombre d'employés regroupés par service, Hans serait compté deux fois.
Le fait de changer la fonction d'agrégation de count(salary) à count(name) donnerait toujours le même résultat erroné, comme indiqué ci-dessous :

Utilisation de count(salaire)

image-20240729-082621.png

image-20240729-082947.png

En utilisant count(name)

image-20240729-083033.png

image-20240729-083145.png

La solution est représentée par la fonction d'agrégation distinct_count

image-20240729-082405.png

image-20240729-082348.png

Salaire pivoté par niveau, regroupé 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 la série de données en fonction des données disponibles.

Dans cet exemple, nous voulons voir les salaires résumés regroupés par département. De plus, nous voulons afficher les données séparées par niveau d'employé.

Pour ce faire, nous devons regrouper les employés par service et pivoter le tableau par niveau. Cela donne le tableau suivant :

Département

élevé

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 tableau ne prend pas encore en charge le pivotement.

Ce tableau peut être visualisé dans un graphique comme suit :

Configuration du graphique :

La liste des couleurs de pivotement est générée automatiquement à partir des données existantes dans le tableau.

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

Configuration de la colonne de valeurs salariales :