Tableauのコンテキストフィルターとは?活用ノウハウを徹底解説!
目次
Tableauは、データ可視化と分析のためのツールです。データ分析の分野で広く使用されており、膨大なデータからインサイトを得たり、情報を集約しユーザーに対して、直感的に理解しやすい形で情報を提供することができます。
データ分析を効率化したり、得たい情報を抽出する上で、フィルター機能の活用がカギを握ります。本記事では、各フィルター機能の特徴および、コンテキストフィルターの活用法について解説します。高度なデータ分析やコンテキストフィルターの理解を深めたい人にとって必見の内容となっています。
コンテキストフィルター作成の意義
通常のフィルター(ディメンションフィルターやメジャーフィルターなど)は、データソース内の全ての行にアクセス、処理されます。通常フィルターの処理前に実行されるのが、コンテキストフィルターで、独立したフィルターとなっているのが特徴です。
コンテキストフィルターを使用することで、表示させたいデータの操作手順を効率化できたり、クエリ速度の向上により、動作パフォーマンスの改善が見込めるなど、データ分析における生産性を高めることができます。
フィルターの順番・ディメンションフィルターとの違い
Tableauには、以下のフィルター機能が搭載されており、処理される順番を理解しておくことで、フィルター活用の幅が広がります。
- データ抽出フィルター
- データソースフィルター
- コンテキストフィルター
- ディメンションフィルター
- メジャーフィルター
- 表計算フィルター
データ抽出フィルター
抽出フィルターは主に、データソースをTableauに取り込んだ後に処理されるフィルターです。不要なデータを削除したり、シートにデータを抽出する際に適用されます。
データ抽出フィルタにて処理されたデータは、フィールド全体に影響するため、シートにデータを抽出する前にフィルターをかけておくことが、パフォーマンス向上に有効です。
データソースフィルター
データソースフィルターは、ライブ接続時に優先して実行され、データソース全体に適用されるフィルターです。
データをシートに読み込む前に処理されるフィルターですので、例えば、使用するワークブックデータの一部のみを使用する場合で、データソース全体からデータを絞る際に、データソースフィルターを利用することで、作業時のパフォーマンスを向上させることが可能です。
コンテキストフィルター
コンテキストフィルターは、表やグラフを作成する際に、適用データを限定して処理するフィルターです。主にワークブックで利用するデータを小さくする目的で使用されます。
コンテキストフィルターは、ディメンションフィルターやメジャーフィルターよりも前に処理されます。記事後半で詳細を解説します。
ディメンションフィルター
ディメンションフィルターは、Tableauのフィルター内で適用されるフィルターです。フィルターシェルフへフィールドをドラッグすることで処理します。
特定の期間、特定の地域、カテゴリーなどで分類したい場合にディメンションフィルターを利用することで、データを抽出できます。
メジャーフィルター
メジャーフィルターは、ディメンションフィルターと同様、Tableauのフィルター内で適用されるフィルターです。
売上金額が100万円以上の取引先データを抽出したい場合などに、メジャーフィルターを利用することで、得たいデータを抽出できます。
表計算フィルター
表計算フィルターは、作成した表やグラフに対して適用できるフィルターです。特定期間の売上計算などをはじめ、グラフの表示範囲値の表示・非表示設定をする際に利用できます。
コンテキストフィルターの設定方法・高速化
フィルターの設定方法は、以下の手順になります。
- ダッシュボード右側のカード内からフィルターにしたい項目を選択する。
- 選択した項目が、左側フィルターカードに表示されます。
基本的には、行または列にある項目の中からフィルターを選定しますが、オリジナルでフィルターを作成することも可能です。
各地域の売上TOP5製品を表示させる場合
画像は、地域別に売上高を上位表示させたい場合の「地域」でフィルターを適用させている例です。この段階で適用されているフィルターはディメンションフィルターおよびtopNフィルタ(売上高上位を抽出する際に適用するフィルター)となっていますが、「地域」リストの小分類を選択しても正しいデータが抽出されません。
その場合にはディメンションフィルターを、topNより先に処理されるコンテキストフィルターに変換することで実現可能です。以下の手順でコンテキストフィルターを適用させます。
上記操作でtopNフィルタおよびディメンションフィルターおよびtopNフィルターの処理前に、コンテキストフィルターが適用され、各地域の売上TOP5製品を表示できるようになります。
コンテキストフィルターを追加することで、FIXED関数(データを集計する関数)の参照するフィールドが、データソース全体からデータソース内の限られたデータのみに変更となり、対象データ範囲にフィルターを適用できます。
関連記事もぜひ参考にしてみてください
◆Tableauダッシュボードのフィルターの設定方法を解説!
また、処理の高速化やパフォーマンス向上に効果的なコンテキストフィルターの使い方のポイントを以下にまとめます。
- 使用頻度の高いフィルターはコンテキストフィルターにしておく
- コンテキストフィルターの追加前に、データのモデル化(適用する通常フィルターの決定)を完了させておく
- FIXED関数の利用や、関連値の代わりとして、コンテキストフィルターを利用してみる
複数あるフィルターの中で、コンテキストフィルターの位置付けや役割を理解し、上記のポイントを参考としながら、パフォーマンスの改善に努めることも、業務を効率化する上で重要です。
コンテキストフィルターの活用シーン・メリット
- クイックフィルターの項目絞込み
- LOD表現のFIXED式にフィルターをかけるため
- パフォーマンス改善のため
コンテキストフィルターを使用するメリットや活用シーンを紹介します。
クイックフィルターの項目絞込み
関連値機能の代替として、コンテキストフィルターを活用することで、パフォーマンスの維持につながります。
関連値は、他フィルターを変更するたびに、フィルター項目の再計算が必要ですが、コンテキストフィルターを使用することで、指定したフィルターが変更された場合のみ、再計算されるため、パフォーマンス改善に効果的です。
LOD表現のFIXED式にフィルターをかけるため
LOD表現のFIXED式にも適用させたい場合に、コンテキストフィルターに変更することで、フィルターが適用されます。
この利点を理解することで、段階的にフィルターを適用させたい場合にコンテキストフィルターを活用することで、意図したデータを表示できます。
例えば、各製品の合計売上を表示させたい場合、FIXED計算(全体に対する合計売上)をしたのちに、製品カテゴリーをフィルターに追加すると、合計(FIXED:SUM(売上))の数値に変化はありません。
FIXEDはディメンションフィルターより先に実行されます。
この場合、「カテゴリ」をコンテキストフィルターに切り替えることで、処理の順序が変わり、製品のみのデータに絞られ、抽出データに対して、FIXED計算が行われる仕組みとなり、各製品の合計売上データを表示させることができます。
パフォーマンス改善のため
別フィルターからコンテキストフィルターに切り替えることで、パフォーマンスが改善する可能性があります。ディメンションフィルターやメジャーフィルターなどは、データソース全体に適用されるため、データ量の多い場合は、処理が重くなってしまいます。
ディメンションフィルターやメジャーフィルターの前に、コンテキストフィルターを使用すし、処理するデータ量を減らすことでパフォーマンスの向上が期待できます。
まとめ
Tableauのフィルタリングを使用する際は、フィルターの概念や処理規則などを網羅しておくことで、多様なデータを算出することができます。コンテキストフィルターは、Tableauを活用する幅が広がる機能ですので、高度なデータ分析を行う上での登竜門として、本記事を参考としながら、使用してみてください。
<Tableau>
弊社ではSalesforceをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら
また、弊社ではTableauの導入支援のサポートも行っています。こちらもぜひお気軽にお問い合わせください。
>>Tableauについての詳細はこちら