Comment réaliser facilement un diagramme Sankey sur Tableau ?


Au début, j’aimerai bien noter que cette article s’inspire de l’article Theinformationlab.co.uk qui fournit les étapes détaillées de construction d’un Sankey diagramme. Avant de partager cet article j’ai veuillé à produire et reproduire ce type de diagramme afin de s’assurer de la clarté des étapes fournies ci dessous, sans à ce perdre avec les tâches pénible de préparation des données.

Vous avez à créer 20 calcules afin de réussir ton diagramme. Vous êtes prêt ? allez y !

1 création des dimensions et mesures

1. Création des dimensions de navigation et mesure en analyse

Créer d’abord 2 paramètres entiers ayant une liste de valeurs pour pouvoir sélectionner  la dimension à analyser :

  • Select Dimension 1
  • Select Dimension 2

 

Dimension 1

CASE [Select Dimension 1]
WHEN 1 THEN [Region]
WHEN 2 THEN [Category]
WHEN 3 THEN [Sub-Category]
WHEN 4 THEN [Segment]
WHEN 5 THEN [Ship Mode]
END

Dimension 2

CASE [Select Dimension 1]
WHEN 1 THEN [Region]
WHEN 2 THEN [Category]
WHEN 3 THEN [Sub-Category]
WHEN 4 THEN [Segment]
WHEN 5 THEN [Ship Mode]
END

Chosen Measure

[Sales]

2. Création de frame de densification de données

Path Frame

IF [Chosen Measure] = {FIXED : MIN([Chosen Measure])} THEN 0 ELSE 97 END

Path Frame (bin)

Créer un bin pour la mesure “Path Frame” 

3. Création des calcules : Index, T, Sigmoid et Sankey arm sizing

Path Index

Index()

Ceci est calculé le long de Path Frame (bin) et permet de calculer à travers Path Frame.

T

IF [Path Index] < 50
THEN (([Path Index]-1)%49)/4-6
ELSE 12 - (([Path Index]-1)%49)/4-6
END

Sigmoid

1/(1+EXP(1)^-[T])

Sankey Arm Size

SUM([Chosen Measure])/TOTAL(SUM([Chosen Measure]))

il permet de calculer la taille en pourcentage de chaque branche Sankey  /total data

4. Création des calcules de lignes hautes

Max Position 1

RUNNING_SUM([Sankey Arm Size])

Max Position 1 Wrap

WINDOW_SUM([Max Position 1])

Max Position 2

RUNNING_SUM([Sankey Arm Size])

Max Position 2 Wrap

WINDOW_SUM([Max Position 2])

5. Création des calcules de lignes en bas

Max for Min Position 1

RUNNING_SUM([Sankey Arm Size])

Min Position 1

RUNNING_SUM([Max for Min Position 1])-[Sankey Arm Size]

Min Position 1 Wrap

WINDOW_SUM([Min Position 1])

Max for Min Position 2

RUNNING_SUM([Sankey Arm Size])

Min Position 2

RUNNING_SUM([Max for Min Position 2])-[Sankey Arm Size]

Min Position 2 Wrap

WINDOW_SUM([Min Position 2])

6. Création du calcule "Sankey Polygon"

Sankey Polygons

IF [Path Index] > 49
THEN [Max Position 1 Wrap]+([Max Position 2 Wrap]-[Max Position 1 Wrap])*[Sigmoid]
ELSE [Min Position 1 Wrap]+([Min Position 2 Wrap]-[Min Position 1 Wrap])*[Sigmoid]
END

7. Création de la vue

  • Ajouter Path Frame(bin) au Rows :

  • Vérifier si “missed value” est selectioné

  • Déplacer Path Frame (bin) vers détail, ajoute Dimension 1 et Dimension 2 à détail.
  • Mettre T  dans les Columns et calculer le (table calculation) à travers Path Frame(bin)
  • Changer le type de mark à Polygone
  • Ajouter Path Index au “Path” et calculer le (table calculation) à travers Path Frame(bin)

8. Ajout de Sankey polygone

  • Ajouter “Sankey Polygons” aux “Rows”.
  • Mettre Dimension 1 dans “Couleur”
  • Ajouter pour Sankey Polygones les “table calculations” ci dessous (vous devez changer dans la liste déroulante “Nested calculation” après chaque vérification afin de modifier le calcule concerné.

9. Vous aurez votre Sankey !

En fin, vous avez réalisé votre diagramme Sankey. Vous pouvez afficher les 2 paramètres précédemment créés afin de personnalisé le résultat.

Ajouter vers la fin 2 autres vues :

  • une vue qui affiche la mesure concernée(sales dans notre cas) selon la dimension 1 en utiliser un digramme en barre
  • une vue qui affiche la mesure concernée(sales dans notre cas) selon la dimension 2 en utilisant un diagramme de barre

Par la suite, vous pouvez créer un dashboard qui combine les 3 feuilles horizontalement, Je vous invite à télécharger ce travail depuis Tableau public  Datadictos afin de vous assister.

NB: N’oublier pas de vérifier le tri sur chaque dimension utilisée.

 


Add Comment