Tableauにはデータソースフィルターやディメンションフィルターなど複数のフィルターがある。
その中でコンテキストフィルターを知った時に私は下記のような疑問を持った。
- 「コンテキストフィルターって何?」
- 「他のフィルター(ディメンション・メジャーフィルター)との違いは?」
- 「どういう時にコンテキストフィルターを使うといいの?」
上記のような疑問を持つ人はきっと多いと思うので、よく使うディメンションフィルターやメジャーフィルターとの違いも明確にしながら整理したいと思う。
Contents
コンテキストフィルターとは?
コンテキストフィルターとは、各シートのフィルターシェルフでかけるフィルターの中で最初に作用するフィルターである。抽出フィルターやデータソースフィルターと違い、各シートごとにフィルターをする形だ。
ディメンションフィルターとの違い
「シート上でよく使うディメンションフィルターやメジャーフィルターとコンテキストフィルターは一体何が違うのか?」
というのが私は最も疑問だったが、違いはフィルター作用の順番にある。
上図の通り、コンテキストフィルターはディメンションフィルターやメジャーフィルターよりも先に作用する。
そのため、コンテキストフィルターが適用されると、ディメンションフィルターやメジャーフィルターはコンテキストフィルターを通過したデータのみを処理するようになる。
このフィルターが作用する順番の違いを活かすとディメンションフィルターだけを使っていては出来ないような分析をすることが可能となる。
例えば、ディメンションフィルターより先に掛かるLOD表現のFIXED関数があるが、コンテキストフィルターはそれよりも早く処理されるので、
「FIXED関数を利用したけど、うまくいかない、、、」
という時にコンテキストフィルターを活用することで解決できることがある。
コンテキストフィルターの活用シーン
先ほども若干触れたが、コンテキストフィルターを活用すると便利な時は、例えば下記のような時だ。
- パフォーマンスを向上させたい時
- 地域別に都道府県売上高上位~位を出したい時
パフォーマンスを向上させたい時
コンテキストフィルターを活用すれば、パフォーマンスを向上させられる。
「フィルターを利用して処理が重くなった、、、」
という時はコンテキストフィルターを使うといい。
ディメンションフィルターやメジャーフィルターはデータソースの全ての行にアクセスするため、データ量が多いとパフォーマンス悪化の原因となる。
そのため、コンテキストフィルターを活用することでディメンションフィルターやメジャーフィルターがアクセスする行数自体を減らしてしまえばいいのだ。
ディメンションフィルターやメジャーフィルターはコンテキストフィルターを通過したデータのみを処理するようになるので、パフォーマンス向上が期待できる。
地域別に都道府県売上高上位~位を出したい時
コンテキストフィルターは
「都道府県の売上高、上位~位を地域ごとに表示したい!」
という時にも便利だ。
ディメンションフィルターを活用して「地域別、都道府県別の売上高上位~位」を表示しようとすると、上位~位のフィルターは都道府県全体に掛かってしまう。
そのため、地域別に絞り込むと全都道府県の中で上位3位の都道府県を地域別にフィルターするので、関西地方でフィルターをすると「大阪府のみしか表示されてないじゃん、、、」という事態になる。
こういう時にコンテキストフィルターが活躍する。
繰り返しになるが、ディメンションフィルターはコンテキストフィルターを通過したデータのみを処理するようになる。
そのため、「地域」のディメンションをコンテキストフィルターに設定すると、下図のように地域ごとに売上高上位3位の都道府県を表示することができる。
このようにコンテキストフィルターを使うとTableauでの表現の幅を広げることができる。
コンテキストフィルターの設定方法
コンテキストフィルターの設定方法は非常に簡単だ。
フィルターシェルフに入れたディメンションフィルターを右クリックして、コンテキストに追加をクリックするだけだ。
コンテキストフィルターは下記のようにピルは濃い灰色となる。
まとめ
コンテキストフィルターを理解し、活用できるようになるとTableauでの表現の幅を広げられたり、パフォーマンスの向上を図ったりすることができる。
重要なのはフィルター処理の順序を整理しておくことだ。この順序を覚えておけば、Tableauの活用の幅を色々と広げられるようになるはず!
他のTableauに関する疑問やよくある質問は下記にまとめているので是非参考にして欲しい。
オススメ書籍
Tableau初心者の方はまずは書籍を利用しながらTableauの使い方の基礎を把握することをお勧めする。
こちらの本に他のフィルターの説明と合わせてコンテキストフィルターの説明も載っている。
画像が多く使われていてとても理解しやすい本なので是非読んでみて欲しい。