Featured image of post Projet data : les principales transformations des données

Projet data : les principales transformations des données

Dans cet article, je vous présente les principales transformations des données que vous ferez dans un projet data.

Contexte

Lorsque vous traitez les données d’un projet data vous allez faire une succession de transformation pour obtenir votre résultat final.
Par exemple la chaine de traitement dans le cadre d’un projet datawarehouse est la suivante :

Chaine de transformation typique d’un datalakehouse

On retrouve un ensemble de traitement permettant la transformation des données d’une zone à l’autre :

  • Dans la zone bronze, un maelstrom de données brut.
  • Dans la zone silver, des données préparées sous forme de table structurée.
  • Dans la zone gold, des données à forte valeur ajoutée comme par exemple des tables modéliser en étoile pour de reporting avec potentiellement des données pré agrégé.

Mais, quels que soient les outils que vous utiliserez pour votre projet, vous utiliserez presque toujours les mêmes transformations de données.
Je vous propose de passer en revue ces transformations.

Structuration des données

La phase de structuration des données va vous permettre de transformer vos données en données structurées sous forme de table.

La table

La table est la structure de données que vous allez utiliser pour toutes vos transformations de données.
Une table a les caractéristiques suivantes :

  • Les données sont stockées en ligne
  • Chaque colonne d’une table contient des valeurs cohérentes
    • De nature : une colonne contient des données métier de même nature. Par exemple dans une colonne contenant le nom d’une personne on ne met pas sa date de naissance.
    • De type : une colonne ne contient que des valeurs ayant le même type ou pas de valeur. Par exemple une colonne de date ne contient que des dates.
    • De format : une colonne de date ne contient que des dates au même format, par exemple on ne stocke pas le 31 décembre 2022 sous ces 2 formes dans la même colonne :
      • 31/12/2022
      • 2022-12-31

Structure d’une table

Nommage des colonnes

Le nommage des colonnes d’une table est une phase très importante dans un projet BI. En général vous avez des données dont le nom n’est pas adapté à la création d’un modèle métier. La phase de renommage des colonnes d’une table vous permet d’apporter cette cohérence métier.
Prenez grand soin à avoir un nommage cohérent et d’utiliser le bon vocabulaire du modèle métier cible, en effet si votre modèle de données doit être utilisé par des personnes d’un métier parlé leur langage et masquer tous les éléments techniques inutiles.

Typage de données

Le typage des données permet de conserver la cohérence d’une table. Parmi les types de données disponibles dans votre outil, choisissez toujours des types de données vous apportant une forte garantie sur le contenu de la colonne.
Par exemple, si vous stockez vos dates dans une colonne stockant du texte, vous n’aurez pas la garantie d’avoir des dates dedans.
Les principaux types de données que l’on utilise sont :

  • Le texte ou chaine de caractères
  • Les nombres
    • Entier
    • Décimaux
  • Le temps
    • Date
    • Date/Heure
    • Date/Heure/Fuseau horaire
  • Les booléens (vrai/faux)

Attention, chaque type de données a ses propres pièges et on rencontre souvent les mêmes problèmes. Par exemple :

  • Les formats de date ou de nombre décimaux différents entre les systèmes français et américain
  • L’encodage du texte, si les termes ASCII, UTF-8 ou UNICODE ne vous sont pas familiers vous risquez des ennuis lors du traitement de données avec des caractères spéciaux.

Sélection des colonnes

Ne sélectionnez que les colonnes utiles d’un point de vue métier ou technique à votre modèle de données. Il est en général plus simple d’ajouter une nouvelle colonne à un modèle existant pour répondre à un nouveau besoin que de créer un modèle cohérent avec un grand nombre de colonnes inutile.

Préparation des données

Nous allons maintenant passer en revue les principales transformations que vous ferez sur vos données lors d’un projet data.

Filtrage des données

Un filtre permet de sélectionner les lignes que l’on souhaite conserver en fonction de critères prédéfinis.

Exemple d’un filtre

Remplacer des données

Le remplacement de données permet de remplacer une valeur par une autre valeur.

Exemple d’un remplacement

Attention, certains outils sont sensibles à la casse, il différencie minuscules et majuscules. Par exemple, rouge sera différent de Rouge.

Tri des données

