1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Posted at

備忘録として書いておきます。

Tableau2024.2以降

拡張機能でSanky-Diagramを簡単に作成できるようになった

拡張機能を使わない場合の作成手順

1. データを用意

下記のようにStartPointからEndPointへどう値が動いたか集計したクロス集計表を出す

row_no StartPoint EndPoint Value
1 A a 24
2 A b 35
~ ~ ~ ~
20 E d 17

さらにS字カーブを描く用のデータを用意する
※基本的には0.25刻みで作成することにより綺麗に描ける

Path T MinMax
0 6 Min
1 5.75 Min
2 5.5 Min
~ ~ ~
23 0.25 Min
24 0 Min
25 -0.25 Min
~ ~ ~
48 -6 Min
49 -6 Max
~ ~ ~
96 5.75 Max
97 6 Max

2. Tableauに取り込む

結合計算を利用し、クロス集計表とS字カーブを描く用のテーブルを結合する
すべての行で結合するため、データの件数が増えるため注意
image.png

3. 描画前に計算フィールドを用意する

・Measure:Sum(Value) 構成比を出すための集計値
・Composition_Ratio:Measure/TOTAL(Measure) 構成比
・Curve_Function:1/(1+EXP(1)^-[T]) シグモイド関数(S字カーブを描くためのもの)
・Position_Max:RUNNING_SUM([Composition_Ratio])
・Position_Min:[Position_Max]-[Composition_Ratio]
・Position_Max2:RUNNING_SUM([Composition_Ratio])
・Position_Min2:[Position_Max2]-[Composition_Ratio]
・Curve_Max:[Position_Max] + ([Position_Max2] - [Position_Max]) * MIN([Curve_Function])
・Curve_Min:[Position_Min] + ([Position_Min2] - [Position_Min]) * MIN([Curve_Function])
・Curve_Polygon: CASE MIN([Min/Max]) WHEN 'Min' THEN [Curve_Min] ELSE [Curve_Max] END

4. 描画する

  1. 「Curve_Polygon」を行に配置する
  2. 「T」を最小値で列に配置
  3. 「Start Point」を色に、「End Point」を詳細に配置する
  4. マークを「自動」から「多角形」に変更する
  5. 「Path」をパスに配置し、ディメンションに変更する
  6. 「Curve_Polygon」を「表計算の編集...」から以下のように変更する
    image.png
  7. ツールヒントや軸の編集・ソート順を変更し形を整える
    image.png

5. ダッシュボードに配置

StartPointとEndPointのそれぞれの帯グラフを作成し、両端に配置するようにダッシュボードを作成して完成
image.png

6. Tを0.5刻み、1.0刻みにした場合

0.5刻みの場合

少しカクついているが、そこまで気になるほどではない(人によるかも)
ただ、データ数は少なくなるため、そこまで気にならないのでもあればよいかも
image.png

1.0刻みの場合

カクカクした見た目になった
表現としては変わらないが、少し気になるかもしれない
image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?