Aller au contenu

Sert à convertir des tables de données longues et étroites en tables de données courtes et larges. Les colonnes sélectionnées sont transposées, et leurs noms sont convertis en valeurs réparties sur plusieurs colonnes.

L’exemple le plus facile à comprendre est sans doute une table de données dont les mois sont répartis en lignes :

Le pivotement de cette table de données convertit toutes les lignes de mois en colonnes.

long (avant)ProductMonthValueWidgetJan10WidgetFeb20GadgetJan5GadgetFeb8pivotlarge (après)ProductJanFebWidget1020Gadget58
Le pivot transforme le long en large : les valeurs de Month deviennent les colonnes Jan/Feb, l’inverse de Melt.

En indiquant les colonnes à transposer et celles à laisser intactes, cet outil devient très puissant. Réaliser cette conversion dans d’autres outils ETL pourrait nécessiter une douzaine d’étapes de plus.

Source et cible de Table Pivot

Pour définir la source et la cible, sélectionnez d’abord la table de données dans laquelle extraire à l’aide de la liste déroulante.

Table cible

Table cible

Pour définir la table cible, sélectionnez une table existante à l’aide de la liste déroulante Table cible, ou cliquez sur le signe « + » vert pour créer une nouvelle table cible.

Création de table

Lorsque vous créez une nouvelle table, vous pouvez la créer soit comme Vue, soit comme Table.

Vues :

Les vues sont utiles car le temps d’exécution d’une étape est nettement inférieur à celui d’une étape qui utilise une table. L’inconvénient des vues est qu’elles se prêtent moins à l’exploration des données dans le mode Détails de la table.

Tables :

Lorsque la cible est une table, l’exécution d’une étape prend plus de temps, mais l’exploration des données dans le mode Détails est bien plus rapide qu’avec une vue.

La Colonne de catégorie à transformer en en-têtes de colonne est l’endroit où vous indiquez la colonne de la table source qui sera pivotée en lignes. La Colonne de valeur à pivoter en valeurs de colonne est la colonne qui contient les valeurs de la table source. L’Option d’agrégation des valeurs est l’endroit où vous indiquez comment agréger les données.

Les deux colonnes doivent figurer parmi les colonnes de sortie de l’étape dans l’onglet Sélection des données de la table. Sinon, l’enregistrement est refusé, par exemple avec le message The category column ‘month’ isn’t one of the step’s output columns.

Le formulaire comporte aussi les champs suivants :

  • Colonne contenant la position de chaque catégorie (column_order) : une colonne source contenant la position de chaque catégorie. Les colonnes pivotées apparaissent dans l’ordre croissant de cette valeur plutôt que triées par nom. Elle n’est ni utilisée pour le regroupement ni écrite.
  • Modèle de nom des colonnes pivotées (column_name_template) : nomme chaque colonne pivotée d’après ce texte, dans lequel {value} est remplacé par la valeur de la catégorie, par exemple {value}+Sum.

Sélection des données de Table Pivot

L’onglet Sélection des données de la table sert à mapper les colonnes de la table de données source vers la table de données cible. Toutes les colonnes source, à gauche de la fenêtre, sont automatiquement mappées vers la table de données cible représentée à droite. Le bouton de menu Inspecter la source propose quelques autres façons de mapper les colonnes de la source vers la cible :

  • Renseigner les deux tables de mappage : propage toutes les valeurs de la table de données source vers la table de données cible. C’est le comportement par défaut.
  • Renseigner uniquement la table de mappage source : mappe uniquement toutes les valeurs de la table de données source. C’est utile lorsque vous modifiez un workflow existant dont la structure des colonnes source a changé.
  • Renseigner uniquement la table de mappage cible : propage toutes les valeurs vers la table de données cible uniquement.

En plus de chacune de ces options, chaque choix permet d’afficher un aperçu des données source.

L’enregistrement avec une table source choisie mais sans colonnes source ou sans colonnes cibles remplit le côté vide à partir de la source, comme le ferait Renseigner les deux tables de mappage.

Si les options de colonnes source et cible ne suffisent pas, d’autres colonnes peuvent être ajoutées à la table de données cible de plusieurs façons :

  • Tout propager insère toutes les colonnes source dans la table de données cible, qu’elles y figurent déjà ou non.
  • Propager la sélection insère uniquement la ou les colonnes source sélectionnées.
  • Effectuez un clic droit côté cible et sélectionnez Insérer une ligne pour insérer une ligne immédiatement au-dessus de la ligne actuellement sélectionnée.
  • Effectuez un clic droit côté cible et sélectionnez Ajouter une ligne pour insérer une ligne en bas (à l’extrême droite) de la table de données cible.

Pour supprimer des colonnes de la table de données cible, sélectionnez la ou les colonnes voulues, puis effectuez un clic droit et sélectionnez Supprimer.

Pour réorganiser les colonnes de la table de données cible, sélectionnez la ou les colonnes voulues, puis effectuez un clic droit et sélectionnez Déplacer en haut, Monter, Descendre ou Déplacer en bas.

Pour ne renvoyer que des options distinctes, sélectionnez l’option de menu Distinct. Un ensemble de cases à cocher s’affiche pour chaque colonne de la source. Cochez simplement la case en regard de la colonne correspondante pour ne renvoyer que des résultats distincts.

Pour agréger les résultats, sélectionnez l’option de menu Résumer. Un ensemble de listes déroulantes s’affiche pour chaque colonne de la table de données cible. Les options de synthèse suivantes sont disponibles :

  • Regrouper par (valeur par défaut)
  • Somme
  • Min
  • Max
  • Premier
  • Dernier
  • Nombre
  • Moyenne
  • Médiane
  • Mode
  • Écart type
  • Variance
  • Produit
  • Valeur absolue
  • Quantile
  • Asymétrie
  • Aplatissement
  • Écart absolu moyen
  • Somme cumulée
  • Min cumulé
  • Max cumulé
  • Produit cumulé

Pour offrir un maximum de souplesse, des filtres de données sont disponibles sur les données source et sur les données cible. Pour les jeux de données volumineux, il peut être particulièrement avantageux de filtrer des lignes dès la source afin que les opérations suivantes portent sur un jeu de données plus petit.

Toute expression Python valide est acceptée pour obtenir un sous-ensemble des données. Consultez Expressions

pour plus de détails et d’exemples.

Appliquer un filtre secondaire aux données de résultat

Section intitulée « Appliquer un filtre secondaire aux données de résultat »

Toute expression Python valide est acceptée pour obtenir un sous-ensemble des données. Consultez Expressions pour plus de détails et d’exemples.

Pour limiter les données, cochez simplement la case Appliquer le découpeur de lignes, puis indiquez les éléments suivants :

  • Lignes initiales à ignorer : lignes de données à ignorer (la ligne d’en-tête de colonne n’est pas comptée)
  • Terminer à la ligne : dernière ligne de données à inclure. Ce n’est pas la même chose que de simplement compter des lignes à la fin pour les supprimer