Tuto : comment créer des Bar charts animés sur Tableau Software ? 📊 📈

Bar Charts Tableau

Bonjour à tous ! Savez-vous que grâce à une méthode très rapide vous pouvez créer des Bar charts animés dans Tableau Software ? Vous êtes au bon endroit ! Cet article explique comment pouvoir créer ce genre de graphe ! 

 

#1. Préparer votre Dataset

 

Dans notre exemple, et puisque nous sommes proche des vacances de Noël, nous avons utilisé un fichier plat (issu de Nation Master) sur les destinations touristiques préférées des français. L’idée est de créer, en plus de la feuille pivote, deux feuilles qui vont permettre la création de ce graphe.

  • Nous commençons avec la Feuille A : Dataset Pivot

Cette feuille contient nos données de base, pour notre exemple, nous allons utiliser quatre champs en plus y compris un champs ID qui va nous servir pour faire des jointures avec les feuilles techniques.

Que contient notre feuille ? Les données en image  A :

 

  • Poursuivons avec la Feuille B : information de Bar Chart

Vous vous demandez sûrement ce que cette feuille permet de faire ? Elle crée les quatre coins d’une barre qui apparaîtra in fine dans notre visualisation :

  • Le point 1 représente le point en haut à gauche d’un rectangle
  • Le point 2 représente le point en haut à droite d’un rectangle
  • Le point 3 représente le point en bas à droite d’un rectangle
  • Le point 4 représente le point en bas à gauche d’un rectangle

Elle contient les données suivantes :

 

 

 

  • Place à la Feuilles C : les informations d’animation

Cette étape a pour fonction d’assurer une animation de notre graphe, son rôle est de créer des valeurs intermédiaires permettant d’assurer une animation en continu, par exemple le petit intervalle dans notre dataset est 1 an. Cette feuille va nous permettre de créer X nombre entre l’année N et l’année N+1.

Quelles sont les données dans cette feuilles ? 

 


 

#2. Jointure et création de variables

 

  • Une autre étape : jointure des feuilles 

Une fois que vous avez les 3 feuilles dans votre fichier xls., il faut ensuite créer un workbook Tableau en effectuant une jointure sur le champ ID comme dans le schéma ci-dessous : 

 


 

  • Prochaine étape : la création des champs calculés

