Les différentes étapes pour construire le processus ETL générant la dimension Groupe Fonction

Commencez par créer un nouveau projet EasyMorph.

Import des Données

Nous allons utiliser les sources de données suivantes :

  • pesticides_fonctions.csv
  • dim_fonction
Logical Datamap
Logical Datamap spécifiant la transformation des données (cliquez pour aggrandir)

Comment construire la table passerelle ?

L’objectif de la table passerelle est d’associer chaque groupe de fonctions à chacune des fonctions qu’il contient (voir figure ci-dessous).

Associations souhaitées pour la table passerelle
Associations souhaitées pour la table passerelle.

Bien entendu le résultat final devra être composé des clefs comme l’illustre la figure ci-dessous :

Extrait des lignes de la table passerelle
Extrait des lignes de la table passerelle.

Pour aboutir à ce résultat une solution simple (peu efficace, mais l’ensemble de données étant petit c’est acceptable) est d’effectuer le produit cartésien de l’ensemble des groupes de fonctions avec l’ensemble des fonctions et de ne conserver que les lignes pour lesquelles la fonction appartient au groupe fonction.

Processus ETL

Notre processus va se faire en deux étapes :

  1. La première étape aura pour objectif de construire une table de mapping conservant toutes les données nécessaires pour faire le lien entre la dimension Pesticide et la dimension Fonction. Les clefs groupe_fonction_key et fonction_key mais aussi les attributs pour récupérer ces clefs artificielles : code_groupe_fonction, libelle_groupe_fonction.
  2. La seconde étape aura pour objectif d’exporter la table passerelle avec uniquement les données spécifiées dans la logical datamap, c’est à dire les deux clefs groupe_fonction_key et fonction_key.

Construction de la table de mapping

Suivez les étapes suivantes pour générer la dimension mapping_groupe_fonction.csv :

  1. Importez les fichiers pesticides_fonctions.csv et dim_fonction.csv en les glissant-déposant dans la fenêtre principale ou avec Add data > Import file > Import delimited text file dans le bandeau d’outils. Assurez-vous que les paramètres d’import soient bien configurés (détails).
  2. Ajoutez une clef artificielle auto-incrémentée à la table.
  3. Effectuez le produit cartésien de l’ensemble des groupes de fonctions avec l’ensemble des fonctions (détails).
  4. Conservez uniquement les lignes pour lesquelles la fonction appartient au groupe fonction (détails).
  5. Renommez les colonnes pour respecter la terminologie de la logical datamap (détails).
  6. Supprimez les colonnes inutiles (détails).
  7. Réordonnez les colonnes selon le même ordre que la logical datamap. Pour cela allez dans la fenêtre active montrant un extrait des données et déplacez directement les colonnes.
  8. Exportez la table de mapping dans un fichier mapping_groupe_fonction.csv (détails).
Processus de construction de la table de mapping pour la dimension `Groupe Fonction`
Processus de construction de la table de mapping pour la dimension `Groupe Fonction`.

Construction de la table passerelle

Suivez les étapes suivantes pour générer la dimension dim_groupe_fonction :

  1. Importez le fichier mapping_groupe_fonction.csv en le glissant-déposant dans la fenêtre principale ou avec Add data > Import file > Import delimited text file dans le bandeau d’outils. Assurez-vous que les paramètres d’import soient bien configurés (détails).
  2. Supprimez les colonnes qui ne sont pas présentes dans la logical datamap (détails).
  3. Exportez la dimension dans un fichier dim_groupe_fonction.csv (détails).
Processus de construction de la dimension `Groupe Fonction`
Processus de construction de la dimension `Groupe Fonction`.

Exécution du processus

Dans le bandeau d’outils cliquez sur Run project pour exécuter le processus ETL. Vérifiez que le fichier dim_groupe_fonction.csv a bien été généré.

Retour au processus ETL global