Tableauのコンテキストフィルターとは 順番や設定方法・活用ノウハウを分かりやすく解説
投稿日:
更新日:
目次
- 1. コンテキストフィルター作成の意義
- 2. フィルターの順番・ディメンションフィルターとの違い
- 2.1 データ抽出フィルター
- 2.2 データソースフィルター
- 2.3 コンテキストフィルター
- 2.4 ディメンションフィルター
- 2.5 メジャーフィルター
- 2.6 表計算フィルター
- 3. コンテキストフィルターの設定方法・高速化
- 3.1 各地域の売上TOP5製品を表示させる場合
- 4. コンテキストフィルターの活用シーン・メリット
- 4.1 クイックフィルターの項目絞込み
- 4.2 LOD表現のFIXED式にフィルターをかけるため
- 4.3 パフォーマンス改善のため
- 5. コンテキストフィルターの実務活用
- 5.1 多段階分析における前処理フィルターとしての活用
- 5.2 大規模データにおけるパフォーマンス改善
- 5.3 FIXED計算との組み合わせによる高度分析
- 6. 通常フィルターとの違いと使い分けの考え方
- 6.1 処理順序の違いが生む本質的な差
- 6.2 コンテキストフィルターなし
- 6.3 コンテキストフィルターあり
- 7. 使い分けの基本ルール
- 8. よくある誤用とその問題点
- 8.1 パフォーマンスと可読性を両立する設計
- 9. 実務で失敗しないための注意点
- 9.1 変更頻度を基準に判断する
- 9.2 データ削減効果を意識する
- 9.3 最終的な設計は検証で判断する
- 10. まとめ
Tableauは、データ可視化と分析のためのツールです。データ分析の分野で広く使用されており、膨大なデータからインサイトを得たり、情報を集約しユーザーに対して、直感的に理解しやすい形で情報を提供することができます。
データ分析を効率化したり、得たい情報を抽出する上で、フィルター機能の活用がカギを握ります。本記事では、各フィルター機能の特徴および、コンテキストフィルターの活用法について解説します。高度なデータ分析やコンテキストフィルターの理解を深めたい人にとって必見の内容となっています。
コンテキストフィルター作成の意義
通常のフィルター(ディメンションフィルターやメジャーフィルターなど)は、データソース内の全ての行にアクセス、処理されます。通常フィルターの処理前に実行されるのが、コンテキストフィルターで、独立したフィルターとなっているのが特徴です。
コンテキストフィルターを使用することで、表示させたいデータの操作手順を効率化できたり、クエリ速度の向上により、動作パフォーマンスの改善が見込めるなど、データ分析における生産性を高めることができます。
フィルターの順番・ディメンションフィルターとの違い

Tableauには、以下のフィルター機能が搭載されており、処理される順番を理解しておくことで、フィルター活用の幅が広がります。
- データ抽出フィルター
- データソースフィルター
- コンテキストフィルター
- ディメンションフィルター
- メジャーフィルター
- 表計算フィルター
データ抽出フィルター

抽出フィルターは主に、データソースをTableauに取り込んだ後に処理されるフィルターです。不要なデータを削除したり、シートにデータを抽出する際に適用されます。
データ抽出フィルタにて処理されたデータは、フィールド全体に影響するため、シートにデータを抽出する前にフィルターをかけておくことが、パフォーマンス向上に有効です。
データソースフィルター

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

コンテキストフィルターは、表やグラフを作成する際に、適用データを限定して処理するフィルターです。主にワークブックで利用するデータを小さくする目的で使用されます。
コンテキストフィルターは、ディメンションフィルターやメジャーフィルターよりも前に処理されます。記事後半で詳細を解説します。
ディメンションフィルター

ディメンションフィルターは、Tableauのフィルター内で適用されるフィルターです。フィルターシェルフへフィールドをドラッグすることで処理します。
特定の期間、特定の地域、カテゴリーなどで分類したい場合にディメンションフィルターを利用することで、データを抽出できます。
メジャーフィルター

メジャーフィルターは、ディメンションフィルターと同様、Tableauのフィルター内で適用されるフィルターです。
売上金額が100万円以上の取引先データを抽出したい場合などに、メジャーフィルターを利用することで、得たいデータを抽出できます。
表計算フィルター

