次の方法で共有


Power BI でデータ関数ボタンを作成する (プレビュー)

適用対象: Power BI Desktop Power BI サービス

Power BI Desktop と Power BI サービスで データ関数 ボタンを作成できます。 このボタンは、ユーザーから入力を受け取り、アクションを実行する関数を呼び出します。

現在、トランスリティカルタスクフロー機能は一般公開プレビュー中です。

[前提条件]

ユーザー データ関数のベスト プラクティス

トランスlyティカル タスク フロー シナリオ用に独自の関数を記述する場合は、これらのベスト プラクティスに従って、高品質のエンド ユーザー エクスペリエンスを確保します。

  • 各パラメーターの入力検証ロジックを記述します。 fn.UserThrownError()メソッドを使用して、予想されるエラー応答を Power BI レポートに送信します。 例えば次が挙げられます。

    if (discount < 0):
        raise fn.UserThrownError("Discount cannot be negative.")
    
  • すべてのデータベース実行呼び出しに try/catch ステートメントを使用します。 データベースがオフラインまたは到達できない場合を処理するわかりやすいメッセージを返します。

  • SQL ステートメントが SQL インジェクション攻撃に対して脆弱でないことを確認します。

  • 操作が成功したことをエンド ユーザーに伝えるわかりやすい成功メッセージを記述します。

関数パラメーターの入力を構成する

ユーザー データ関数が入力として受け取る各パラメーターは、Power BI レポートの要素にマップする必要があります。 この要素には、ボタン、リスト、テキストスライサー、データフィールド、またはメジャーを指定できます。

入力コントロールとしてのスライサー

サポートされている 3 つのスライサーの種類 (ボタン、リスト、テキスト) はすべてプレビュー機能であり、 新しいスライサーとも呼ばれます。 前提条件の説明に従って、必ず有効にしてください。

ボタンまたはリスト スライサーをパラメーターとして使用するには、[ データ ] ペインからデータ フィールドにリンクする必要があります。 ボタンまたはリスト スライサーを入力コントロールとしてのみ使用し、データをフィルター処理しない場合は、 編集操作を使用してすべての視覚的な操作を削除します。 相互作用の編集の詳細については、「 Power BI レポートでのビジュアルの対話方法を変更する」を参照してください。

テキスト スライサーをパラメーターとして使用するには、データ フィールドへのリンクは省略可能です。 レポート内のデータをフィルター処理する場合にのみ、データ フィールドにリンクします。 それ以外の場合は、[ データ] ペイン のデータ フィールドを使用せずに作成します。

入力コントロールとしてのデータフィールドまたは尺度

データ フィールドと指標は、パラメーターとしてリンクすることもできます。 入力パラメーターの型に一致するフィールドのみを選択できます。

編集/削除操作のために CustomerID などのデータ関数に 1 つの主キーを渡す必要がある場合は、 SELECTEDVALUE DAX 式を使用できます。

例えば次が挙げられます。

SelectedCustomerID = SELECTEDVALUE(Customer[CustomerID]) 

詳細については、「データ分析用の指標の作成」を参照してください。

データ関数ボタンを設定する

データ関数ボタンを作成し、レポート要素またはユーザー入力をユーザー データ関数に接続するように構成します。

  1. Power BI Desktop で、レポートにボタンを追加します。

  2. [ 書式] ボタン ウィンドウで、[ アクション ] メニューを展開します。 [アクション] スイッチを [オン] に切り替えます (まだ有効でない場合)。

  3. [ 種類 ] ドロップダウン メニューで、[ データ関数] を選択します。

    データ関数オプションを選択すると、 ワークスペース関数セット、データ 関数の各パラメーターが表示されます。

    ヒント

    [データ関数] オプションが表示されない場合は、Power BI Desktop で Translytical タスク フロープレビュー機能が有効になっていることを確認します。

  4. ボタンに次の値を指定します。

    パラメーター 価値
    ワークスペース ユーザー データ関数を含むワークスペースを選択します。
    関数セット データ関数を含む関数セットを選択します。
    データ関数 データ関数を選択します。

    ヒント

    使用するユーザー データ関数が表示されない場合は、データ関数から文字列が返されることを確認してください。

  5. データ関数を選択すると、その関数が受け取るパラメーターを表す他のパラメーターが表示されます。 パラメーターごとに、次のいずれかを実行できます。

    • ドロップダウン メニューを使用して、レポートからスライサーを選択します。
    • [条件付き書式 (fx)] ボタンを選択して、レポートからデータ フィールドまたはメジャーを選択します。

