ブログ

Tableauのコンテキストフィルターとは?活用ノウハウを徹底解説!

#Tableau #コンテキストフィルター

Tableauは、データ可視化と分析のためのツールです。データ分析の分野で広く使用されており、膨大なデータからインサイトを得たり、情報を集約しユーザーに対して、直感的に理解しやすい形で情報を提供することができます。

データ分析を効率化したり、得たい情報を抽出する上で、フィルター機能の活用がカギを握ります。本記事では、各フィルター機能の特徴および、コンテキストフィルターの活用法について解説します。高度なデータ分析やコンテキストフィルターの理解を深めたい人にとって必見の内容となっています。

コンテキストフィルター作成の意義

通常のフィルター(ディメンションフィルターやメジャーフィルターなど)は、データソース内の全ての行にアクセス、処理されます。通常フィルターの処理前に実行されるのが、コンテキストフィルターで、独立したフィルターとなっているのが特徴です。

コンテキストフィルターを使用することで、表示させたいデータの操作手順を効率化できたり、クエリ速度の向上により、動作パフォーマンスの改善が見込めるなど、データ分析における生産性を高めることができます。

フィルターの順番・ディメンションフィルターとの違い


Tableauには、以下のフィルター機能が搭載されており、処理される順番を理解しておくことで、フィルター活用の幅が広がります。

  1. データ抽出フィルター
  2. データソースフィルター
  3. コンテキストフィルター
  4. ディメンションフィルター
  5. メジャーフィルター
  6. 表計算フィルター

データ抽出フィルター

抽出フィルターは主に、データソースをTableauに取り込んだ後に処理されるフィルターです。不要なデータを削除したり、シートにデータを抽出する際に適用されます。

データ抽出フィルタにて処理されたデータは、フィールド全体に影響するため、シートにデータを抽出する前にフィルターをかけておくことが、パフォーマンス向上に有効です。

データソースフィルター

データソースフィルターは、ライブ接続時に優先して実行され、データソース全体に適用されるフィルターです。

データをシートに読み込む前に処理されるフィルターですので、例えば、使用するワークブックデータの一部のみを使用する場合で、データソース全体からデータを絞る際に、データソースフィルターを利用することで、作業時のパフォーマンスを向上させることが可能です。

コンテキストフィルター

コンテキストフィルターは、表やグラフを作成する際に、適用データを限定して処理するフィルターです。主にワークブックで利用するデータを小さくする目的で使用されます。

コンテキストフィルターは、ディメンションフィルターやメジャーフィルターよりも前に処理されます。記事後半で詳細を解説します。

ディメンションフィルター

ディメンションフィルターは、Tableauのフィルター内で適用されるフィルターです。フィルターシェルフへフィールドをドラッグすることで処理します。

特定の期間、特定の地域、カテゴリーなどで分類したい場合にディメンションフィルターを利用することで、データを抽出できます。

メジャーフィルター

メジャーフィルターは、ディメンションフィルターと同様、Tableauのフィルター内で適用されるフィルターです。

売上金額が100万円以上の取引先データを抽出したい場合などに、メジャーフィルターを利用することで、得たいデータを抽出できます。

表計算フィルター

表計算フィルターは、作成した表やグラフに対して適用できるフィルターです。特定期間の売上計算などをはじめ、グラフの表示範囲値の表示・非表示設定をする際に利用できます。

コンテキストフィルターの設定方法・高速化

フィルターの設定方法は、以下の手順になります。

  1. ダッシュボード右側のカード内からフィルターにしたい項目を選択する。
  2. 選択した項目が、左側フィルターカードに表示されます。

基本的には、行または列にある項目の中からフィルターを選定しますが、オリジナルでフィルターを作成することも可能です。

各地域の売上TOP5製品を表示させる場合


画像は、地域別に売上高を上位表示させたい場合の「地域」でフィルターを適用させている例です。この段階で適用されているフィルターはディメンションフィルターおよびtopNフィルタ(売上高上位を抽出する際に適用するフィルター)となっていますが、「地域」リストの小分類を選択しても正しいデータが抽出されません。

