【Tableau Tips】サンキーダイアグラムを作成する

BIツール 技術ブログ

はじめに

こんにちは。近藤です。
今回はサンキーダイアグラム(Sankey)の作成方法をご紹介します。
Tableau2024.2から無償の拡張機能で使用できるようになったサンキーダイアグラムですが、環境によって拡張機能を利用できない場合などあると思います。
拡張機能を利用せずとも作成する方法がありますのでその方法をご共有します。
手順は以下となります。

完成版はこちら
前回の記事はこちら

手順

①入力データの準備
分析元データを取り込んでください。

加えて、以下の内容のcsvファイルを作成し、Tableauに取り込んでください。

Path,Row ID,T,Min/Max
0,1,6,Min
1,1,5.75,Min
2,1,5.5,Min
3,1,5.25,Min
4,1,5,Min
5,1,4.75,Min
6,1,4.5,Min
7,1,4.25,Min
8,1,4,Min
9,1,3.75,Min
10,1,3.5,Min
11,1,3.25,Min
12,1,3,Min
13,1,2.75,Min
14,1,2.5,Min
15,1,2.25,Min
16,1,2,Min
17,1,1.75,Min
18,1,1.5,Min
19,1,1.25,Min
20,1,1,Min
21,1,0.75,Min
22,1,0.5,Min
23,1,0.25,Min
24,1,0,Min
25,1,-0.25,Min
26,1,-0.5,Min
27,1,-0.75,Min
28,1,-1,Min
29,1,-1.25,Min
30,1,-1.5,Min
31,1,-1.75,Min
32,1,-2,Min
33,1,-2.25,Min
34,1,-2.5,Min
35,1,-2.75,Min
36,1,-3,Min
37,1,-3.25,Min
38,1,-3.5,Min
39,1,-3.75,Min
40,1,-4,Min
41,1,-4.25,Min
42,1,-4.5,Min
43,1,-4.75,Min
44,1,-5,Min
45,1,-5.25,Min
46,1,-5.5,Min
47,1,-5.75,Min
48,1,-6,Min
49,1,-6,Max
50,1,-5.75,Max
51,1,-5.5,Max
52,1,-5.25,Max
53,1,-5,Max
54,1,-4.75,Max
55,1,-4.5,Max
56,1,-4.25,Max
57,1,-4,Max
58,1,-3.75,Max
59,1,-3.5,Max
60,1,-3.25,Max
61,1,-3,Max
62,1,-2.75,Max
63,1,-2.5,Max
64,1,-2.25,Max
65,1,-2,Max
66,1,-1.75,Max
67,1,-1.5,Max
68,1,-1.25,Max
69,1,-1,Max
70,1,-0.75,Max
71,1,-0.5,Max
72,1,-0.25,Max
73,1,0,Max
74,1,0.25,Max
75,1,0.5,Max
76,1,0.75,Max
77,1,1,Max
78,1,1.25,Max
79,1,1.5,Max
80,1,1.75,Max
81,1,2,Max
82,1,2.25,Max
83,1,2.5,Max
84,1,2.75,Max
85,1,3,Max
86,1,3.25,Max
87,1,3.5,Max
88,1,3.75,Max
89,1,4,Max
90,1,4.25,Max
91,1,4.5,Max
92,1,4.75,Max
93,1,5,Max
94,1,5.25,Max
95,1,5.5,Max
96,1,5.75,Max
97,1,6,Max

続けて、結合計算の作成を利用し、分析元データと1=1でテーブル結合してください。
データが約100倍になるので注意してください。

②計算フィールドの作成
下線が引いてある項目以外はコピペで問題ありません。

まず以下の計算フィールドを作成します。

Dim1       : 始点とするディメンション
Dim2         : 終点とするディメンション
ConfigurationMeasure : SUM(実際に使用するメジャー
FlowSize       :[ConfigurationMeasure]/TOTAL([ConfigurationMeasure])
Sigmoid       :1/(1+EXP(1)^-[T])

続けて、以下の計算フィールドを作成します。

Max_Position1 :RUNNING_SUM([FlowSize])
Min_Position1 :[Max_Position1] – [FlowSize]
Max_Position2 :RUNNING_SUM([FlowSize])
Min_Position2 :[Max_Position2] – [FlowSize]
MAX_Curve1-2 :[Max_Position1] + ([Max_Position2] – [Max_Position1]) * MIN([Sigmoid])
MIN_Curve1-2   :[Min_Position1] + ([Min_Position2] – [Min_Position1]) * MIN([Sigmoid])
CurvePolygon1-2 :CASE MIN([Min/Max]) WHEN ‘Min’ THEN [[MIN_Curve1-2]] ELSE [MAX_Curve1-2] END

③グラフの作成
まずフロー部分を作成します。

1. [T]を列に配置して、最小値に設定してください。
2. [CurvePolygon1-2]を行に配置して、△表計算の編集をクリックして以下のように設定します。
※いずれも特定のディメンションにし、[Dim1]と[Dim2]の並び順を以下のように設定してチェック

3. マークを多角形に設定します。
4. [Dim1]を色に配置します。
  [Dim2]を詳細に配置します。
  [Path]をパスに配置し、ディメンションに変更します。

[Dim1]を色に配置し、[ConfigurationMeasure]を行に配置し、簡易表計算で合計に対する割合に設定します。
※[Dim2]も同様に作成します

④ダッシュボードの作成
[Dim1]の構成比シート、Flowシート、[Dim2]の構成比シートの順に左から配置します。
各シートで、軸の編集や外部パディングにて、数値を調整することで隙間なく並べることもできます。

終わりに

今回ご紹介した本ブログにご興味をお持ちになられましたら、技術支援やカスタマイズ開発など、各種ご支援させていただきますので、お気軽に「お問い合わせフォーム」よりお問い合わせください。
今後も定期的に更新を行ってまいります。

関連記事