Power BI 埋め込み分析の Q&A

Power BI 埋め込み分析には、アプリケーションに Q&A を組み込む方法が用意されています。 ユーザーは自然言語を使って質問し、グラフなどのビジュアル形式ですぐに回答を得ることができます。

Animated GIF of the Power BI Embedded view, which shows how to embed a sample Q&A question.

アプリケーション内に Q&A を埋め込むには、対話式結果のみの 2 つのモードがあります。 対話式モードでは、質問を入力し、ビジュアル内に表示することができます。 保存されている質問、または表示したい設定済みの質問がある場合は、埋め込み構成に質問を設定することにより、結果のみモードを使うことができます。

JavaScript コードの例を次に示します。

// Embed configuration used to describe the what and how to embed.
// This object is used when calling powerbi.embed within the JavaScript API.
// You can find more information at https://github.com/Microsoft/PowerBI-JavaScript/wiki/Embed-Configuration-Details.
var config= {
    type: 'qna',
    tokenType:   models.TokenType.Embed | models.TokenType.Aad,
    accessToken: access token value,
    embedUrl:    https://app.powerbi.com/qnaEmbed (groupId to be appended as query parameter if required),
    datasetIds:  array of requested data set ids (at the moment we support only one dataset),
    viewMode:    models.QnaMode.Interactive | models.QnaMode.ResultOnly,
    question:    optional parameter for Explore mode (QnaMode.Interactive) and mandatory for Render Result mode (QnaMode.ResultOnly)
};

// Get a reference to the embedded QNA HTML element
var qnaContainer = $('#qnaContainer')[0];

// Embed the QNA and display it within the div container.
var qna = powerbi.embed(qnaContainer, config);

設定済みの質問

設定済みの質問で結果モードを使用すると、フレームにさらに質問を挿入できます。 新しい質問に対する回答により、前の結果が直ちに置き換えられます。 新しい質問と一致する新しいビジュアルが表示されます。

この使用例の 1 つは、よく寄せられる質問の一覧です。 ユーザーは質問を選んで、同じ埋め込みパーツ内で回答を見ることができます。

JS SDK を使った場合のコード スニペット:

// Get a reference to the embedded Q&A HTML element
var qnaContainer = $('#qnaContainer')[0];

// Get a reference to the embedded Q&A.
qna = powerbi.get(qnaContainer);

qna.setQuestion("This year sales")
    .then(function (result) {
        …….
    })
    .catch(function (errors) {
        …….
    });

ビジュアル レンダリング イベント

対話式モードでは、アプリケーションはレンダリングされたビジュアルが変化するたびにデータ変更イベントの通知を受信して、入力時に、更新済みの入力クエリを対象とすることができます。

visualRendered イベントをリッスンすると、後で使うために質問を保存することができます。

JS SDK を使った場合のコード スニペット:

// Get a reference to the embedded Q&A HTML element
var qnaContainer = $('#qnaContainer')[0];

// Get a reference to the embedded Q&A.
qna = powerbi.get(qnaContainer);

// qna.off removes a given event listener if it exists.
qna.off("visualRendered");

// qna.on will add an event listener.
qna.on("visualRendered", function(event) {
     …….
});

埋め込みトークン

Q&A パーツを開始するためのセマンティック モデルの埋め込みトークンを作成します。 詳細については、トークン生成操作に関する記事をご覧ください。

JavaScript 埋め込みサンプルを使用して Q&A の埋め込みを試す

その他の質問 Power BI コミュニティに質問する