その場合にはディメンションフィルターを、topNより先に処理されるコンテキストフィルターに変換することで実現可能です。以下の手順でコンテキストフィルターを適用させます。

該当フィルターを右クリックし「コンテキストに追加」をクリックする(フィルターしている値が青色から灰色に変化する。)

上記操作でtopNフィルタおよびディメンションフィルターおよびtopNフィルターの処理前に、コンテキストフィルターが適用され、各地域の売上TOP5製品を表示できるようになります。
コンテキストフィルターを追加することで、FIXED関数(データを集計する関数)の参照するフィールドが、データソース全体からデータソース内の限られたデータのみに変更となり、対象データ範囲にフィルターを適用できます。

また、処理の高速化やパフォーマンス向上に効果的なコンテキストフィルターの使い方のポイントを以下にまとめます。

  • 使用頻度の高いフィルターはコンテキストフィルターにしておく
  • コンテキストフィルターの追加前に、データのモデル化(適用する通常フィルターの決定)を完了させておく
  • FIXED関数の利用や、関連値の代わりとして、コンテキストフィルターを利用してみる

複数あるフィルターの中で、コンテキストフィルターの位置付けや役割を理解し、上記のポイントを参考としながら、パフォーマンスの改善に努めることも、業務を効率化する上で重要です。

コンテキストフィルターの活用シーン・メリット

  • クイックフィルターの項目絞込み
  • LOD表現のFIXED式にフィルターをかけるため
  • パフォーマンス改善のため

コンテキストフィルターを使用するメリットや活用シーンを紹介します。

クイックフィルターの項目絞込み

関連値機能の代替として、コンテキストフィルターを活用することで、パフォーマンスの維持につながります。

関連値は、他フィルターを変更するたびに、フィルター項目の再計算が必要ですが、コンテキストフィルターを使用することで、指定したフィルターが変更された場合のみ、再計算されるため、パフォーマンス改善に効果的です。

LOD表現のFIXED式にフィルターをかけるため

LOD表現のFIXED式にも適用させたい場合に、コンテキストフィルターに変更することで、フィルターが適用されます。

この利点を理解することで、段階的にフィルターを適用させたい場合にコンテキストフィルターを活用することで、意図したデータを表示できます。

例えば、各製品の合計売上を表示させたい場合、FIXED計算(全体に対する合計売上)をしたのちに、製品カテゴリーをフィルターに追加すると、合計(FIXED:SUM(売上))の数値に変化はありません。

FIXEDはディメンションフィルターより先に実行されます。
この場合、「カテゴリ」をコンテキストフィルターに切り替えることで、処理の順序が変わり、製品のみのデータに絞られ、抽出データに対して、FIXED計算が行われる仕組みとなり、各製品の合計売上データを表示させることができます。

パフォーマンス改善のため

別フィルターからコンテキストフィルターに切り替えることで、パフォーマンスが改善する可能性があります。ディメンションフィルターやメジャーフィルターなどは、データソース全体に適用されるため、データ量の多い場合は、処理が重くなってしまいます。

ディメンションフィルターやメジャーフィルターの前に、コンテキストフィルターを使用すし、処理するデータ量を減らすことでパフォーマンスの向上が期待できます。

まとめ

Tableauのフィルタリングを使用する際は、フィルターの概念や処理規則などを網羅しておくことで、多様なデータを算出することができます。コンテキストフィルターは、Tableauを活用する幅が広がる機能ですので、高度なデータ分析を行う上での登竜門として、本記事を参考としながら、使用してみてください。

<Tableau>
弊社ではSalesforceをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら

また、弊社ではTableauの導入支援のサポートも行っています。こちらもぜひお気軽にお問い合わせください。
>>Tableauについての詳細はこちら

CONTACT
お問い合わせ

ご相談やご依頼、病院マスタなどについてのお問い合わせはこちらのお問い合わせフォームから。

サービスなどについてのお問い合わせ 病院マスタについてのお問い合わせ

メールお問い合わせ