埋め込みレポートを作成、編集、保存する
Power BI 埋め込み分析を使用すると、埋め込みレポートを作成、編集、保存できます。 レポートは、既存のデータセットに基づいて作成することも、既存のレポートを編集することもできます。 レポートの作成または編集後にレポートを保存することもできます。
レポートを作成する方法
既存のデータ セットから新しい空のレポートを作成する方法について説明します。
レポートを作成するために必要なアクセス トークンのアクセス許可
データセットへのアクセス権を持つ埋め込みトークンを生成します。 マスター ユーザー認証方法を使用する場合は、アプリケーションに次のスコープがあることを確認します。 Dataset.Read.All
Content.Create
Workspaces.ReadWrite.all
詳細については、「 埋め込みトークン - トークンの生成 」を参照してください。
レポートを作成するために必要なクライアント側のアクセス許可
レポートを作成するには、次のクライアント側のアクセス許可が必要です。
作成 - ユーザーは新しいレポートを作成できます。
All - ユーザーは、レポートのコピーを作成、表示、編集、保存、および保存できます。
新しいレポートの作成
既存のデータセットから新しい空のレポートを作成します。 データセット ID と埋め込み URL が必要です。 たとえば、REST API を getDatasetsInGroup
使用して 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.All
Report.ReadWrite.All
があることを確認します。 また、エンドユーザーが編集する allowEdit: true
必要があるレポートごとにフラグを設定する必要があります。 詳細については、「 埋め込みトークン - トークンの生成 」を参照してください。
編集に必要なクライアント側のアクセス許可
レポートの編集には、次のクライアント側のアクセス許可が必要です。
コピー - ユーザーは、[ 名前を付けて保存] を使用してレポートのコピーを保存できます。
ReadWrite - ユーザーはレポートを表示、編集、保存できます。
All - ユーザーは、レポートのコピーを作成、表示、編集、保存、および保存できます。
レポートの編集
既存のレポートを編集モードで読み込みます。 レポートは、アプリケーションが通常のレポートを埋め込むのと同じ方法で埋め込む必要があり、ビュー モードは編集モードである必要があります。 パラメーターmodels.ViewMode.Edit
を設定viewMode
し、適切なクライアントアクセス許可を持っていることを確認します。
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.All
Workspaces.ReadWrite.all
また、顧客が編集する allowEdit: true
必要があるレポートごとにフラグを設定する必要があります。 詳細については、「 埋め込みトークン - トークンの生成 」を参照してください。
保存に必要なクライアント側のアクセス許可
レポートを保存するために必要なクライアント側のアクセス許可は次のとおりです。
ReadWrite - ユーザーはレポートを表示、編集、保存できます。
作成 - ユーザーは新しいレポートを作成できます。
コピー - ユーザーは、[ 名前を付けて保存] を使用してレポートのコピーを保存できます。
All - ユーザーは、レポートのコピーを作成、表示、編集、保存、および保存できます。
レポートの保存
レポートを作成する場合、ファイル メニューまたは 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 ダイアログが非表示になります。
このイベントは saveAsTriggered
、ユーザーが 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 のアクションまたは saveAs
API を使用してsave
保存がトリガーされると発生します。 詳細については、 イベントの処理方法 を参照してください。
report.on("saved", function (event) {
console.log(event);
});