Le tri des données permet d’imposer l’ordre des lignes les unes par rapport aux autres. Le tri peut être ascendant ou descendant et peu porter sur plusieurs colonnes afin de forcer le tri des lignes sur des sous-critères.

Exemple de tri

Attention, tant que vous n’avez pas trié vos données ne préjugé pas du tri de celle-ci.

Partitionnement des données

Le partitionnement des données permet de séparer physiquement vos données. On utilise cette technique sur les gros volumes de données en général pour améliorer les performances.

Exemple de partitionnement

Pivoter Dépivoter et Transposer

Ces 3 opérations permettent de faire des transformations sur la structure de la table. Elles sont souvent utilisées pour transformer des données formatées pour la saisie utilisateur dans Excel en données sous la forme d’une table utilisable.

Pivoter

Permets de basculer des valeurs stockées dans les lignes d’une colonne en valeur stockée en colonne. Une opération d’agrégation de données peut aussi être réalisée lors du pivot pour regrouper les valeurs sources identiques en une seule valeur cible.

Exemple de pivot

Dépivoter

Permets de basculer des valeurs stockées dans les noms de colonne d’une table en valeur stockée en ligne. C’est l’opération inverse de pivoter.

Exemple de dépivot

Transposer

Permets de réaliser une rotation à 90° de votre table.
Si vous transposez une table déjà transposée vous retrouvez la table initiale.

Exemple de transpose

Créer des colonnes

  • Par fractionnement, vous divisez une colonne en plusieurs autres colonnes à l’aide d’un séparateur.
  • Par calcul, vous créer une colonne en vous basant sur des informations en provenance d’autres colonnes de la même ligne.
  • Par extraction d’un terme, vous créer une colonne en extrayant un sous-ensemble d’information d’une colonne.

Les jointures

Les jointures sont une transformation de données très puissantes. Elles peuvent avoir plusieurs usages, notamment :

  • L’enrichissement d’une table via une autre table.
  • La suppression de ligne d’une table par une autre table.
  • La création de ligne dans une table.

Jointure externe gauche

La jointure externe gauche permet d’intégrer dans la table de gauche toutes les valeurs de la table de droite correspondant à la relation de jointure.
Avec ce tpe de jointure on à la garantie de conserver TOUTES les lignes de la table de gauche.
Par contre s’il existe plusieurs occurrences d’une même valeur dans la table de droite pour la relation, cela va créer des lignes dans la table de gauche.

Exemple de jointure externe gauche

La valeur null représente par convention une absence de valeur dans la table de droite.

Jointure externe droite

La jointure externe droite permet de filtrer les lignes de table de gauche à l’aide des données de la table de droite.

Exemple de jointure externe droite

Jointure externe entière

La jointure externe entière permet de conserver toutes les lignes des 2 tables.

Exemple de jointure externe entière

Jointure interne

La jointure interne permet de ne conserver que les lignes appartenant aux 2 tables.

Exemple de jointure interne

L’union

L’union permet de cumuler les lignes de 2 tables ou plus en une seule table. Suivant les outils les tables doivent avoir la même structure de colonnes ou non.

Exemple d’union de 2 tables

Le dédoublonnage

Le dédoublonnage est une opération qui permet de supprimer les lignes identiques. On à deux types d’opération de dédoublonnage :

  • Dédoublonage pur pour les lignes complètement identiques.
  • Dédoublonage partiel, sur un critère choisi d’une ou plusieurs colonnes, dans ce cas il faut faire attention à quelle valeur est conservé.

Exemple de dédoublonnage

Agrégation

L’agrégation est une opération qui permet de réduire le nombre de lignes d’une table. On supprime certaines colonnes, et en perdant ce détail, on peut regrouper les lignes en faisant une opération mathématique sur les colonnes numériques, en général une somme.
Les opérations d’agrégations classiques sont :

  • Somme
  • Minimum
  • Maximum
  • Moyenne
  • Écart type
  • Compter le nombre de lignes agrégé

Exemple d’agrégation

L’opération d’agrégation est une opération qui modifie la granularité de la table. La table résultante a un niveau de détail moins important que la table source, on perd donc de l’information.

Merci de votre attention.

comments powered by Disqus
Généré avec Hugo
Thème Stack conçu par Jimmy