Power BI でドリルスルー ボタンを作成する
適用対象: Power BI Desktop Power BI サービス
Power BI で "ドリルスルー" ボタンを作成できます。 このボタンでは、特定のコンテキストにフィルター処理された詳細情報を含むページにドリルスルーします。
レポートをドリルスルーする方法の 1 つは、視覚エフェクトを右クリックすることです。 ただし、ドリルスルー アクションをより明確にしたい場合は、代わりにドリルスルー ボタンを作成することができます。 ドリルスルー ボタンを使用すると、レポート内の重要なドリルスルー シナリオの検出可能性を高め、ボタンの外観と動作を条件付きで決定できます。 たとえば、特定の条件が満たされた場合に、ボタンに異なるテキストを表示できます。
この例では、グラフ内の Word バーを選択した後、[詳細の表示] ボタンが有効になります。
[詳細の表示] ボタンを選択した場合は、[マーケット バスケット分析] ページにドリルスルーします。 次の視覚エフェクトからわかるように、ドリルスルー ページが Word 用にフィルター処理されました。
ドリルスルー ボタンを設定する
ドリルスルー ボタンを設定するには、まず、レポート内に有効なドリルスルー ページを設定する必要があります。 次に、アクションの種類としてドリルスルーを含むボタンを作成し、[Destination] (宛先) としてドリルスルー ページを選択します。
ドリルスルー ボタンには 2 つの状態 (有効と無効) があるため、2 つのツールヒント オプションが表示されます。
ツールヒントのボックスを空白のままにすると、Power BI によって自動的にツールヒントが生成されます。 これらのツールヒントは、[Destination] (宛先) フィールドとドリルスルー フィールドに基づいています。
次の例は、ボタンが無効になっているときに自動生成されるツールヒントを示しています。
"マーケット バスケット分析 [ターゲット ページ] にドリルスルーするには、Product [ドリルスルー フィールド] からデータ ポイントを 1 つ選択します。"
次の例は、ボタンが有効になっているときに自動生成されるツールヒントを示しています。
"クリックすると、マーケット バスケット分析 [ターゲット ページ] にドリルスルーします。"
ただし、カスタム ツールヒントを提供する場合は、静的な文字列を入力できます。 条件付き書式をツールヒントに適用することもできます。
フィルター コンテキストを渡す
このボタンは、通常のドリルスルーと同様に機能します。ドリルスルー フィールドを含む視覚エフェクトをクロスフィルター処理すると、追加のフィールドにフィルターを渡すことができます。 たとえば、Ctrl キー + クリックとクロスフィルター処理を使用すると、[Store Breakdown] に対する複数のフィルターをドリルスルー ページに渡すことができます。これは、選択によって、ドリルスルー フィールドの Product を含む視覚エフェクトがクロスフィルター処理されるためです。
ドリルスルー ボタンを選択した後、Store と Product の両方に対するフィルターがターゲット ページに渡されることがわかります。
あいまいなフィルター コンテキスト
ドリルスルー ボタンは 1 つの視覚エフェクトに関連付けられるわけではないため、選択範囲があいまいな場合、ボタンは無効になります。
この例では、2 つのビジュアルの両方に Product の選択が 1 つ含まれているため、ボタンは無効になっています。 どのビジュアルのどのデータポイントにドリルスルーアクションを結びつけるかという点があいまいです。
無効なボタンの書式設定をカスタマイズする
ドリルスルー ボタンの無効状態の書式設定オプションをカスタマイズすることができます。
次のような書式設定オプションがあります。
ボタン テキスト コントロール: テキスト、フォント ファミリ、フォント サイズ、フォントの色、配置、パディング
ボタンの塗りつぶしコントロール: 色、塗りつぶしイメージ、透明度
ボタン アイコン コントロール: 図形、線の色、太さ、透明度、配置、パディング
ボタンの境界線コントロール: 色、幅、透明度
条件に応じてボタン テキストの書式を設定する
Power BI Desktop では、条件付き書式を使用して、フィールドの選択した値に基づいてボタンのテキストを変更できます。 これを行うには、DAX 関数 SELECTEDVALUE
に基づいて目的の文字列を出力するメジャーを作成します。
次のメジャーの例では、単一の Product 値が選択 "されていない" 場合に "製品の詳細を表示" と出力されます。 1 つの製品値が選択されている場合、メジャーは "[選択された Product ] の詳細を表示" と出力します。
String_for_button = If(SELECTEDVALUE('Product'[Product], 0) == 0, "See product details", "See details for " & SELECTEDVALUE('Product'[Product]))
このメジャーを作成したら、Power BI Desktop で次の手順に従います。
ボタン テキストの [条件付き書式 (fx)] オプションを選択します。
ボタンのテキストに作成したメジャーを選択します。
製品を 1 つ選択すると、ボタンのテキストが次のように読み上げられます。
"Word の詳細を表示"
製品が選択されていないか、複数の製品が選択されている場合、ボタンが無効になります。 ボタンのテキストが次のように読み上げられます。
"製品の詳細を表示"
条件に応じてツールヒントの書式を設定する
ドリルスルー ボタンが有効または無効になっている場合、条件に応じてそのツールヒントの書式を設定することができます。 条件付き書式を使用してドリルスルー先を動的に設定した場合は、エンド ユーザーの選択に基づいて、ボタンの状態のツールヒントをより詳細にすることができます。 次に例をいくつか示します。
カスタム メジャーを使用して、無効状態のツールヒントを個別に規範となるように設定することができます。 たとえば、ユーザーが 1 つの製品 "および" 1 軒の店を選択してから、マーケット分析ページにドリルスルーできるようにする場合は、以下のロジックを使用してメジャーを作成できます。
ユーザーが 1 つの製品と 1 軒の店のいずれも選択していない場合、メジャーでは、"製品を 1 つ選択し、Ctrl キーを押しながらクリックして店も 1 軒選択してください" と返されます。
ユーザーが 1 つの製品を選択しても、1 軒の店を選択しなかった場合、メジャーでは、"Ctrl キーを押しながらクリックして、店も 1 軒選択してください" と返されます。
同様に、有効状態のツールヒントを、ユーザーの選択に応じて設定することもできます。 たとえば、ドリルスルー ページをフィルター処理する対象の製品と店舗をユーザーに知らせる場合は、
"クリックして [ドリルスルー ページ名] にドリルスルーすると、[店舗名] 店の [製品名] の売上の詳細が表示されます" と返すメジャーを作成することができます。
条件に応じてドリルスルー先を設定する
条件付き書式を使用することで、メジャーの出力に基づいてドリルスルー先を設定できます。
ここでは、ボタンのドリルスルー先を条件にする場合のシナリオをいくつか示します。
複数の条件が満たされている場合は、ページへのドリルスルーを有効にするだけです。 それ以外の場合、ボタンは無効になります。
たとえば、ユーザーが 1 つの製品 "および" 1 軒の店を選択してから、マーケットの詳細ページにドリルスルーできるようにします。 それ以外の場合、ボタンは無効になります。
ユーザーの選択に基づいて、ボタンで複数のドリルスルー先をサポートするようにします。
たとえば、ユーザーがドリルスルーできる宛先 (マーケットの詳細と店舗の詳細) が複数ある場合は、ドリルスルー先のボタンが有効になる前に、特定のドリルスルー先を選択させることができます。
複数のドリルスルー先と、ボタンを無効にする特定の条件の両方をサポートする興味深いハイブリッド シナリオのケースがある場合もあります。 続いて、これら 3 つのオプションの詳細をお読みください。
複数の条件が満たされるまでボタンを無効にする
最初のケースを見てみましょう。この場合、追加の条件が満たされるまでボタンを無効のままにします。 Power BI Desktop では、条件が満たされていない限り、空の文字列 ("") を出力する基本的な DAX メジャーを作成する必要があります。 それが満たされると、メジャーによってドリルスルー先のページの名前が出力されます。
次に示す DAX メジャーの例では、ユーザーが Product でドリルスルーして店舗の詳細ページを表示する前に店舗を選択する必要があります。
Destination logic = If(SELECTEDVALUE(Store[Store], “”)==””, “”, “Store details”)
メジャーを作成したら、Power BI Desktop で次の手順に従います。
ボタン アクションの [宛先] の横にある[条件付き書式 (fx)] を選択します。
最後の手順では、宛先のフィールド値として作成した DAX メジャーを選択します。
これで、1 つの製品が選択されていても、ボタンが無効になっていることがわかります。これは、このメジャーでは店舗も 1 軒選択する必要があるためです。
複数のターゲットをサポートする
複数の宛先をサポートする他の一般的なケースについては、次の手順に従います。
ドリルスルー先の名前を含む 1 列のみのテーブルを作成します。
Power BI では、文字列の完全一致を使用してドリルスルー先を設定するため、入力した値がドリルスルー ページ名と完全に一致していることを確認してください。
テーブルを作成した後、それを単一選択スライサーとしてページに追加します。
垂直スペースがさらに必要な場合は、スライサーをドロップダウンに変換します。 スライサー ヘッダーを削除し、タイトルを示すテキスト ボックスをその横に追加します。
または、リスト スライサーを垂直から水平方向に変更します。
ドリルスルー アクションの宛先の入力については、該当するボタンの [宛先] の横にある[条件付き書式 (fx)] ボタンを選択します。
[宛先 - アクション] ページで、作成した列の名前を選択します。 この場合は、[宛先の選択] です。
これで、製品 "および" ターゲットを選択した場合にのみ、ドリルスルー ボタンが有効になっていることがわかります。
2 つのシナリオのハイブリッド
2 つのシナリオのハイブリッドに関心がある場合は、Power BI Desktop で DAX メジャーを作成して参照し、ターゲット選択のロジックをさらに追加することができます。
次に示す DAX メジャーの例では、ユーザーが製品でドリルスルーしてドリルスルー ページのいずれかを表示する前に、店舗を選択する必要があります。
Destination logic = If(SELECTEDVALUE(Store[Store], “”)==””, “”, SELECTEDVALUE(‘Table'[Select a destination]))
Power BI Desktop では、ターゲットのフィールド値として作成した DAX メジャーを選択します。 この例では、ユーザーは、ドリルスルー ボタンが有効になる前に、製品、店舗、"および" ターゲット ページを選択する必要があります。
考慮事項と制限事項
- このボタンでは、1 つのボタンを使用して複数の送信先を設定することはできません。
- このボタンは、同じレポート内のドリルスルーのみをサポートしています。言い換えると、レポート間のドリルスルーはサポートしていません。
- ボタンの無効状態の書式設定は、レポートのテーマの色クラスに関連付けられています。 色クラスに関する詳細はこちらを参照してください。
- ドリルスルー アクションは、組み込みのすべての視覚エフェクトに対して機能し、AppSource からインポートされた "一部の" 視覚エフェクトに対して機能します。 ただし、AppSource からインポートされた "すべての" ビジュアルで動作することは保証されていません。
関連するコンテンツ
ボタンと似た機能またはボタンと相互作用する機能の詳細については、次の記事をご覧ください。