30 Préparez vos données avec Tableau
Il existe différents logiciels permettant de créer des tableaux de bord. J’ai choisi de vous présenter le logiciel Tableau pour sa facilité d’utilisation et le fait qu’il est plébiscité par les entreprises.
Avant de réaliser vos premières visualisations, découvrons ensemble l’interface de Tableau, ainsi que les données sur lesquelles nous allons travailler.
Créez votre première feuille de calcul
Dans Tableau, l’entité de base s’appelle un Classeur (ou Workbook dans la version anglophone du logiciel).
Un workbook contient au moins 2 choses :
- Une source de données
- Une feuille de calcul (Sheet)
La source de données peut se présenter de différentes formes : vos données peuvent provenir d’un fichier, par exemple un fichier CSV, un fichier de tableur Excel (.xls) ou OpenOffice Calc (.ods).
La feuille de calcul sert quant à elle à créer une visualisation à partir des données importées. Vous pouvez créer autant de feuilles que vous souhaitez, car une feuille correspond à une visualisation.
Ensuite, il vous sera possible de créer dans votre classeur deux autres types d’objets :
- Des tableaux de bord,
- Des histoires,
- De nouvelles feuilles de calcul
Pour les créer, cliquez sur ces boutons en bas de la page :
Découvrez les données sources
À l’aide du logiciel Tableau, vous allez maintenant produire un tableau de bord.
Téléchargez les 3 tables achats, clics et impressions.
La table impressions
Chaque ligne correspond à une impression, c’est-à-dire à un affichage d’une publicité sur un site donné, et sur l’écran d’un utilisateur donné.
Il contient 4 colonnes :
- timestamp : c’est une date codée, qui est la date d’affichage de la publicité.
- cookie_id permet d’identifier l’utilisateur qui a vu la publicité, chaque publicité étant liée à une campagne précise.
- campaign_id est l’identifiant de la campagne de marketing.
- external_site_id indique le site sur lequel la publicité s’est affichée.
La table clics
À la suite de l’affichage de ces publicités, certains utilisateurs cliquent dessus. La table clics enregistre la date et l’heure du clic dans timestamp, et l’utilisateur est repéré grâce à cookie_id.
Elle contient 1 775 enregistrements, soit autant de clics.
La table achats
Enfin, la table achats indique chaque achat réalisé par un utilisateur ayant cliqué sur une publicité. On y retrouve le timestamp, l’identifiant utilisateur cookie_id, le produit acheté product_id, son genre gender, son département de résidence dept, le prix d’achat price et son âge.
Importez les données dans Tableau
Créez un classeur
Cliquez sur « Fichier > Nouveau ».
Chaque classeur contient par défaut plusieurs éléments :
- une source de données ,
- une feuille de calcul.
Nous y accédons via les onglets en bas de la fenêtre :
On peut y créer une nouvelle feuille, un tableau de bord ou une histoire. Créons un tableau de bord :
Nous l’utiliserons plus tard.
Importez les données
Pour importer nos 3 tables, on clique sur source de données, puis sur « Ouvrir un fichier texte ». Ouvrez le fichier impressions.csv.
On voit s’afficher sur l’écran central la table impressions :
Mais on voit qu’ici, il y a un problème : toutes les données se sont importées dans une même colonne, ce qui n’est pas normal (en bas de l’écran).
Pour corriger cela, cliquez sur « Propriétés du fichier texte », puis dans « Séparateur de champ », indiquez « Virgule ». En effet, si vous ouvrez le CSV avec un éditeur de texte, vous verrez que les valeurs sont séparées par les virgules.
Voici le résultat :
Réalisez les fusions nécessaires
Ajoutez de même la table clics. S’il y a encore la même erreur de séparateur, corrigez-la.
Pour savoir quelles lignes de la table impressions correspondent aux lignes de la table clics, il nous faut un repère appelé une condition de jointure.
Pour cette condition de jointure, on va identifier une ou plusieurs colonnes de la table impressions qui contiennent les mêmes informations qu’une ou plusieurs colonnes de la table clics.
Ici, il y a une colonne qui donne les mêmes infos dans les 2 tables : la colonne cookie_id, car elle sert à identifier les utilisateurs. Spécifions-le :
Une fois cette condition de jointure spécifiée, la table résultant de la jointure s’affiche en bas :
On y voit les colonnes de la table clics et les colonnes de la table impressions.
Regardons les 2 colonnes cookie_id : les valeurs dans l’une sont effectivement les mêmes que dans l’autre.
Cependant, il y a beaucoup plus de lignes dans impressions que dans clics. Certaines lignes de impressions n’ont pas trouvé de correspondance dans clics.
On fait ici une jointure externe gauche, car on veut que toutes les lignes de la table de gauche (impressions) apparaissent dans la table finale, même si elles n’ont pas trouvé de correspondance dans l’autre table :
Ajoutez la troisième table : achats
Importons enfin la table achats (pensez à bien mettre la virgule comme séparateur de champ).
Pour corriger cela, il faut joindre la colonne cookie_id de achats à la colonne cookie_id de clics :
Voici le résultat :
On voit ici les nouvelles colonnes de achats qui se sont ajoutées. Certaines impressions n’ont abouti à aucun clic (lignes 1, 3, 4 et 6 ci-dessous) ; certaines oui, mais sans achat (lignes 2 et 5). Enfin, certaines ont abouti à un clic ET à un achat (ligne 7) !
On a donc ici notre table finale ! Bravo pour cette première étape.
Convertissez les « timestamps » en dates
En regardant les colonnes timestamp, on voit des valeurs telles que « 1 761 000 000 ». Ces nombres sont censés représenter des dates. En fait, il s’agit du nombre de secondes écoulées entre la date en question et le 1er janvier 1970 : c’est une convention quand on code une date en timestamp.
Pour obtenir la date, on va donc effectuer un calcul sur la colonne, en cliquant sur « Créer un champ calculé » :
On va ajouter ces timestamps au 1er janvier 1970 grâce à la fonction dateadd, et il faut spécifier que l’unité est la seconde :
Une nouvelle colonne date_impression s’est ainsi créée.
La notion de « source de données »
Dans Tableau, une table correspond à une source de données.
Pour ajouter une autre table (car un tableau de bord peut nécessiter plusieurs tables non fusionnables), cliquez sur « Nouvelle source de données » :
Ici, notre source de données s’appelle « impressions+ ». Chaque ligne de la table correspond à une impression, convertie en achat ou non.
Quelques opérations utiles
Sachez également que l’on peut changer le type des colonnes : ici, external_site_id est un identifiant codé par un nombre. Comme on ne fera pas de calcul sur ces nombres (car cela n’aurait aucun sens), on peut spécifier à Tableau qu’il s’agit en fait d’une chaîne de caractères :
Si vous connaissez l’algèbre relationnelle, sachez qu’il y a aussi la possibilité de faire des unions :
Allez plus loin : une jointure avec 3 tables
Pourquoi la jointure effectuée par défaut par le logiciel n’est-elle pas celle que nous souhaitons ?
Si une impression a abouti à un clic puis à un achat, je veux toutes ces informations sur une même ligne !
Je veux donc prendre la table qui résultait de notre première jointure (c’est-à-dire la table impressions jointe à la table clics), et joindre cette table résultante à la nouvelle table achats.
Mais par défaut, ce n’est pas ce qui est fait : vous voyez que le logiciel joint achats avec impressions, mais pas avec clics. Le logiciel va donc rajouter des lignes à la table résultante que nous avions tout à l’heure. Ce n’est pas ce que nous souhaitons.
Pour joindre achats à la table résultante (et non pas à impressions uniquement), la méthode est de joindre la colonne cookie_id de achats à la colonne cookie_id de clics, car cette dernière est déjà jointe avec la colonne cookie_id de impressions :
Référence
Rangeon, N. (2021). Réalisez un dashboard avec Tableau. ENSAE-ENSAI Formation continue. https://openclassrooms.com/fr/courses/4525361-realisez-un-dashboard-avec-tableau