32 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).

Un fichier n’est pas adapté à une actualisation régulière des données, contrairement à une base de données. Cela influera donc sur votre tableau de bord final. En effet, si vos données s’actualisent régulièrement, alors il faudra préférer une connexion à une base de données.

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 :

Que ce soit dans un tableau de bord ou dans une histoire, vous ne pourrez y ajouter que les visualisations qui auront préalablement été créées dans les feuilles de calcul.

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 :

  1. timestamp : c’est une date codée, qui est la date d’affichage de la publicité.
  2. cookie_id permet d’identifier l’utilisateur qui a vu la publicité, chaque publicité étant liée à une campagne précise.
  3. campaign_id est l’identifiant de la campagne de marketing.
  4. external_site_id indique le site sur lequel la publicité s’est affichée.
Cette table contient 29 758 lignes, aussi appelées enregistrements.

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.

C’est la colonne cookie_id qui nous permettra de faire le lien entre les clics et les impressions de la table précédente.

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

Avant toute chose, vérifiez bien que vous êtes connecté à internet si vous utilisez la version gratuite, car sinon, vous ne pourrez pas enregistrer votre travail. Pensez à sauvegarder régulièrement.

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.

Comme on a deux tables, il faut les fusionner. En fin de compte, on veut une table dont chaque ligne représente une impression. Et pour chaque impression, on veut savoir si elle a abouti (ou non) à un clic.

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.

Il s’agit tout simplement des cas où l’utilisateur n’a pas cliqué sur la publicité.

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

Malheureusement, la jointure que Tableau effectue par défaut n’est pas celle que l’on souhaite. Pour plus de précisions, visitez la section Aller plus loin en bas de cette page.

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

Dans l’état actuel, Tableau n’est pas au courant que les colonnes nommées timestamp représentent des dates. Sans une petite opération, il sera donc impossible de créer des graphiques avec des 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.

Faites cela avec les 2 autres colonnes timestamp, en les appelant date_clic et date_achat.

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 :

et des filtres (c’est-à-dire des restrictions) :
Vous avez importé vos données. C’est un bon début ! Voyons dans la section suivante comment créer une première visualisation !

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