レポート インターフェイスをカスタマイズする

レポートでは、スライサー、データ フィールド、ボタンの任意の組み合わせを使用して、カスタマイズされた対話型ビジュアルを作成できます。 次のセクションでは、例と推奨事項を示します。

スライサーとのインターフェイス

レポート ページでは、他のビジュアルと対話しないスライサーを含むセクションを作成して、入力コントロールとしてのみ機能させることができます。 下部にボタンを配置し、そのアクションを Data 関数に設定し、スライサーを使用してパラメーターにリンクします。 このセクションは任意の方法でデザインできますが、重要なのは、レポートコンテンツから目立つ実用的なセクションのように見えるようにすることです。

次の例は、3 つの要素を含む対話型セクションを示しています。

  • 新しい注文 ID を入力するテキスト スライサー
  • ボタン スライサーで 3 つのオプションから注文ステータスを選択する
  • スライサーからユーザー データ関数に入力を送信するボタン

2 つのスライサーとデータ関数ボタンを含むレポートの例を示すスクリーンショット。

各ボタンに入力値を追加することで、ボタンがスライサーと適切にリンクされているかどうかをテストできます。 パラメーターを受け入れると、ボタンのスタイルが変更されます。 ボタンスタイルをカスタマイズして、ステータスをより魅力的にします。 Power BI Desktop では、レポートが発行されるまでアクションをトリガーすることはできません。

2 つのスライサーとデータ関数ボタンを含む同じレポートの例を示すスクリーンショット。スライサーにはサンプル入力があり、ボタンが有効になっています。

データフィールドと測定値のインターフェース

レポート ページでは、レポート ビジュアルとボタンを データ関数 アクションと共に使用し、パラメーターをデータ フィールドにリンクできます。

次の例は、2 つの要素を含む対話型セクションを示しています。

  • 注文 ID 入力として行を選択できるテーブル
  • テーブル行を入力としてユーザー データ関数に送信するボタン

テーブルとデータ関数ボタンを含むレポートの例を示すスクリーンショット。

行をクリックすると、ボタンがテーブルに適切にリンクされているかどうかをテストできます。 パラメーターを受け入れると、ボタンのスタイルが変更されます。 ボタンスタイルをカスタマイズして、ステータスをより魅力的にします。 Power BI Desktop では、レポートが発行されるまでアクションをトリガーすることはできません。

テーブルとデータ関数ボタンを含む同じレポートの例を示すスクリーンショット。テーブルで行が選択され、ボタンが有効になっています。

入力が混在するインターフェイス

スライサーとデータ フィールド/メジャーの組み合わせを使用して、最もクリエイティブなエクスペリエンスを生み出すことができます。 データ関数で定義されている各パラメーターを正しいオプションにリンクします。これは、ページ上にあるスライサーか、表示されるデータ フィールドまたはメジャーのいずれかになります。

次の例は、3 つの要素を含む対話型セクションを示しています。

  • 注文 ID 入力として行を選択できるテーブル
  • 3つのオプションの中から注文の状態を選択するためのボタン スライサー
  • ユーザー データ関数に入力を送信するボタン

テーブル、ボタン スライサー、データ関数ボタンを含むレポートの例を示すスクリーンショット。

行とスライサー ボタンをクリックすると、ボタンがテーブルに適切にリンクされているかどうかをテストできます。 パラメーターを受け入れると、ボタンのスタイルが変更されます。 ボタンスタイルをカスタマイズして、ステータスをより魅力的にします。 Power BI Desktop では、レポートが発行されるまでアクションをトリガーすることはできません。

テーブル、スライサー、データ関数ボタンを含む同じレポートの例を示すスクリーンショット。テーブルとスライサーで入力が選択されており、ボタンが有効になっています。