チュートリアル: Power BI Desktop でサーバーレス SQL プールを使用してレポートを作成する

このチュートリアルでは、次の作業を行う方法について説明します。

  • デモ データベースの作成
  • レポートに使用するビューの作成
  • サーバーレス SQL プールへの Power BI Desktop の接続
  • ビューに基づくレポートの作成

前提条件

このチュートリアルを完了するには、次の前提条件を用意しておく必要があります。

省略可能:

次のパラメーターの値を指定します。

パラメーター 説明
サーバーレス SQL プール サービス エンドポイント アドレス サーバー名として使用されます
サーバーレス SQL プール サービス エンドポイント リージョン サンプルで使用されるストレージを決定するために使用されます
エンドポイント アクセスのユーザー名とパスワード エンドポイントへのアクセスに使用されます
ビューの作成に使用するデータベース サンプルの開始点として使用されるデータベース

1 - データベースの作成

デモ環境用に独自のデモ データベースを作成します。 このデータベースは、実際のデータを格納するのではなくメタデータを表示するために使用します。

次の Transact-SQL (T-SQL) スクリプトを実行して、デモ データベースを作成します (必要に応じて既存のデータベースを削除します)。

-- Drop database if it exists
DROP DATABASE IF EXISTS Demo
GO

-- Create new database
CREATE DATABASE [Demo];
GO

2 - データ ソースの作成

サーバーレス SQL プール サービスがストレージ内のファイルにアクセスするにはデータ ソースが必要です。 エンドポイントと同じリージョンにあるストレージ アカウントのデータ ソースを作成します。 サーバーレス SQL プールはさまざまなリージョンからストレージ アカウントにアクセスできますが、ストレージとエンドポイントを同じリージョンに配置するとパフォーマンスが向上します。

次の Transact-SQL (T-SQL) スクリプトを実行して、データ ソースを作成します。

-- There is no credential in data surce. We are using public storage account which doesn't need a secret.
CREATE EXTERNAL DATA SOURCE AzureOpenData
WITH ( LOCATION = 'https://azureopendatastorage.blob.core.windows.net/')

3 - ビューの準備

次の Transact-SQL (T-SQL) スクリプトを実行して、Power BI で使用する外部デモ データに基づいてビューを作成します。

次のクエリを使用して、データベース Demo 内にビュー usPopulationView を作成します。

DROP VIEW IF EXISTS usPopulationView;
GO

CREATE VIEW usPopulationView AS
SELECT
    *
FROM
    OPENROWSET(
        BULK 'censusdatacontainer/release/us_population_county/year=20*/*.parquet',
        DATA_SOURCE = 'AzureOpenData',
        FORMAT='PARQUET'
    ) AS uspv;

デモ データには次のデータセットが含まれています。

2000 年と 2010 年に実施された 10 年ごとの国勢調査から Parquet 形式で取り込んだ米国の各郡の性別および人種別の米国人口。

フォルダー パス 説明
/release/ デモ ストレージ アカウント内のデータの親フォルダー
/release/us_population_county/ Parquet 形式で示した米国人口のデータ ファイル。Hive/Hadoop パーティション構成を使用して年度別に分割されています。

4 - Power BI レポートの作成

次の手順に従って、Power BI Desktop のレポートを作成します。

  1. Power BI Desktop アプリケーションを開き、 [データの取得] を選択します。

    Open Power BI desktop application and select get data.

  2. [Azure]>[Azure SQL Database] を選択します。

    Select data source.

  3. データベースが配置されているサーバーの名前を [サーバー] フィールドに入力し、データベース名に「Demo」と入力します。 [インポート] オプションを選択し、 [OK] を選択します。

    Select database on the endpoint.

  4. 推奨される認証方法を選択します。

    • AAD の例

      Click Sign in.

    • SQL ログインの例 - ユーザー名とパスワードを入力します。

      Use SQL login.

  5. ビュー usPopulationView を選択し、 [読み込み] を選択します。

    Select a View on the database that is selected.

  6. 操作が完了するまで待機すると、There are pending changes in your queries that haven't been applied と記載されたポップアップが表示されます。 [変更の適用] を選択します。

    Click apply changes.

  7. [クエリの変更の適用] ダイアログ ボックスが消えるまで待ちます。これには数分かかる場合があります。

    Wait for a query to finish.

  8. 読み込みが完了したら、次の列をこの順序で選択してレポートを作成します。

    • countyName
    • 作成 (population)
    • stateName

    Select columns of interest to generate a map report.

リソースをクリーンアップする

このレポートの使用が終了したら、次の手順でリソースを削除します。

  1. ストレージ アカウントの資格情報を削除します。

    DROP EXTERNAL DATA SOURCE AzureOpenData
    
  2. ビューを削除します。

    DROP VIEW usPopulationView;
    
  3. データベースを削除します。

    DROP DATABASE Demo;
    

次のステップ

Synapse SQL を使用してストレージ ファイルにクエリを実行する方法については、ストレージ ファイルに対するクエリの実行に関する記事に進んでください。