Power BI を使って Azure Cosmos DB データを視覚化する

適用対象: SQL API

この記事では、Azure Cosmos DB データを Power BI Desktop に接続するために必要な手順について説明します。

Power BI デスクトップから Azure Cosmos DB に接続するには、次のいずれかの方法を使います。

  • Azure Synapse Link を使って、トランザクション ワークロードにパフォーマンスやコストの影響を与えず、ETL パイプラインなしで Power BI レポートを構築します。

    DirectQuery またはインポート モードを使用できます。 DirectQuery を使うと、Azure Cosmos DB アカウントからのライブ データを使ってダッシュボードまたはレポートを構築できます。データを Power BI にインポートまたはコピーする必要はありません。

  • Power BI 用の Azure Cosmos DB コネクタを使用して、Power BI Desktop を Azure Cosmos DB アカウントに接続します。 このオプションは、インポート モードでのみ使用できます。また、トランザクション ワークロードに割り当てられた RU を使用します。

Note

Power BI Desktop で作成されたレポートは、PowerBI.com に発行できます。 PowerBI.com から Azure Cosmos DB データの直接抽出を実行することはできません。

前提条件

この Power BI チュートリアルの手順に従う前に、次のリソースにアクセスできることを確認してください。

PowerBI.com でレポートを共有するには、PowerBI.com のアカウントが必要です。 Power BI と Power BI Pro の詳細については、https://powerbi.microsoft.com/pricing を参照してください。

作業を開始する

Azure Cosmos DB ポータルを使って数回クリックするだけで、既存の Cosmos DB コンテナー上で Azure Synapse Link を有効にし、このデータを基に BI レポートを構築できます。 Power BI は、直接クエリ モードを使って Cosmos DB に接続し、トランザクション ワークロードに影響を与えることなく、ライブ Cosmos DB データのクエリを実行できます。

Power BI レポートまたはダッシュボードを構築するには:

  1. Azure portal にサインインし、Azure Cosmos DB アカウントに移動します。

  2. [統合] セクションから [Power BI] ペインを開き、[作業の開始] を選びます。

    Note

    現時点では、このオプションは SQL API アカウントでのみ使用できます。 Synapse サーバーレス SQL プール内に T-SQL ビューを直接作成し、Azure Cosmos DB API for MongoDB 用の BI ダッシュボードを構築できます。 詳細については、「Power BI とサーバーレス Synapse SQL プールを使用して Synapse Link で Azure Cosmos DB データを分析する」を参照してください。

  3. [Enable Azure Synapse Link](Azure Synapse Link を有効にする) タブで、[Enable Azure Synapse link for this account](このアカウントの Azure Synapse Link 有効にする) セクションから、アカウントの Synapse Link を有効にすることができます。 アカウントの Synapse Link が既に有効な場合、このタブは表示されません。この手順は、コンテナー上で Synapse Link を有効にするための前提条件です。

    Note

    Azure Synapse Link を有効にするとコストがかかります。 詳しくは、Azure Synapse Link の価格に関するセクションをご覧ください。

  4. 次に、[コンテナーの Azure Synapse リンクを有効にする] セクションで、Synapse Link を有効にする必要があるコンテナーを選びます。

    • 一部のコンテナーで Synapse Link を既に有効にしている場合は、コンテナー名の横にあるチェック ボックスがオンになっています。 Power BI で視覚化するデータに応じて、それらをオフにすることができます。

    • この Synapse Link が有効になっていない場合は、既存のコンテナーでこれを有効にできます。

      いずれかのコンテナーで Synapse Link の有効化が進行中の場合、それらのコンテナーのデータは含まれません。 後でコンテナーが有効になったら、このタブに戻ってデータをインポートする必要があります。

    Progress of Synapse Link enabled on existing containers.

  5. コンテナー内のデータの量によっては、Synapse Link を有効にするのに時間がかかる場合があります。 詳しくは、既存コンテナーでの Synapse Link の有効化に関する記事をご覧ください。

    次の画面で示すように、ポータルで進行状況を確認できます。 進行状況が 100% に達すると、コンテナーで Synapse Link が有効になります。

    Synapse Link successfully enabled on the selected containers.

  6. [ワークスペースの選択] タブで Azure Synapse Analytics ワークスペースを選んで、[次へ] を選びます。 この手順で、前に選んだコンテナーに対する T-SQL ビューが Synapse Analytics に自動的に作成されます。 Cosmos DB を Power BI に接続するために必要な T-SQL ビューについて詳しくは、ビューの準備に関する記事をご覧ください。

    Note

    Cosmos DB コンテナー プロパティは、入れ子になった詳細な JSON データを含む、T-SQL ビューの列として表示されます。 これは、BI ダッシュボードのクイック スタートです。 これらのビューは、Synapse ワークスペース/データベースで利用できます。Synapse Workspace では、データの探索、データ サイエンス、Data Engineering などに対してまったく同じビューを使用することもできます。高度なシナリオでは、パフォーマンスを向上させるために、これらのビューのより複雑なビューや微調整が必要になることに注意してください。 詳しくは、 Synapse サーバーレス SQL プールを使用する場合の Synapse Link のベスト プラクティスに関する記事を参照してください。

  7. 既存のワークスペースを選ぶか、新しく作成することができます。 既存のワークスペースを選ぶには、[サブスクリプション][ワークスペース][データベース] の詳細を指定します。 Azure portal により、お客様の Azure AD を使って自動的に、Synapse ワークスペースに接続して T-SQL ビューが作成されます。 このワークスペースに対する "Synapse 管理者" アクセス許可を持っていることを確認してください。

    Connect to Synapse Link workspace and create views.

  8. 次に、[.pbids のダウンロード] を選んで、Power BI のデータ ソース ファイルをダウンロードします。 ダウンロードしたファイルを開きます。 それには必要な接続情報が含まれており、Power BI デスクトップが開かれます。

    Download the Power BI desktop files in .pbids format.

  9. Power BI デスクトップから Azure Cosmos DB のデータに接続できるようになります。 各コンテナー内のデータに対応する T-SQL ビューの一覧が表示されます。

    たとえば、次の画面では保有車両のデータが示されています。 読み込む前に、このデータをさらに分析または変換することができます。

    T-SQL views corresponding to the data in each container.

  10. これで、Azure Cosmos DB の分析データを使ってレポートの構築を始めることができます。 データに対する変更は、データが分析ストアにレプリケートされ次第、レポートに反映されます。通常は数分以内に行われます。