Puis, après finalisation de notre dataset, nous devons créer toute une liste de champs calculés permettant de définir les tailles et les positions des barres 📊

 

  •  anim_inter: [Anim]/{MAX([Anim])} : un nombre qui contient le rapport entre la frame actuelle / nombre total des frames par intervalle
  •  frame: [Years]+[anim_inter] : un nombre indiquant le cadre d’animation exacte dans un certain intervalle
  • value_current: {FIXED [Years],[Countries]:MIN([Persons])} : un nombre indiquant la valeur réelle de la barre au début de l’intervalle
  • value_next: LOOKUP(ATTR([value_current]),1) value_next : LOOKUP(ATTR([value_current]),1)value_next : un nombre indiquant la valeur réelle de la barre à la fin de l’intervalle
  • value_inter: ATTR([value_current])+ ([value_next]-ATTR([value_current]))*ATTR([anim_inter]) : un nombre indiquant la valeur interpolée de la barre à une image d’animation exacte dans l’intervalle
  • rank_current RANK_UNIQUE(ATTR([value_current]),”desc”) : un nombre indiquant le rang de la barre par rapport aux autres barres, en fonction de leur ‘value_current’ au début de l’intervalle
  • rank_nextLOOKUP([rank_current],1) : un nombre indiquant le rang de la barre à la fin de l’intervalle
  • rank_inter[rank_current]+([rank_next]-[rank_current])*ATTR([anim_inter]) : un nombre indiquant le rang intermédiaire de la barre à une image d’animation exacte dans l’intervalle
  • x_inter : IF ATTR([Point])=1 THEN 0 ELSEIF ATTR([Point])=2 THEN [value_inter]*1.0 ELSEIF ATTR([Point])=3 THEN [value_inter]*1.0 ELSEIF ATTR([Point])=4 THEN 0 END : un nombre indiquant la valeur x du coin spécifié de la barre : c’est-à-dire que les valeurs pour les points 1 & 4 doivent toujours être 0 car le côté gauche de la barre ne bouge pas, tandis que celle pour les points 2 et 3 doivent toujours indiquer la longueur courante de la barre
  • y_inter : IF ATTR([countries])=1 THEN [rank_inter]*1.0  ELSEIF ATTR([Point])=2 THEN [rank_inter]*1.0 ELSEIF ATTR([Point])=3 THEN [rank_inter]+0.5 ELSEIF ATTR([Point])=4 THEN [rank_inter]+0.5 END : la valeur du coin spécifié de la barre : les valeurs pour les points 1 et 2 doivent toujours être les mêmes et représente la hauteur du bord supérieur de la barre, tandis que celle pour 3 et 4 doivent toujours être identiques et représentent le bord inférieur de la barre. Toute différence entre les valeurs y indique la hauteur de la barre
  • filter :RANK_UNIQUE([value_inter],”desc”) : un nombre indiquant le rang de la valeur_inter de la barre, nous allons l’utiliser pour filtrer toutes les autres barres qui ne sont ps dans le top x nombre de la barre.
  • label : IF ATTR([Persons])=1 THEN ATTR([Countries]) ELSEIF ATTR([persons])=3 THEN STR(INT([value_inter]/1000)) END : un champ de type String pour indiquer la catégorie et value_inter de la barre, le pays est affiché au-dessus du point 1 de la barre, tandis que value_inter est affiché au-dessus du point 3 (à adapter selon le besoin d’affichage).

 

#3. Place à la visualisation !

 

Ici, nous allons faire appel au fameux Drag & drop ou glisser-déposer 🖱

  • Glisser x_inter dans le champs des colonnes
  • Puis, glisser y_inter dans le champs des lignes deux fois avec application de l’option Axe double
  • Synchroniser les axes avec un intervalle fixe de 0 à 11 renversé
  • Glissez Frame dans le volet Pages en tant que valeur discrète
  • Filtrez en fonction du champ filtrer
  • Sélectionnez Polygone pour y_inter, ajoutez Years, countries, anim_inter dans détails, et Point dans chemin (Tous les champs doivent être des dimensions).
  • Enfin, sélectionnez Cercle pour y_inter(2), ajoutez label comme label, et Years, anim_inter, Point dans détails (Tous les champs doivent être des dimensions).

Ensuite, changer le calcul des feuilles :

Il faut assurer maintenant un ensemble de calcul de table pour que les champs calculés que nous avons créés précédemment fonctionnent bien dans le volet d’affichage :

  • Calculez x_inter en utilisant Year et Frame
  • Pour y_inter, calculez rank_current en utilisant Countries, calculez rank_next en utlisant Countries, Year and Frame, avec redémarrage en fonction de Countries (Il faut le faire pour les deux camps y_inter)
  • Pour le filtre, il faut le calculer en utilisant Countries et calculer value_next en utilisant Year and Frame. Choisir comme valeurs possibles 0 à 10.

Un grand merci à notre consultant Karim L. pour ce tuto très simple et efficace !

Si cet article vous a plu, je vous invite aussi à consulter nos autres publications sur les différents tutoriels Tableau Software, ainsi qu’à demander une démo. 

 

Author Profile

Sylvana AH-LAYE
Sylvana AH-LAYE
Hello ! Passionnée du marketing digital, je travaille quotidiennement avec les différents services de Mydral. Retrouvez dans mes publications du contenu sur le secteur du Big Data, de la BI et de l'IA. Le SEO ou l'e-réputation n'ont pas de secrets pour moi !

Laissez un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.