🐶

Tableauのガントチャートを理解する

2024/02/02に公開

Tableauのガントチャート機能について、これまであまり触ってなかったのですが、挙動が概ね理解できたのでまとめておこうと思います。

Tableauのガントチャートの基本的な挙動

Tableauでガントチャートを描画する際に最低限設定するものは開始点と開始点から描画されるバーの長さの二つです。一般的なガントチャートのように水平方向にバーを描画したい場合、開始点を列に設定します。長さはマークカードにサイズとして設定します。
以下の図では開始点としてOrder Date(①)を、バーの長さとしてDATEDIFF関数を使用しOrder DateからShip Dateまでの日数(②)を設定しています。

DATEDIFF('day',[Order Date],[Ship Date])


また、追加で設定するものとしてバーの幅があります。
バーの幅はマークカードの"サイズ"をクリックすることで表示されるスライダー(③)により変更できます。

スケジュール以外での利用

Tableauのガントチャート機能は「ガントチャート」という名前ではありますが、必ずしもスケジュールを表す必要があるものではありません。開始点に必ずしも日付を持ってくる必要もありませんし、バーの長さが期間を表すとも限りません。つまりTableauのガントチャート機能は始点と長さを指定することで水平方向、または、垂直方向にバーを描画する機能でしかないということです。

例えば、2018年第6週のWorkoutWednesdayでは、以下のドットを結ぶ横棒をガントチャートで作成しています。

このビジュアルではサブカテゴリ別に各リージョンの売上(Sales)を図示していますが、リージョン毎のプロットをガントチャートによるバーで結ぶことにより、各サブカテゴリが取る売上の範囲がどこからどこまでなのかを視認しやすくしています。

①の開始点にサブカテゴリ別に最も低い売上が低いリージョンの売上の値を設定し、②の長さにサブカテゴリ別に最も売上の高いリージョンと売上の低いリージョンの差を設定し、"次を使用して計算"でリージョン(Region)を選択することでこのバーを描画することができます。

①開始点の数式

WINDOW_MIN(SUM([Sales]))

②バーの長さの数式

WINDOW_MAX(SUM([Sales]))-WINDOW_MIN(SUM([Sales]))

加えて、このビジュアルではバーの幅(③)を最小まで細くした上で、枠線を白くすることで限界までバーの幅が細く見えるように工夫しています。

ウォーターフォールチャートの作成

ガントチャート機能を利用することでウォーターフォールチャートを作成することも可能です。以下はガントチャート機能を利用して作成したウォーターフォールチャートです。

このビジュアルは以下から取得していただけます。
https://public.tableau.com/views/DATASaber9_HandsOn-AdvancedII_17062658512610/sheet3?:language=ja-JP&publish=yes&:display_count=n&:origin=viz_share_link

ガントチャート機能を利用してウォーターフォールチャートを作成するには3つのポイントがあります。

  1. 開始点に設定する項目は合計の累計にする
    ウォーターフォールチャートはその特性上、各項目のトップが中間合計に相当します。そのため、開始点として合計の累計を設定します。上記の例では次の数式を使っています。
RUNNING_SUM(SUM([利益]))
  1. 開始点は行に設定する
    水平方向に描画する際は列に設定しますが、行と列を転置することで垂直方向にバーを描画できます。そのため、開始点は行に設定することになります。
  2. バーの長さに設定する項目には-(マイナス)を付ける
    垂直方向にバーを描画する場合、サイズに正の数が入ると上方向にバーが描画されます。開始点として中間合計を設定していますので、増減を示すバーは増分を示す場合は下方向に、減分を示す場合は上方向にバーを伸ばさなくてはいけません。上記の例では次の数式をサイズに設定しています。
-[利益]

これらのポイントを抑えることでウォーターフォールチャートを描画することができます。

Discussion