Share via


React アプリケーションに Power BI 項目を埋め込む

Power BI 埋め込み分析アプリケーションを作成する場合、Reactは、レポートの作成を含むすべてのクライアント側 API を使用しながら、ブートストラップ統合を使用してパフォーマンスを最適化するのに役立ちます。 また、アプリケーションでの Power BI 埋め込みライフサイクル管理も簡略化されます。 Power BI React コンポーネントは、JavaScript と TypeScript の両方をサポートし、React Web アプリケーションに分析を埋め込むのに役立ちます。

React ライブラリを使用すると、次の Power BI 項目を埋め込むことができます。

  • レポート
  • ダッシュボード
  • データのプッシュ時の
  • レポート ビジュアル
  • Q & A

React Web アプリに Power BI 項目を埋め込む方法

このセクションでは、Reactをアプリにインポートし、それを使用して Power BI レポートを埋め込む方法について説明します。

使用方法の詳細については、Power BI React readme ファイルを参照してください。

React ライブラリをインポートする

Power BI React コンポーネントは NPM にあります。 また、 GitHub でオープンソース化されています。

Reactを Web アプリにインポートするには、以下に示すインポートを追加します。

import { PowerBIEmbed } from 'powerbi-client-react';
import { models } from 'powerbi-client';

Reactを使用してレポートを埋め込む

この例では、Reactを使用して Power BI レポートを埋め込む方法を示します。 この例の下には、コード サンプルの各コンポーネントの説明があります。

embedConfig = {
    {
        type: 'report', // Supported types: report, dashboard, tile, visual, and qna.
        id: '<Report Id>',
        embedUrl: '<Embed Url>',
        accessToken: '<Access Token>',
        tokenType: models.TokenType.Embed, // Use models.TokenType.Aad if you're embedding for your organization.
        settings: {
            panes: {
                filters: {
                    expanded: false,
                    visible: false
                }
            },
        }
    }
}

eventHandlers = {
    new Map([
        ['loaded', function () {
            console.log('Report loaded');
        }],
        ['rendered', function () {
            console.log('Report rendered');
        }],
        ['error', function (event) {
            console.log(event.detail);
        }]
    ])
}

cssClassName = {
    "report-style-class"
}

getEmbeddedComponent = {
    (embeddedReport) => {
        window.report = embeddedReport;
    }
}

次の一覧には、コード スニペットの例の各コンポーネントの説明または追加情報が含まれています。

  • 埋め込み構成 - 埋め込むコンテンツを定義し、コンテンツの設定を指定します。 埋め込み構成は、次の Power BI 項目を埋め込むと変更されます。

  • eventHandlers - イベント名とそのハンドラーのマップ オブジェクト。 詳細については、「 イベントを処理する方法 」を参照してください。

  • cssClassName - 埋め込みアイテムに CSS クラス名を指定します。これにより、CSS を使用して埋め込み iframe のスタイルを制御できます。

  • getEmbedComponent - Power BI クライアント ライブラリで許可されるすべての API を使用できるように、埋め込みインスタンスを取得するのに役立つコールバック。 たとえば、レポートを埋め込むと、 Report クラスのインスタンスが取得されます。

コンポーネントをブートストラップする

powerbi.bootstrap は、開発者が Power BI 項目をより迅速に埋め込み、パフォーマンスを向上させるために使用される方法です。 詳細については、「ブートストラップを使用してパフォーマンスを向上する」を参照してください。

embedConfig = {
    {
        type: 'report', // Supported types: report, dashboard, tile, visual, and qna.
        id: undefined,
        embedUrl: undefined,
        accessToken: undefined, // Keep as an empty string, null, or undefined.
        tokenType: models.TokenType.Embed
    }
}

Reactデモ

React リポジトリには、レポートのブートストラップ、埋め込み、埋め込みレポートの更新の完全なフローを示すデモが含まれています。 また、[ビジュアルの削除] ボタンをクリックしてレポートからビジュアルを削除することで、powerbi レポート作成ライブラリの使用方法を示します。

詳細については、readme ファイルのデモ セクションを参照してください。

Power BI React デモを示すアニメーション GIF。

デモの実行

デモはリポジトリ内のサブフォルダーです。 localhost でデモを実行するには、次の手順に従います。

  1. 次のコマンドを実行します。

    npm run install:demo
    npm run demo
    
  2. ブラウザーで表示するには、 に http:/localhost:8080/リダイレクトします。

次の手順