Power BI Embedded での Q&AQ&A in Power BI Embedded

Power BI Embedded では、アプリケーションに Q&A を組み込む手段が提供されており、ユーザーは、自然言語を使って質問し、チャートやグラフなどのビジュアルの形式ですぐに回答を受け取ることができます。Power BI Embedded offers you a way to incorporate Q&A into an application and allow your users to ask questions using natural language and receive immediate answers in the form of visuals like charts or graphs.

埋め込みフレームでの Q&A の対話的な質問

アプリケーション内に Q&A を埋め込むには、対話式結果のみの 2 つのモードがあります。There are two modes for embedding Q&A within your application: interactive and result only. 対話式モードでは、質問を入力し、ビジュアル内に表示することができます。Interactive mode allows you to type in questions and have them displayed within the visual. 保存されている質問、または表示したい設定済みの質問がある場合は、埋め込み構成に質問を設定することにより、結果のみモードを使うことができます。If you have a saved question, or a set question you want to display, you can use the result only mode by populating the question in your embed config.

JavaScript のコードは次のようになります。Here is a look at what the JavaScript code will look like.

// 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);

設定済みの質問Set question

設定済みの質問で結果モードを使う場合、追加の質問をフレームに挿入し、すぐに得られる回答で前の結果を置き換えることができます。If you used result mode with a set question, you can inject additional questions into the frame and have them immediately answered replacing the previous result. 新しい質問と一致する新しいビジュアルが表示されます。A new visual is rendered matching the new question.

この使用例の 1 つは、よく寄せられる質問の一覧です。One example of this usage would be a frequently asked question list. ユーザーは質問を選んで、同じ埋め込みパーツ内で回答を見ることができます。The user could go through the questions and have them answered within the same embedded part.

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

// 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) {
        …….
    });

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

対話式モードでは、アプリケーションはレンダリングされたビジュアルが変化するたびにデータ変更イベントの通知を受信して、入力時に、更新済みの入力クエリを対象とすることができます。For interactive mode, the application can be notified with a data changed event each time the rendered visual changes to target the updated input query as it is being typed.

visualRendered イベントをリッスンすると、後で使うために質問を保存することができます。Listening to the visualRendered event allows you to save questions for use later.

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

// 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) {
     …….
});

埋め込みトークンEmbed token

Q&A パーツを開始するためのデータセットの埋め込みトークンを作成します。Create an embed token off of a dataset to start a Q&A part. 詳細については、「Generate token for Q&A」(Q&A のトークンを生成する) をご覧ください。For more information, see Generate token for Q&A.

次の手順Next steps

Q&A の埋め込みを試してみるなら、JavaScript の埋め込みサンプルをご覧ください。To give Q&A embedding a try, check out the JavaScript embed sample.

他にわからないことがある場合は、More questions? Power BI コミュニティで質問してみてくださいTry asking the Power BI Community