表計算フィルターは、作成した表やグラフに対して適用できるフィルターです。特定期間の売上計算などをはじめ、グラフの表示範囲値の表示・非表示設定をする際に利用できます。
コンテキストフィルターの設定方法・高速化
フィルターの設定方法は、以下の手順になります。
- ダッシュボード右側のカード内からフィルターにしたい項目を選択する。
- 選択した項目が、左側フィルターカードに表示されます。
基本的には、行または列にある項目の中からフィルターを選定しますが、オリジナルでフィルターを作成することも可能です。
各地域の売上TOP5製品を表示させる場合

画像は、地域別に売上高を上位表示させたい場合の「地域」でフィルターを適用させている例です。この段階で適用されているフィルターはディメンションフィルターおよびtopNフィルタ(売上高上位を抽出する際に適用するフィルター)となっていますが、「地域」リストの小分類を選択しても正しいデータが抽出されません。
【理想の状態】
地域フィルターで小分類を選択した際、選択した地域内のデータのみを対象として売上高TopNが表示される状態。
【現状】
地域フィルターで小分類を選択しても、選択した地域以外のデータが含まれる、または全体データを基準としたTopNが表示されてしまい、意図した絞り込み結果にならない状態。

その場合にはディメンションフィルターを、topNより先に処理されるコンテキストフィルターに変換することで実現可能です。以下の手順でコンテキストフィルターを適用させます。
上記操作でtopNフィルターおよびディメンションフィルターおよびtopNフィルターの処理前に、コンテキストフィルターが適用され、各地域の売上TOP5製品を表示できるようになります。
コンテキストフィルターを追加することで、FIXED関数(データを集計する関数)の参照するフィールドが、データソース全体からデータソース内の限られたデータのみに変更となり、対象データ範囲にフィルターを適用できます。
関連記事もぜひ参考にしてみてください
◆Tableauダッシュボードのフィルターの設定方法を解説!
また、処理の高速化やパフォーマンス向上に効果的なコンテキストフィルターの使い方のポイントを以下にまとめます。
- 使用頻度の高いフィルターはコンテキストフィルターにしておく
- コンテキストフィルターの追加前に、データのモデル化(適用する通常フィルターの決定)を完了させておく
- FIXED関数の利用や、関連値の代わりとして、コンテキストフィルターを利用してみる
複数あるフィルターの中で、コンテキストフィルターの位置付けや役割を理解し、上記のポイントを参考としながら、パフォーマンスの改善に努めることも、業務を効率化する上で重要です。
コンテキストフィルターの活用シーン・メリット
- クイックフィルターの項目絞込み
- LOD表現のFIXED式にフィルターをかけるため
- パフォーマンス改善のため
コンテキストフィルターを使用するメリットや活用シーンを紹介します。
クイックフィルターの項目絞込み
関連値機能の代替として、コンテキストフィルターを活用することで、パフォーマンスの維持につながります。
関連値は、他フィルターを変更するたびに、フィルター項目の再計算が必要ですが、コンテキストフィルターを使用することで、指定したフィルターが変更された場合のみ、再計算されるため、パフォーマンス改善に効果的です。
LOD表現のFIXED式にフィルターをかけるため
LOD表現のFIXED式にも適用させたい場合に、コンテキストフィルターに変更することで、フィルターが適用されます。
この利点を理解することで、段階的にフィルターを適用させたい場合にコンテキストフィルターを活用することで、意図したデータを表示できます。

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

FIXEDはディメンションフィルターより先に実行されます。
この場合、「カテゴリー」をコンテキストフィルターに切り替えることで、処理の順序が変わり、製品のみのデータに絞られ、抽出データに対して、FIXED計算が行われる仕組みとなり、各製品の合計売上データを表示させることができます。
パフォーマンス改善のため
別フィルターからコンテキストフィルターに切り替えることで、パフォーマンスが改善する可能性があります。ディメンションフィルターやメジャーフィルターなどは、データソース全体に適用されるため、データ量の多い場合は、処理が重くなってしまいます。
ディメンションフィルターやメジャーフィルターの前に、コンテキストフィルターを使用すし、処理するデータ量を減らすことでパフォーマンスの向上が期待できます。
コンテキストフィルターの実務活用
実務においてコンテキストフィルターは、計算の母集団を固定するために活用されます。例えば、全社データの中から「特定の事業部」だけに絞り込み、その中での売上ランキングや平均値を算出したい場合に不可欠です。
また、大規模なデータセット(数千万行〜)を扱う際、あらかじめコンテキストフィルターでデータを間引いておくことで、Tableauがスキャンする範囲を限定し、ダッシュボードの表示速度を劇的に改善する役割も果たします。
多段階分析における前処理フィルターとしての活用
コンテキストフィルターの本質は、「後続の処理を軽くするための前処理」です。ここを理解していないと、単なるフィルターと変わらない使い方になってしまいます。
例えば、売上データを分析する際に「全期間・全地域・全商品」を対象にした状態で複雑なフィルターや計算をかけると、処理が重くなり、パフォーマンスが低下します。
そこで、まずコンテキストフィルターとして「対象期間(例:2024年)」や「対象地域(例:関西のみ)」を設定します。これにより、分析対象のデータ量を大幅に絞り込むことができます。

