埋め込みレポートを作成、編集、保存する

Power BI 埋め込み分析を使用すると、埋め込みレポートを作成、編集、保存できます。 既存のデータセットに基づいてレポートを作成することも、既存のレポートを編集することもできます。 作成または編集後にレポートを保存することもできます。

レポートを作成する方法

既存のデータ セットから新しい空のレポートを作成する方法について説明します。

レポートを作成するために必要なアクセス トークンのアクセス許可

データセットへのアクセス権を持つ埋め込みトークンを生成します。 マスター ユーザー 認証方法を使用する場合は、アプリケーションに次のスコープがあることを確認します:Dataset.Read.AllContent.Create、および Workspaces.ReadWrite.all。 詳細については、「埋め込みトークン - トークン の生成」を参照してください。

レポートを作成するために必要なクライアント側のアクセス許可

レポートを作成するには、次のクライアント側のアクセス許可が必要です。

  • の作成 - ユーザーは新しいレポートを作成できます。

  • すべての - ユーザーはレポートのコピーを作成、表示、編集、保存、保存できます。

新しいレポートを作成する

既存のデータセットから新しい空のレポートを作成します。 データセット ID と埋め込み URL が必要です。 たとえば、getDatasetsInGroup REST API を使用して、CreateReportEmbedURLを取得できます。 詳細については、「データセット - グループ 内のデータセットを取得する」を参照してください。

手記

新しいレポートを作成するには、データセットに対するビルドまたは書き込みアクセス許可が必要です。

let embedCreateConfiguration = {
    tokenType: tokenType,
    accessToken: accessToken,
    embedUrl: embedURL,
    datasetId: datasetId,
    settings: settings,
    theme: theme, // optional
};

// Grab the reference to the div HTML element that will host the report
let embedContainer = $('#embedContainer')[0];

// Create report
let report = powerbi.createReport(embedContainer, embedCreateConfiguration);

また、テーマを適用してレポートを作成することもできます。 レポートに追加された新しいビジュアルでは、テーマのスタイルが優先されます。 詳細については、「レポート テーマ を適用する」を参照してください。

レポートを編集する方法

既存のレポートを編集し、表示モードと編集モードを切り替える方法について説明します。

編集に必要なアクセス トークンのアクセス許可

レポートにアクセスできる埋め込みトークンを生成します。 マスター ユーザー 認証方法を使用する場合は、アプリケーションに次のスコープがあることを確認します: Dataset.ReadWrite.AllReport.ReadWrite.All。 また、エンド ユーザーが編集する必要があるレポートごとに、allowEdit: true フラグを設定する必要があります。 詳細については、「埋め込みトークン - トークン の生成」を参照してください。

編集に必要なクライアント側のアクセス許可

レポートの編集には、次のクライアント側のアクセス許可が必要です。

  • コピー - ユーザーは、[名前を付けて保存]を使用してレポートのコピー 保存できます。

  • ReadWrite - ユーザーはレポートを表示、編集、保存できます。

  • すべての - ユーザーはレポートのコピーを作成、表示、編集、保存、保存できます。

レポートを編集する

編集モードで既存のレポートを読み込みます。 レポートは、アプリケーションが通常のレポートを埋め込むのと同じ方法で埋め込む必要があり、ビュー モードは編集モードである必要があります。 viewMode パラメーターを models.ViewMode.Editに設定し、適切なクライアント アクセス許可があることを確認します。

let config = {
    type: 'report',
    tokenType: models.TokenType.Aad or models.TokenType.Embed,
    accessToken: YourAccessToken,
    embedUrl: YourEmbedUrl,
    id: YourEmbedReportId,
    permissions: models.Permissions.All,
    viewMode: models.ViewMode.Edit,
};

// Grab the reference to the div HTML element that will host the report
let embedContainer = $('#embedContainer')[0];

// Embed report
let report = powerbi.embed(embedContainer, config);

ユーザーは、有効になっている のアクセス許可 に基づいてレポートを編集できるようになりました。

レポートの読み込み後に、編集モードと表示モードを切り替えることもできます。

report.switchMode("view");

編集モードに切り替えるには:

report.switchMode("edit");

レポートを保存する方法

レポートのコピーの保存や別のワークスペースへのレポートの保存などの追加オプションなど、レポートを保存する方法について説明します。

保存に必要なアクセス トークンのアクセス許可

レポートとデータセットへのアクセス権を持つ埋め込みトークンを生成します。 レポートを別のワークスペースに保存する場合は、トークンがターゲット ワークスペースにアクセスできる必要があります。 マスター ユーザー 認証方法を使用する場合は、アプリケーションに次のスコープがあることを確認します: Report.ReadWrite.AllWorkspaces.ReadWrite.all。 また、顧客が編集する必要があるレポートごとに、allowEdit: true フラグを設定する必要があります。 詳細については、「埋め込みトークン - トークン の生成」を参照してください。

保存に必要なクライアント側のアクセス許可

レポートを保存するために、次のクライアント側のアクセス許可が必要です。

  • ReadWrite - ユーザーはレポートを表示、編集、保存できます。

  • の作成 - ユーザーは新しいレポートを作成できます。

  • コピー - ユーザーは、[名前を付けて保存]を使用してレポートのコピー 保存できます。

  • すべての - ユーザーはレポートのコピーを作成、表示、編集、保存、保存できます。

レポートを保存する

レポートを作成する場合、ファイル メニューまたは JavaScript から save 操作を呼び出すまで、レポートは保存されません。

report.save();

レポートのコピーを保存する

別の名前で追加のコピーを保存します。 レポートのコピーは、レポートのデータセットと同じワークスペースに保存されます。

let saveAsParameters = {
    name: "newReport"
};

report.saveAs(saveAsParameters);

レポートを別のワークスペースに保存することもできます。 ターゲット ワークスペースに対する適切なアクセス許可があることを確認します。

let saveAsParameters = {
    name: "newReport"
    targetWorkspaceId: "13bbf317-fe2b-4b15-a081-94b0921c28e5"
};

report.saveAs(saveAsParameters);

レポートが保存されていることを確認する

report.isSaved を呼び出して、レポートが保存されていることを確認します。 このメソッドは、保存されていない変更が失われないようにするのに役立ちます。

let isReportSaved = await report.isSaved();

カスタム saveAs エクスペリエンスを作成する

useCustomSaveAsDialog: true レポート設定を構成オブジェクトに追加することで、カスタム saveAs ダイアログを作成できます。 この設定では、既定の UI ダイアログが非表示になります。

イベントは、ユーザーが UI で [名前を付けて保存] クリックしたときに発生します。 この情報を使用して、カスタム ダイアログを表示します。

report.on("saveAsTriggered", function (event) {
    console.log(event);
});

名前を付けて保存操作を実行するには、カスタム ダイアログから report.saveAs を呼び出します。 詳細については、「レポート のコピーを保存する」を参照してください。

let saveAsParameters = {
    name: "newReport"
    targetWorkspaceId: "13bbf317-fe2b-4b15-a081-94b0921c28e5"
};

report.saveAs(saveAsParameters);

save イベントと saveAs イベントをリッスンする

saved イベントは、UI の save または saveAs アクション、または API を使用して保存がトリガーされたときに発生します。 詳細については、「イベント を処理する方法」を参照してください。

report.on("saved", function (event) {
    console.log(event);
});