Power BIのスライサーは選択範囲を限定的なものにし、選択したスライサーの項目でフィルターする機能となります。これはExcelのスライサーと同様の動きですが、このスライサーを使って、Power BIのテーブルビジュアルの行をハイライトさせるやり方を紹介します。
シナリオ
以下のようなPower BIレポートがあります。
通常、スライサーで選択を行うと、以下のようにOverseasと選択すれば、Country = "Overseas"のレコードだけが抽出され、ビジュアル(この場合はテーブル)に反映されます。
同様に、Japanを選択すると、Country = "Japan"のみの結果が抽出されます。
Power BIでレポートを作ったことがある人であれば、これが通常の動きであると何ら不思議に思うことはないでしょう。
一方、今回紹介する内容は以下のように、スライサーをクリックして、「Highlight Overseas」であれば海外、「Highlight Japan」であれば日本の項目だけをハイライトさせる使い方になります。
実際のユースケースとして、
- 上記のように、大きな括りでテーブルビジュアルの結果をより分かりやすく表現したい場合
- 特別に目立たせたい項目をハイライトしたい場合
等が考えられますが、応用次第でこれ以外の使い方もあるかもしれません。
テーブルビジュアル
具体的なやり方に入り前に、まずはテーブルビジュアルについて理解する必要があります。テーブルビジュアルは下図の通り、視覚化 > テーブルというアイコンをクリックして挿入しますが、テーブルの列やメジャーは全て同じ「値」に入れます。
出来上がりが、先頭にあるテーブルになりますが、「値」に入れた順番で左から表示されるようになります。また、特徴の1つとして、Shiftキーを押しながら複数の項目(値ヘッダー)をクリックすると、テーブル内で並び替えを行うことができることです。
Power BIにおけるテーブルビジュアルは、
テーブル一覧として項目を分かりやすく表現したい
場合に使用すると良いのですが、Excelのピボットテーブルのような使い方になってしまいますので、項目が多い場合は逆に分かりにくくなってしまうかもしれません。
また、Excelユーザーに多い使い方かもしれませんが、以下①~③の手順で、テーブル内のデータをCSVとして出力したりすることもできます。
出力されたファイルを開くと、以下のように抽出されます。Excelでアドホックな分析を行いたい、あるいはデータ量がそれほど多くない場合、定期的にデータを抽出してCSVソースとして保持したい場合に使用できる機能となります。
ただし、一度にエクスポートできる量が30,000行になりますので、留意が必要です。
Power BI ビジュアルからデータをエクスポートする - Power BI | Microsoft Docs
ちなみに、エクスポート時の既定のファイル名はdataとなりますが、テーブルにタイトル名がある場合、そのタイトル名が規定のファイル名となって、エクスポートできるようになります。
ハイライトの構築
至ってシンプルですが、ここから実際にハイライトを行う手順を紹介します。
- スライサー用のDisconnectedテーブルを作成
- 条件付き書式メジャーを作成
- 条件付き書式を使用し、2で作ったメジャーを適用
Disconnectedテーブルは別名、ヘルパーテーブルと言ったりしますが、Disconnectedという名称の通り、
他のテーブルとリレーションシップのないテーブル
となります。DAXでお手軽に作れますので、以下のように操作します。
表示されるDAX数式バーに以下のコードを記載。なお、こちらの数式バーは計算テーブルを作るためのものとなりますので、「ホーム」 > 「新しいメジャー」から作ることはできないことに留意。
これにて、計算テーブルとして、新たにdFlagというテーブルが追加されました。
次にステップ2として、条件付き書式用のメジャーを作ります。その前に、データモデルを確認する必要がありますが、今回は上図の通り、2つのテーブル(BI ToolsとdFlag)が存在するだけになります。
- HighlightFlag
このメジャー(HighlightFlag)ですが、結果は0、1、2のいずれかを返します。
- dFlagで選択された値が1(=JP)、かつ、(テーブルビジュアルで)Country = "Japan"となっていた場合は1
- dFlagで選択された値が0(=OTH)、かつ、(テーブルビジュアルで)Country = "Overseas"となっていた場合は0
- それ以外は2
というロジックになります。もう少し分かりやすく説明しますと、下図のように、Highlight Overseasが選択された場合(すなわち、dFlag[FlagSort] = 0が選択された場合)、テーブルビジュアル内でCountry = "Overseas"になっていれば、1という数値が返り、最後のステップ3の設定が終われっていれば、設定された項目がハイライトされるようになります。
ということで、最後のステップ3ですが、以下のように調整をします。
- テーブルをクリック > ビジュアルの書式設定
- セル要素 > 系列を選択 > 背景色のfxアイコンをクリック
- 項目を以下のように設定。③の色については適宜好きな色を選択すればよいが、あまりダークな色にしないことがポイントです。
- 結果を確認
これでPopularityという項目について、設定が完了しました。ここでお気づきの方もいると思いますが、実はこの条件付き書式の設定、セル要素の全ての項目に対して行う必要があります。非常に面倒ですが、Power BIの仕様になりますので、こればかりはどうしようもありません。
よって、下図のように、新たに「値」フィールドに項目を追加した場合、条件付き書式が反映されない状態になりますので、上記のステップから、「設定の適用先」>「系列」からIsGartnerMQを選択し、背景色をもう一度同じように設定を行う必要があります。
まとめ
- Disconnectedテーブルを使用すれば、自分が望む形でテーブルビジュアル内の行をハイライトすることができる
- リレーションシップがないので、スライサーはビジュアルをフィルターすること以外のことを実現できる
- 設定は面倒であるが、ビジュアルインパクトは抜群