「対象期間(例:2024年)」や「対象地域(例:関西のみ)」を設定
その上で、通常のフィルターを使って「商品カテゴリ」や「顧客セグメント」などを切り替えることで、軽快な操作性を維持したまま多角的な分析が可能になります。
つまり、コンテキストフィルターは「分析の土台を作る役割」を担っているのです。
大規模データにおけるパフォーマンス改善
データ量が増えるほど、コンテキストフィルターの重要性は高まります。数百万〜数千万レコード規模のデータを扱う場合、フィルターの順序がパフォーマンスに直結します。
通常のフィルターは基本的に同列で処理されますが、コンテキストフィルターは優先的に適用され、その結果をキャッシュとして保持します。この仕組みにより、後続のフィルターや計算の対象データが削減され、処理速度が向上します。
例えば、「全顧客データ」から「特定地域」→「特定期間」→「特定商品」と絞り込む場合、最初の段階でデータ量を減らしておくことで、後続処理の負荷を大きく下げることができます。
ただし、ここで注意すべきなのは、コンテキストフィルター自体も再計算コストを持つという点です。頻繁に変更されるフィルターをコンテキストに設定すると、逆にパフォーマンスが悪化する可能性があります。
そのため、「変更頻度が低く、データ量を大きく削減できる条件」をコンテキストに設定するのが基本戦略になります。
FIXED計算との組み合わせによる高度分析
コンテキストフィルターは、LOD表現(特にFIXED)と組み合わせることで真価を発揮します。
通常、FIXED計算はビューのフィルターの影響を受けませんが、コンテキストフィルターは例外的に影響を与えます。この特性を利用することで、「特定条件に基づいた集計」を柔軟に制御できます。
例えば、「特定地域における顧客ごとの平均購入額」を算出したい場合、地域フィルターをコンテキストに設定することで、その条件を反映したFIXED計算が可能になります。

「特定地域における顧客ごとの平均購入額」を算出したい場合
通常フィルターとの違いと使い分けの考え方
通常フィルターとコンテキストフィルターの最大の違いは、実行される順番(クエリパイプライン)」にあります。通常フィルターは互いに並列で処理されますが、コンテキストフィルターは「事前処理」として一段階先に行われます。
使い分けの基準は、「他の計算(TOP NやFIXED関数など)の結果に影響を与えたいかどうか」です。単に画面上の見た目を絞り込むだけなら「通常フィルター」、計算の前提となるデータセット自体を定義し直したいなら「コンテキストフィルター」を選択するのが鉄則です。
処理順序の違いが生む本質的な差
コンテキストフィルターと通常フィルターの最大の違いは、処理される順序です。
コンテキストフィルターは他のフィルターよりも先に適用され、その結果が基準データとして扱われます。一方、通常フィルターはその後に適用されるため、コンテキストで絞り込まれたデータをさらに絞る形になります。
この違いにより、「どのデータを母集団として扱うか」が変わります。つまり、コンテキストフィルターは単なる条件指定ではなく、「分析の前提を決めるもの」と考えるべきです。


上がコンテキストフィルターを地域にかけたもの、下がかけていないもの
関東地域の売上TOP5位の顧客でフィルターをかけても結果が変わる
コンテキストフィルターなし
Top条件が先に適用されるため、「関東の上位顧客」を見たいのに、実際には「全国の上位顧客」が基準になります。
その結果、関東に存在しない顧客が除外され、正しいランキングになりません。
コンテキストフィルターあり
先に「関東」でデータを絞り込んでからTop条件を適用するため、「関東内の上位顧客」を正しく表示できます。
コンテキストフィルターを使うことで、意図した条件順で分析できるようになります。
使い分けの基本ルール
実務での使い分けはシンプルに考えるのがポイントです。
- コンテキストフィルター:データ量を減らすための固定条件
- 通常フィルター:分析の切り替え・操作用
例えば、「対象年度」や「対象地域」のように分析の前提となる条件はコンテキストフィルターに設定します。
一方で、「商品カテゴリ」や「顧客属性」のようにユーザーが切り替えて使う項目は通常フィルターとして扱います。