Power BI コネクタを使用した BI レポートの構築

Note

Power BI コネクタによる Azure Cosmos DB への接続は、現在は Azure Cosmos DB SQL アカウントと Gremlin API アカウントでのみサポートされています。

  1. Power BI Desktop を実行します。

  2. ようこそ画面から直接 [データの取得] を実行したり、 [最近のソース] を参照したり、 [Open Other Reports] \(他のレポートを開く) を実行したりできます。 右上隅にある [X] を選択して画面を閉じます。 Power BI Desktop の [レポート] ビューが表示されます。

    Power BI Desktop Report View - Power BI connector

  3. [ホーム] リボンをクリックし、 [データの取得] をクリックします。 [データの取得] ウィンドウが表示されます。

  4. [Azure] をクリックし、 [Azure Cosmos DB (ベータ版)] を選択して、 [接続] をクリックします。

    Power BI Desktop Get Data - Power BI connector

  5. [Preview Connector] \(プレビュー コネクタ) ページで、 [続行] をクリックします。 [Azure Cosmos DB] ウィンドウが表示されます。

  6. 次のように、データを取得する Azure Cosmos DB アカウント エンドポイント URL を指定し、 [OK] をクリックします。 独自のアカウントを使用するには、Azure Portal の [キー] ブレードにある [URI] ボックスから URL を取得できます。 オプションで、データベース名とコレクション名を指定するか、またはナビゲーターを使用してデータベースとコレクションを選択することによってデータの取得元を識別できます。

  7. このエンドポイントに初めて接続している場合は、アカウント キーの入力を求められます。 独自のアカウントの場合は、Azure Portal の [Read-only Keys]/(読み取り専用キー/) ブレードにある [主キー] ボックスからキーを取得します。 適切なキーを入力し、 [接続] をクリックします。

    レポートを作成する際は読み取り専用キーを使用することをお勧めします。 これにより、プライマリ キーが不用意に公開される潜在的なセキュリティ リスクを抑えることができます。 読み取り専用キーは、Azure Portal の [キー] ブレードから入手できます。

  8. アカウントが正常に接続されると、 ナビゲーター ウィンドウが表示されます。 ナビゲーター には、アカウントで利用できるデータベースの一覧が表示されます。

  9. レポートのデータの元となるデータベースをクリックし、展開します。 次に、取得するデータを含むコレクションを選択します。

    プレビュー ウィンドウに、 Record アイテムの一覧が表示されます。 Power BI では、ドキュメントは Record タイプとして表されます。 同様に、ドキュメント内の入れ子になった JSON ブロックも、 Recordとして表されます。

  10. Power BI Desktop レポート ビューは、データを視覚化するためにレポート作成を開始できる場所です。 [レポート] キャンバスにフィールドをドラッグ アンド ドロップすることにより、レポートを作成できます。

  11. データの更新方法には、アドホック更新とスケジュールされている更新の 2 つの方法があります。 データを更新するには、[今すぐ更新] をクリックします。 スケジュールされた更新の場合、[設定] に移動し、[データセット] タブを開きます。[スケジュールされている更新] をクリックし、スケジュールを設定します。

次のステップ