さまざまな埋め込みソリューションについて

Power BI 項目 (レポート、ダッシュボード、Q&A など) をアプリケーションに埋め込むと、独自のデータ視覚化やコントロールをゼロから構築することなく、魅力的で完全に対話型の分析を統合できます。 埋め込む Power BI 分析では、自分の Power BI アカウントを通じて アプリが所有 するデータ、またはユーザーが自分の Power BI アカウントを通じて 所有する データを表示できます。

アプリケーションのシナリオ

アプリケーションに Power BI レポートを埋め込むには、2 つの異なるシナリオがあります。

  • organization用の埋め込み (ユーザー所有データとも呼ばれます): アプリケーションでは、ユーザーが独自の Power BI アカウントを使用してサインインするときに、organizationのユーザーがアクセスできるデータ、レポート、ダッシュボード、タイルを統合できます。 この種類のアプリケーションでは、埋め込んだデータをユーザーが所有します。
  • 顧客向けの埋め込み ( アプリ所有データとも呼ばれます): アプリケーションは、自分の Power BI アカウントにアップロードしたデータ、レポート、ダッシュボード、またはタイルを表示します。 この種類のアプリケーションでは、独自のアカウントを使用しているため、アプリケーションは顧客のデータを所有しています。 顧客は独自の Power BI アカウントを必要としません。

使用するアプリケーション シナリオによって、データにアクセスしてアプリケーションにコンテンツを埋め込むことができる アクセス トークン を取得する方法が決まります。

埋め込むコンテンツの種類は、 パラメーターのembedUrl 値によって指定されます。 特定の種類のコンテンツの埋め込み URL を取得するには、対応する Power BI REST API を呼び出します。 たとえば、 レポートの取得 を呼び出して、レポートを埋め込む埋め込み URL を取得します。

次のセクションでは、アクセス トークンを取得し、これらの各アプリケーション シナリオのレポートを埋め込む方法について説明します。

組織向けに埋め込む

このシナリオでは、アプリケーションのユーザーが Power BI アカウントを使用してサインインします。 これにより、データにアクセスし、レポート、ダッシュボード、タイルを埋め込むためのアクセス トークンが提供されます。

で を embedConfigurationに設定 tokenType します TokenType.Aad

// Get models so you can use the TokenType enum.
let models = window['powerbi-client'].models;

let embedConfiguration = {
    type: 'report',
    id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55',
    embedUrl: 'https://app.powerbi.com/reportEmbed',
    tokenType: models.TokenType.Aad,
    accessToken: 'e4...rf'
};

let reportContainer = $('#reportContainer')[0];
let report = powerbi.embed(reportContainer, embedConfiguration);

顧客向けに埋め込む

このシナリオでは、すべての Power BI 項目にアクセスできる専用 ID を作成します。 次に、Power BI REST API 埋め込みトークン を呼び出して、埋め込むレポート、ダッシュボード、またはタイルの 埋め込みトークンを生成します。 埋め込みトークンを取得したら、次のコードを使用してレポートを埋め込みます。

で を embedConfigurationに設定 tokenType します TokenType.Embed

// Get models so you can use the TokenType enum.
let models = window['powerbi-client'].models;

let embedConfiguration = {
    type: 'report',
    id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55',
    embedUrl: 'https://app.powerbi.com/reportEmbed',
    tokenType: models.TokenType.Embed,
    accessToken: 'h4...rf'
};

let reportContainer = $('#reportContainer')[0];
let report = powerbi.embed(reportContainer, embedConfiguration);

次の手順