1. Power BIにおけるスライサーの概要
1.1 スライサーとは?
スライサー(Slicer) とは、レポート画面上でユーザーがデータのフィルタリング条件を対話的に変更できるビジュアルのことです。Excelの「スライサー」をイメージしていただくと分かりやすいですが、Power BIではさらに多機能であり、下記のような種類のスライサーがあります。
-
カテゴリスライサー:文字列や区分などをチェックボックスやドロップダウンで選ぶ。
-
日付スライサー:範囲指定やドロップダウンで日付を絞り込む。
-
数値スライサー:スライダーや範囲指定で値を絞り込む。
-
階層型スライサー:複数階層(都道府県→市区町村など)のフィールドをまとめて絞り込む。
スライサーを操作すると、レポート上の他のすべてのビジュアルに対して絞り込み(フィルタ)が適用され、瞬時に数値が切り替わるインタラクティブな機能が実現できます。通常のフィルターウィンドウよりも見た目や操作性が優れており、ダッシュボードを使うユーザーにとっては大変便利です。
1.2 スライサーの追加と基本的な使い方
-
スライサーを挿入
Power BI Desktopの「レポートビュー」画面で、「ビジュアルの挿入」ペインから「スライサー」を選択します。 -
フィールドの割り当て
作成したスライサーに対して、フィールドペインから絞り込みの元となる列(たとえば「商品カテゴリ」「地域」「日付」など)をドラッグ&ドロップします。 -
表示モードの設定
-
リスト(チェックボックス)
-
ドロップダウン
-
スライダー(日付や数値など)
-
相対日付スライサー(「過去30日」「今月」などの相対的な指定)
など、適切な表示形式を選択します。
-
-
シングルセレクト or マルチセレクト
スライサーの「書式」設定(またはビジュアルヘッダー)から「単一選択を有効/無効」にできます。-
単一選択:同時に1つの値しか選べない
-
マルチ選択:複数の値を同時に絞り込める(チェックボックスが複数ONにできる)
-
この時点で、すでに複数項目の選択(AND条件)による絞り込みが可能ですが、「複数条件」の指定方法は状況によって異なります。次章以降で詳しく見ていきましょう。
2. 複数条件の基本:スライサーとフィルターの組み合わせ
2.1 スライサー同士のAND条件
Power BIでは、異なるスライサー(例:地域スライサーと商品カテゴリスライサー)が配置されている場合、通常はANDで組み合わさります。たとえば、
-
地域スライサーで「東京」を選択
-
商品カテゴリスライサーで「家電」を選択
すると、「東京」かつ「家電」だけに該当する明細が絞り込まれます。これをANDロジックと呼びます。
2.2 同じスライサー内でのマルチセレクト
1つのスライサー内でも複数のチェックボックスをONにすると、それらの値のOR条件ではなく通常は「選択された複数項目」全体に対するIN条件が適用されます。
具体的には、たとえば「商品カテゴリ」スライサーで「家電」「書籍」の2つを選択すると、「家電または書籍に該当する」明細が絞り込まれます。これは概念的にはORですが、Power BI上では「IN (家電, 書籍)」というフィルタ式になります。
-
スライサーA(地域) = “東京”
-
スライサーB(カテゴリ) = IN(“家電”,”書籍”)
最終的な結論は、**「(地域 = 東京) AND (カテゴリ IN (家電, 書籍))」**というような絞り込みが適用されるわけです。
実務では、多くの場合この単純な組み合わせで要件を満たせることが多いでしょう。
2.3 レポートレベルフィルターやページレベルフィルターとの組み合わせ
スライサー以外にも、レポートビルダーの「フィルター」機能(ページレベルやレポートレベル、ビジュアルレベル)で条件を設定できます。これらのフィルターも基本的にはスライサーと同じANDロジックで組み合わさります。
たとえば、ページレベルフィルターで「売上 > 10000」の条件をあらかじめ設定しておき、さらにスライサーで「カテゴリ = 家電」「地域 = 東京」を選択した場合は、売上 > 10000 かつ 地域=東京 かつ カテゴリ=家電となります。
3. 複数条件指定でつまづきやすいケース
3.1 同一テーブルの異なる列を「OR条件」で絞り込みたい
たとえば「色(Color) = ‘赤’ OR ‘青’」かつ「サイズ(Size) = ‘L’」のような絞り込みをしたいとします。
通常のスライサー配置では、「色 = 赤」かつ「色 = 青」」というAND条件にならないか? という混乱が起きがちです。
対処方法
-
マルチセレクトを使って「赤」と「青」を同一スライサーで選択する → これはIN(赤, 青)となるため問題なく「赤または青」が絞れます(これはOR)。
-
ただし「異なる列」同士をOR条件にするのは標準のスライサーではできません。普通はAND条件になります。もし「色=赤」または「サイズ=L」というように、列が違うORロジックを作りたい場合は、DAXでカスタムテーブルやWhat-Ifパラメータを作成するなど、工夫が必要になることがあります(後述)。
3.2 同じ列に対して複数の条件を同時にANDで指定したい
たとえば「商品名に ‘カメラ’ を含み、なおかつ『高級』を含む商品名だけを抽出したい」など、テキスト列に2つ以上の含む条件をANDで掛け合わせたいケースです。
標準のスライサーには「文字列の部分一致」などの細かい設定はありません。そのため、Advanced Filtering(「ビジュアルレベルフィルター」など)を使うか、検索機能付きのスライサーを利用して部分一致で手動検索するのが一般的です。
もしくは、あらかじめ「カメラかつ高級」というフラグをDAXで計算列にしてしまい、その列をスライサーにかけるというアプローチもあります。
3.3 AND条件とOR条件を混ぜたい
「地域が東京OR大阪で、かつカテゴリが家電OR家具」というように、複数のORをANDでつなげる要件は比較的単純に実装できます。というのも、スライサーを2つ配置して(地域スライサー、カテゴリスライサー)、それぞれで複数選択すればよいだけだからです。
一方、「(地域=東京 AND カテゴリ=家電) OR (地域=大阪 AND カテゴリ=家具)」のような複合条件を実現したい場合は、標準機能のスライサーだけでは再現が難しく、DAXメジャーやカスタムビジュアルの工夫が必要になります(後述の応用例で触れます)。
4. スライサーにおけるOR条件の実現テクニック
4.1 DAXによるカスタム列やメジャーを活用
DAXを使えば、特定のロジックで「フラグ列」を作成し、そのフラグがTRUE
の場合にのみフィルタリングするという方法が取れます。例えば、以下のように「東京&家電」または「大阪&家具」でフラグが立つ列(またはメジャー)を作る例を示します。
CustomCondition =
IF(
( 'Sales'[Region] = "東京" && 'Sales'[Category] = "家電" )
||
( 'Sales'[Region] = "大阪" && 'Sales'[Category] = "家具" ),
1,
0
)
-
このような計算列を作成し、値が
1
の行だけに絞り込めば、上記のOR条件が実現できます。 -
実際のスライサーには
CustomCondition
(値が0/1)を配置するか、あるいはビジュアルレベルフィルターでCustomCondition = 1
を選ぶ方法があります。 -
ただし、条件が多岐にわたると管理が煩雑になるため、あくまで特定のピンポイント要件に使うイメージです。
4.2 What-Ifパラメータの応用
Power BIのWhat-Ifパラメータは、スライダーや選択肢によって変動する変数をメジャーとしてレポート内で使える機能です。たとえば「数値Xが閾値以上か、カテゴリYが選択されたか」などの複合判定をDAXで書き、結果をビジュアルに反映することができます。
ただし、比較的シンプルな活用がメインで、複雑なOR条件を多数盛り込むには工夫が必要です。
4.3 カスタムビジュアルを利用する
Power BIの「マーケットプレース」から、より高機能なフィルタリング用の**カスタムビジュアル(Advanced Slicer系など)**をインストールする手段もあります。
一部のカスタムビジュアルは、同一画面上で柔軟なAND/ORロジックを組み合わせられるものがあります。ただし第三者が作成したビジュアルを導入する場合は、サポート面や更新状況をよく確認しましょう。
5. 複数スライサーとフィルタ相互作用の注意点
5.1 デフォルトで設定される相互作用
Power BIレポートでは、デフォルトですべてのスライサーが互いに連動し合う設定になっています。例として、「地域」スライサーで「東京」を選ぶと、もう一方の「カテゴリ」スライサーでは、実際に東京で販売実績のあるカテゴリだけが選択候補として残る場合があります。
これはクロスフィルタリングと呼ばれる仕組みで、ユーザーにとっては「東京には存在しないカテゴリを誤って選べない」というメリットがあります。
5.2 相互作用のオン/オフと「編集」設定
もしスライサー同士の相互作用を抑制したい場合、**レポートビュー上で「ビジュアル間の相互作用」**を調整できます。
-
「フォーマット」→「編集の相互作用」を選択すると、各ビジュアルごとに「フィルターする/ハイライトする/何もしない」が選択可能。
-
スライサーAがスライサーBに影響を与えないように「何もしない」を選ぶと、Bの選択候補はAでの絞り込みに関わらず全て表示されるようになります。
5.3 日付スライサーの組み合わせ
日付スライサーを2つ配置し、「開始日」と「終了日」を別々に指定するようなケースもあります。しかし、標準のスライサー1つだけで**「日付範囲(Between)」**を指定することが可能なので、通常は2つ別々に作らなくてもOKです。
どうしても開始日と終了日を分けたい場合には、2つの日付スライサーを置いて、それぞれを>=
と<=
の関係で動かすためのDAXを活用する方法もありますが、ユーザビリティ的にはBetweenスライサーが一般的です。
6. 複数条件を使いこなすための応用テクニック
6.1 別テーブルを使ったディスコネクテッドスライサー
ディスコネクテッドテーブル (Disconnected Table) という概念を使うと、より柔軟なフィルタリングロジックをDAXでコントロールできます。
例えば、下記のようにスライサー用のテーブルをリレーションなしで用意し、そのスライサーの選択状況をメジャーで取得して、ファクトテーブル側に条件として適用します。
-
スライサー用テーブル(例:ParamTable)を作成
DAXParamTable =
DATATABLE(
"ParamValue", INTEGER,
{
{1},
{2},
{3}
}
)
ここには単純に 1, 2, 3 といった値が入っているだけで、ファクトテーブルとはリレーションを結びません。
-
スライサーを設置
-
ParamTableの[ParamValue]をスライサーとして利用。
-
-
メジャーを定義し、ユーザーの選択状況を判定
DAXSelectedParam = SELECTEDVALUE(ParamTable[ParamValue], 0)
-
ユーザーがスライサーで 1, 2, 3 のどれかを選んだら、その値が返る。何も選ばれていない場合は 0 が返る。
-
-
フィルタリングメジャーを作り、条件を指定
DAXFilteredSales =
CALCULATE(
[Total Sales], -- 既存メジャー (売上合計 など)
KEEPFILTERS(
SWITCH(
[SelectedParam],
1, 'Sales'[Region] = "東京",
2, 'Sales'[Category] = "家電",
3, 'Sales'[Region] = "大阪" && 'Sales'[Category] = "家具",
TRUE, 1=1
)
)
)
-
こうすることで、ParamTableからの選択(1/2/3)に応じた条件を動的に適用できます。
-
この例ではパラメータを3種類に限定していますが、もっと柔軟なOR/ANDロジックも書けるようになります。ディスコネクテッドテーブルは若干高度なテクニックですが、標準スライサーの機能だけでは難しい複合条件を扱う際に非常に強力です。
6.2 ボタンやブックマークを使った疑似スライサー
Power BIにはブックマークやボタン機能があり、特定のフィルタ状態を保存したり、切り替えるUIを作成できます。
-
「ボタンを押すと東京&家電が選択状態になる」「別のボタンを押すと大阪&家具になる」といった、事前定義したシナリオをユーザーがワンクリックで切り替えられる仕組みを作ることが可能です。
-
ただしこれはあくまで「複数条件をブックマークに保存して切り替える」手法であり、ユーザーが自由にOR条件を作るわけではありません。特定の分析パターンが決まっているシーンに有効です。
7. 複数条件スライサーの運用とベストプラクティス
7.1 スライサーは必要最小限に
複数条件をかけたいからといって、やみくもに大量のスライサーを並べるとレポートの可読性が低下し、ユーザーが混乱してしまいます。主要な分析視点(ディメンション)に絞ったスライサーを用意し、それ以外の細かい条件はフィルタペインやレポートレベルフィルタで対応する、といった棲み分けが望ましいでしょう。
7.2 AND/OR条件のロジックをユーザーに分かりやすく伝える
多くのユーザーは「スライサーAで東京、スライサーBで家電を選んだらどうなるの?」と疑問を持つことがあります。一般的には「AND条件になる」ことをあらかじめガイダンスとして示したり、チュートリアルを用意しておくとトラブルが減ります。
また、スライサーを複数用いる場合の選択結果を見やすいように、カードビジュアルやテキストボックスで「現在の選択:地域=東京、カテゴリ=家電」といった形で動的に表示する工夫も有効です。
7.3 大規模データへの影響を考慮
複数のスライサーを自由に使われると、クエリが複雑になり、処理負荷が高まることがあります。特にDirectQueryモードで大規模データベースにアクセスしている場合、スライサー操作のたびにクエリが発行されるため、遅延が発生するかもしれません。
-
スライサー同士の相互作用を制限する
-
必要に応じてImportモードやAggregations機能を検討する
-
事前集計テーブル(Aggregated Table)を導入する
などの方法でパフォーマンスを確保することが重要です。
7.4 階層スライサーの活用
地域などの階層が深いフィールド(都道府県→市区町村→支店など)を扱う場合、通常のスライサーを3つ並べるよりも、階層をまとめたスライサーを配置するとユーザーが選択しやすいです。ただし階層スライサーも標準ビジュアルの機能には制限があり、複雑な階層を扱う場合はカスタムビジュアルを検討すると良いでしょう。
8. まとめ
本記事では、Power BIのスライサーを使った複数条件の絞り込みについて、基本から応用までを網羅的に解説しました。ポイントを整理すると、下記のようになります。
-
スライサー同士の組み合わせは基本的にAND
-
スライサーAとスライサーBがそれぞれ別のフィールドを絞る場合、「A かつ B」の条件になる。
-
ただしスライサーの中で複数チェックを入れると、そのフィールド内では「IN(複数値)」=ORのような絞り込みになる。
-
-
複雑なOR条件や複合条件を実現するには工夫が必要
-
DAXでカスタム列を作る
-
ディスコネクテッドテーブルとメジャーを組み合わせる
-
カスタムビジュアルやブックマーク、What-Ifパラメータを使う
-
-
ユーザーにとって分かりやすいUI/UXを心がける
-
スライサーを必要以上に増やさず、主要なディメンションを厳選
-
相互作用の設定を調整し、無駄な絞り込みを避ける
-
選択状態をカードやテキストで表示し、現在のフィルタを可視化
-
-
パフォーマンスにも注意
-
大規模データをDirectQueryで扱う場合、スライサー操作のたびにクエリが走る
-
AggregationsやImportモード、集計テーブルなどで負荷を分散する
-
多くの場合、レポートユーザーが期待する「複数条件の絞り込み」は、標準のスライサー機能だけで十分対応できるケースが多いです。しかし、どうしてもAND/ORを複雑に組み合わせた特殊な条件を満たす必要がある場合は、DAXやディスコネクテッドテーブルといったやや高度なテクニックを身につけておくと問題を解決できます。
Power BIは継続的にアップデートが行われており、スライサーの機能や新しいビジュアル、DAXの拡張などが進化しています。最新情報やコミュニティでの事例も随時チェックしながら、自社のビジネス要件に合った最適なスライサーの設計・運用を目指してください。そうすることで、ユーザーの操作性を高めつつ、ビジネス分析の効率と深みをさらにアップさせることができるでしょう。
もし困り事があるなら、まずは無料相談を
「Power BI で箱ひげ図を使って詳細分析をしたいが、データモデルやDAX設計が複雑でわからない…」「Power Automate を併用してデータ更新フローを自動化したいが、どこから手を付ければいいのかわからない」といったお悩みをお持ちの方も多いのではないでしょうか。
私たちは、Power BIやPower AutomateなどのMicrosoft製品の導入・運用支援、およびデータ活用コンサルティングを行っています。
-
具体的な設定や開発代行
-
社内教育のための伴走型支援
-
有料プランへの移行タイミングやROIの判断支援
など、さまざまなニーズに合わせたサービスをご用意しています。まずはお気軽に「無料相談」へお申し込みください。下記のリンクからお問い合わせいただけます。
7. セミナーで学ぶ!DAX 関数の実践スキル
箱ひげ図をはじめ、Power BIを使いこなすうえで欠かせないのがDAX関数の知識です。DAXをしっかり学ぶことで、データの前処理から複雑な指標の算出までスムーズにこなせるようになります。そんなDAXとデータモデル設計を効率よく学習できるハンズオンセミナーを開催しています。
🔰 Power BIハンズオンセミナー初級編
-
短時間でデータモデリングの基礎を身につける
-
実務にすぐ活かせるレポート作成を実践形式で学ぶ
-
少人数制なので、つまずきポイントを都度フォロー
🚀 Power BIハンズオンセミナー中級編
-
DAX関数 × データモデル設計 の実践的なノウハウを習得
-
複雑な分析要件にも対応できる応用力を身につける
-
即戦力として業務効率アップや社内評価向上に直結
👉 詳細はこちら
DAXをしっかりマスターすると、箱ひげ図のような高度な可視化においても、必要なデータを柔軟に加工・集計できるようになります。結果的に、組織全体のデータドリブン化をリードできる存在となり、キャリアアップにも大いに役立ちます。
コメント