Power BIで複数のデータベースを一度に表示するレポートを作成する際、スライサーを使用してデータを絞り込むことは非常に便利ですが、AND条件で絞り込まれてしまう場合、必要なデータが表示されないことがあります。この記事では、Power BIのスライサー機能で、顧客名と顧客コードをOR条件で検索し、どちらかが一致すればデータを表示する方法を解説します。
Power BIでのスライサー検索条件の仕組み
Power BIのスライサーは、デフォルトでは「AND」条件で動作します。つまり、複数のスライサーで選択された項目が全て一致するデータのみが表示されます。このため、顧客名と顧客コードでフィルタをかけた場合、両方に一致するデータしか表示されません。
この挙動は時には不便で、顧客名または顧客コードのいずれかが一致するデータも表示させたい場面があるでしょう。では、どのようにすればこれを実現できるのでしょうか?
OR条件による検索を実現する方法
Power BIでスライサーをOR条件で検索するには、データモデルに工夫を加える必要があります。最も効果的な方法は、カスタム列を使用して、顧客名または顧客コードのどちらかが一致すればデータが表示されるようにすることです。
この方法を実現するために、以下の手順で進めていきましょう。
- ステップ1: 顧客名と顧客コードを合わせた新しいカスタム列を作成する。
- ステップ2: 新しいカスタム列をスライサーで使用する。
- ステップ3: そのカスタム列に対してフィルタをかけて、OR条件に一致するデータを表示する。
カスタム列の作成手順
Power BIでは、DAX(Data Analysis Expressions)を使って新しいカスタム列を作成することができます。以下のDAX式を使って、「顧客名」または「顧客コード」のいずれかが一致する条件を設定します。
顧客フィルタ列 = IF(SEARCH([顧客名], [検索キーワード], 1, 0) > 0 || SEARCH([顧客コード], [検索キーワード], 1, 0) > 0, 1, 0)
この式は、顧客名または顧客コードのいずれかに検索キーワードが一致すれば「1」を返し、そうでなければ「0」を返します。これにより、スライサーで「1」の値を選択することで、顧客名または顧客コードが一致するすべてのデータを表示できるようになります。
スライサーにカスタム列を追加する
カスタム列を作成した後、Power BIレポートのスライサーに追加します。このカスタム列を選択し、ユーザーが検索条件を指定できるようにします。
これで、スライサーの操作で顧客名または顧客コードに一致するデータを表示することが可能になります。
実際の例で見るOR条件の検索結果
例えば、顧客名「佐藤」と顧客コード「12345」を入力した場合、このカスタム列を使ったスライサーでは、いずれかの条件に一致するデータが全て表示されます。これにより、検索の幅が広がり、必要な情報をより柔軟に取得できるようになります。
この方法は、複数のスライサーで「AND条件」のみに頼っている場合のデータ抽出の制限を解消するのに非常に有効です。
まとめ
Power BIのスライサー機能で、顧客名や顧客コードをOR条件で検索する方法について解説しました。カスタム列を使用することで、どちらかの条件が一致すればデータを表示させることが可能となり、より柔軟なデータ絞り込みができます。ぜひ、実際のレポート作成時に試してみてください。
コメント