ページ分割されたレポートを埋め込む

先端

ページ分割されたレポートを埋め込むか、「Power BI Embedded Analytics Playground」の「Api の詳細」セクションでクライアント API を試してみてください。

この記事では、ページ分割されたレポートをアプリケーションに埋め込む手順について説明します。 ページ分割されたレポートの詳細については、「Power BI Premium のページ分割されたレポートとは」を参照してください。.

ページ分割されたレポートを埋め込む方法

Power BI コンテンツをアプリに埋め込む場合は、コンテンツを定義し、構成オブジェクトでその設定を指定します。 次に、そのオブジェクトを API に渡します。

ページ分割されたレポートを埋め込む場合は、IPaginatedReportLoadConfigurationの種類の構成オブジェクトを使用します。

export interface IPaginatedReportLoadConfiguration {
    accessToken: string;
    id: string;
    embedUrl?: string;
    settings?: IPaginatedReportSettings;
    tokenType?: TokenType;
    type?: string;
    parameterValues?: IPaginatedReportParameter[];
}

このインターフェイスには、次のプロパティが含まれています。

  • accessToken - 埋め込む Power BI データへのアクセスを提供するトークン。 アクセス トークンの詳細については、「 さまざまな埋め込みソリューションについて理解する」を参照してください。

  • embedUrl - 埋め込むレポートの URL。 この URL は、埋め込みレポートを含む HTML iframe 要素のソースになります。 具体的には、API は URL を iframe の src 属性に割り当てます。 Report API を使用して、この URL を取得できます。 2 つの例を次に示します。

    以下で説明する parameterValues プロパティを使用して、レポートパラメーターをレポートに渡すことをお勧めします。 ただし、埋め込み URL の末尾にクエリ文字列を追加することで、レポートにパラメーターを渡すこともできます。 ページ分割されたレポートで URL パラメーター 渡す方法について詳しく説明します。 URLにパラメーターを渡す の例を参照してください。

  • ID - 埋め込む Power BI レポートの ID。

  • ホスト名 - 既定の hostname 値は app.powerbi.comです。 ソブリン クラウドを使用している場合は、ここで URL を指定します。 embedURLの値を指定した場合、hostname は無視されます。

  • 設定 - IPaginatedReportSettings型の構成オブジェクト。 このオブジェクトは、レポートのパラメーター パネルの外観に関する情報を指定します。 パラメーター パネルは、展開または非表示にできるアクション バーの下のバーです。

    Power BI のページ分割された埋め込みレポートを示すスクリーンショット。パラメーター パネルは上部付近にあり、赤で強調表示されています。

    • アクション バーの Parameters ボタンをクリックすると、パラメーター パネルの表示と非表示を切り替えることができます。 このボタンは既定で使用できます。 ただし、パネルの enabled プロパティを falseするように構成した場合は、[パラメーター] ボタンは使用できません。

    • 既定では、API はパラメーター パネルを折りたたみます。 パネルの expanded プロパティを trueに設定すると、このパネルが展開された状態でレポートが読み込まれます。

    • このコードは、settings プロパティを構成する 1 つの方法を示しています。

      settings: {
          commands: {
              parameterPanel: {
                  enabled: true,
                  expanded: true
              }
          }
      }
      
  • tokenType - 埋め込む Power BI データへのアクセスを提供するトークンの種類。

    • 組織 (ユーザーがデータを所有) 用に埋め込む場合は、models.TokenType.Aad を使用します。
    • 顧客用に埋め込む場合は、models.TokenType.Embed を使用します (アプリはデータを所有しています)。

    詳細については、「さまざまな埋め込みソリューション を理解する」を参照してください。

  • parameterValuesIPaginatedReportParameter型の構成オブジェクト。 このプロパティを使用してレポート パラメーターを設定します。 このメソッドは JavaScript SDK を使用し、レポート パラメーターを渡す場合に推奨される方法です。 例えば:

    parameterValues: [
          {name: "State", value: "WA"},
          {name: "City", value: "Seattle"},
          {name: "City", value: "Bellevue"},
          {name: "City", value: "Redmond"}
    ]
    

    このメソッドは、レポート パラメーター (URL プレフィックス を持つパラメーター) を渡す場合にのみ使用でき、rdl パラメーター (URL プレフィックスが ) を することはできません。

次の例は、ページ分割されたレポートを埋め込む方法を示しています。

// Set up the configuration object that determines what to embed and how to embed it.
let embedConfiguration = {
    accessToken: anAccessToken,
    embedUrl: anEmbedUrl,
    uniqueId: aReportId,
    tokenType: aTokenType,
    type: 'report',
    datasetBindings: [{
      sourceDatasetId: "originalDatasetId",
      targetDatasetId: "notOriginalDatasetId"
    }]
};
 
// Get a reference to the HTML element that contains the embedded report.
let embedContainer = $('#embedContainer')[0];
 
// Embed the report.
let report = powerbi.embed(embedContainer, embedConfiguration);

バインドに使用されるすべての DatasetId を、マルチリソース埋め込みトークンに含めるようにします。

考慮事項と制限事項

  • 動的バインドを使用するには、「ページ分割されたレポートにデータセットを動的にバインドする」を参照してください。
  • ページ分割されたレポートでは、ブートストラップされたメソッドはサポートされていません。
  • ページ分割されたレポートを埋め込む場合、複数値パラメーター はサポートされません。
  • parameterValues プロパティは、レポート パラメーターにのみ使用できます。 rdl パラメーターには使用できません。
  • ページ分割されたレポートをリアルタイム データセット (プッシュ データセット) で埋め込む機能はサポートされていません。