Power BI レポートに ドリルスルー ページを設定するには

製品とサービスの更新(2017/09)で、ページの遷移を含むドリルスルーの設定ができるようになったので、その機能や設定手順などの解説メモ。

**2018/05 の更新で メジャー(Measure) を利用するドリルスルーもできるようになった。**
[Power BI Desktop May Feature Summary](https://powerbi.microsoft.com/en-us/blog/power-bi-desktop-may-2018-feature-summary/)



# 機能概要
レポートの同一ページに配置されたチャートやテーブルなどビジュアルの相互作用(フィルタリングと強調)に加え、インサイトを支援する機能としてドリルスルー ページが利用できるようになった。ユーザーが選択したビジュアル内の特定の要素に関連するデータを参照できるようになる。例えば、概要となるデータ(Summary)から詳細データ(Detail)に遷移する使い方などができるということ。

# 設定手順
設定手順は簡単。遷移先になるページを作成し、フィルター要素となる列(フィールド)を[ドリル スルー フィルター]に設定するだけ。

## サンプルのクエリ
サンプルは非常にシンプルなデータとするが、構成されたデータモデルの多くではディメンジョンテーブルのフィールドを使うことになると思う。

```text:クエリ
let
    Source = #table(
        type table [担当者 = text, 製品 = text, 数量 = Int64.Type],
        {
            {"田中", "商品A", 20}
           ,{"田中", "商品B", 100}
           ,{"田中", "商品C", 50}
           ,{"鈴木", "商品A", 20}
           ,{"鈴木", "商品B", 10}
           ,{"鈴木", "商品C", 30}
           ,{"山田", "商品B", 5}
           ,{"山田", "商品C", 40}
        }
    )
in
    Source
```
※[クエリ エディター] - [詳細エディター]にコピペ

## ビジュアルの配置
いくつかの動作パターンが確認できるので "マトリクス" をレポート上に配置。

![マトリクスの配置](https://qiita-image-store.s3.amazonaws.com/0/193509/df4dae89-ce1a-ea6b-db70-b689303d7a80.png)

## ページの追加と設定
ページを複製しページ名を変更。そして、[ドリル スルー フィルター]にドリルスルー時に使用されるフィールドを設定する。

![ドリル スルー フィルターの設定](https://qiita-image-store.s3.amazonaws.com/0/193509/6cc75dd7-5518-e271-3ec6-251ff5506707.png)

[ドリル スルー フィルター]を設定すると [戻る]ボタン が設定されたイメージが自動的に配置される。
![戻るボタン](https://qiita-image-store.s3.amazonaws.com/0/193509/c7b60a48-2861-6a56-b330-43148cacdcfa.png)

もうひとつ
![ドリル スルー フィルターの設定](https://qiita-image-store.s3.amazonaws.com/0/193509/47a9dcdc-d691-b650-c203-f348d172bbec.png)

### [戻る]ボタン
直前に参照していたページに戻る機能を持つ。
そのまま使ってもよいし、[図形の書式設定]で見た目を調整するも自由。挿入したイメージや図形でも構わない。[戻る]ボタンオプションが"オン"になっていれば機能する。Power BI Desktop での操作は、Ctrl + 右クリック。

### ドリルスルー ページのデザイン
サンプルではページを複製しドリルスルーの動作がわかりやすいようにしたが、本来では目的に応じたページを作成することになる。[ドリル スルー フィルター]設定時にはフィルターに使用される値が選択されていないが、任意のフィルター値を選択しページの表示を確認しながらページのデザインを行うことができる。

## 動作の確認
コンテキスト メニューからドリルスルーできるページを選択できるようになり、また、選択したビジュアル上の要素によりドリルスルー先として選択できるページは異なる。コンテキスト メニューに表示されるのは "ページ名" なのでユーザーにわかりやすい命名が必要。

### コンテキスト メニュー
マトリクスの **行見出し** を右クリックしたとき
![マトリクスの行見出しを右クリック](https://qiita-image-store.s3.amazonaws.com/0/193509/bb470fd0-9400-4efc-466d-dfe7bf39e004.png)

マトリクスの **列見出し** を右クリックしたとき
![マトリクスの列見出しを右クリック](https://qiita-image-store.s3.amazonaws.com/0/193509/93120b50-b2bc-9236-ae2c-5a88a0f8c2c7.png)

マトリクスの **値フィールド** を右クリックしたとき
![マトリクスの値フィールド右クリックしたとき](https://qiita-image-store.s3.amazonaws.com/0/193509/86811098-3a02-a692-984d-0967f388bc05.png)

### ドリルスルー オプションを有効にしたとき
ドリルスルー オプションが有効になっているときは、ドリルスルー先だけのコンテキスト メニューになる。

#### Power BI Desktop
![ドリルスルー オプション](https://qiita-image-store.s3.amazonaws.com/0/193509/b5abd71c-7def-387c-a638-00c6fad8a02e.png)

#### Power BI Service
![ドリルスルー オプション](https://qiita-image-store.s3.amazonaws.com/0/193509/f9e15d28-76e0-83d2-0089-8644a7495800.png)

## ドリルスルー ページが選択できない理由
- フィールドが表示されていないか、使用されていない

ドリルダウンなどができるビジュアルで[ドリル スルー フィルター]に設定したフィールドが表示されていない状態や誤ったフィールドを[ドリル スルー フィルター]に設定している。

- 集計された値
2018-05 更新で集計された値であるメジャー(Measure)もサポートされた。
~~例えば、マトリクスの値フィールドは常に集計された値が表示されるので、この値をもとにドリルスルーを機能させることはできない。値が集計されない設定をしたビジュアル(テーブルなど)ではこのサンプルデータでも動作は可能。~~

- 対応していないビジュアル


# 情報
- [Power BI Desktop September Feature Summary | Microsoft Power BI ブログ](https://powerbi.microsoft.com/en-us/blog/power-bi-desktop-september-2017-feature-summary/)

- [Power BI Desktop を使い始めるには](http://qiita.com/PowerBIxyz/items/6c4735cb5b5712e70981)
- [Power BI 勉強会 - connpass](https://powerbi.connpass.com/)