「対象年度」や「対象地域」のように分析の前提となる条件はコンテキストフィルターに設定
この役割分担を明確にすることで、パフォーマンスと操作性の両方を最適化できます。
よくある誤用とその問題点
コンテキストフィルターでよくあるミスの一つが、「とりあえず重要そうなフィルターを全部コンテキストにする」という使い方です。
これは一見合理的に見えますが、実際には逆効果になることが多いです。コンテキストフィルターは変更されるたびに再計算が発生するため、頻繁に操作するフィルターを含めるとパフォーマンスが低下します。
また、必要以上にコンテキストを増やすと、処理構造が複雑になり、意図しない結果を招くこともあります。
重要なのは、「本当に前処理として必要か」を基準に選ぶことです。これを怠ると、単なる重いダッシュボードになってしまいます。
パフォーマンスと可読性を両立する設計
優れたダッシュボードは、単に速いだけでなく、構造が分かりやすいことも重要です。
コンテキストフィルターを適切に使うことで、処理の流れが整理され、計算ロジックもシンプルになります。結果として、他のメンバーが見たときにも理解しやすい設計になります。
特にチーム開発では、「なぜこのフィルターがコンテキストなのか」を説明できる状態にしておくことが重要です。これは単なるテクニックではなく、設計思想の問題です。
実務で失敗しないための注意点
コンテキストフィルターは強力ですが、多用しすぎると逆にダッシュボードの動作が重くなる原因となります。コンテキストフィルターが作成されるたびにTableauは一時的な作業テーブルをバックグラウンドで作成するため、あまり頻繁に変更されるフィルターに適用すると再計算の負荷が高まってしまいます。
また、「フィルターの適用順序(クエリパイプライン)」をチーム内で共有しておくことも重要です。コンテキストフィルターは「LOD表現(FIXED)」よりも先に実行されますが、「INCLUDE/EXCLUDE」よりは後になるなど、計算順序が複雑です。意図しない集計結果が出る原因の多くはこの順序の誤解にあるため、計算式を書く前に必ずどの順序でデータが絞り込まれるかを確認しましょう。基本的には、データの母集団を大きく変える「固定的な条件」にのみ適用するのが運用のコツです。
変更頻度を基準に判断する
コンテキストフィルターを設定する際に最も重要なのは、「そのフィルターがどれくらい頻繁に変更されるか」です。
ユーザーが頻繁に操作するフィルターは、基本的にコンテキストには向いていません。変更のたびに再計算が走るため、操作体験が悪化します。
逆に、ダッシュボードの前提として固定される条件は、コンテキストに適しています。この判断基準を持つだけで、設計の質が大きく変わります。

ユーザーが頻繁に操作するであろうフィルターはコンテキストには向いていない
データ削減効果を意識する
コンテキストフィルターは、「どれだけデータを減らせるか」が重要です。ほとんどデータ量が変わらない条件を設定しても、パフォーマンス改善の効果は期待できません。
例えば、「全体の90%を占めるカテゴリ」をコンテキストに設定しても意味は薄いですが、「データの20%に絞れる条件」であれば大きな効果があります。
常に「このフィルターはどれだけデータを削減できるか」を意識することが重要です。
最終的な設計は検証で判断する
コンテキストフィルターは理論だけでなく、実際の挙動を確認しながら調整することが不可欠です。
同じ条件でも、データ構造や計算内容によって最適な設定は変わります。そのため、パフォーマンスを比較しながら最適な構成を見つける必要があります。
「なんとなく良さそう」で設定するのではなく、実際に動作を確認し、根拠を持って選択する。このプロセスが、実務レベルでは非常に重要になります。
まとめ
Tableauのフィルタリングを使用する際は、フィルターの概念や処理規則などを網羅しておくことで、多様なデータを算出することができます。コンテキストフィルターは、Tableauを活用する幅が広がる機能ですので、高度なデータ分析を行う上での登竜門として、本記事を参考としながら、使用してみてください。
<Tableau>
弊社ではSalesforceをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら
また、弊社ではTableauの導入支援のサポートも行っています。こちらもぜひお気軽にお問い合わせください。
>>Tableauについての詳細はこちら

