見出し画像

TableauのDynamic Hide(ダイナミックハイド)を整理してみた

はじめに

TableauのDataSaberに挑戦している中、"HandsOn - AdvancedⅡ"にて、Dynamic Hide(ダイナミックハイド)という聞きなれない言葉が出てきた。少々理解が難しかったため、改めて整理してみました。

どのようなケースで利用される?

表示する年を一つ選択した上で、前年比のデータを含めたグラフを表現をする際にDynamic Hideを利用する必要がある。以下は、横軸に売上、縦軸に売上の前年比をサブカテゴリ別の相関を表現した散布図である。
表示する年を一つ選択する場合、通常は日付データをフィルターに設定する。しかし、前年比を計算する際、選択した年の"前年データ"が必要となるため、この方法では前年データがない状態で計算されるため、グラフ上の各プロットが表示されなくなる。

日付フィルターを利用した場合(2016年を選択)

Dynamic Hideを利用することで、以下のとおり解決できる。

Dynamic Hideを利用した場合(2016年を選択)

Dynamic Hideとは?

Tableauではフィルターの適用順序(クエリパイプライン)があることは、この記事をご欄いただいている方は理解しているはずでしょう。
Dynamic Hideとは、フィルターの最後に適用される"表計算フィルター"を利用した手法である。具体的にはLOOKUPという表計算関数を使う。

Tableauのフィルター適用順序
LOOKUP関数を利用した年単位の日付フィルター作成の計算式

LOOKUPの詳細説明は割愛しますが、最後の引数に"0"を入れる=集計する行の値をそのまま読み込むことになります。ちなみにMINの部分はMAXでもOKです。

通常の日付フィルターはディメンションフィルターで処理されるため、2016年を選択した時点でこの処理で2015年のデータが除外されてしまう。そのため、以降の集計計算では前年比を算出できなくなります。
一方、LOOKUP関数を利用した日付フィルターの場合、前年比を計算した後にフィルターするため、前年比も正常に表示される。

Tableauのフィルター適用順序を理解することが重要であることがわかりますね。是非参考にしてください。