オンプレミス SQL Server データベースからのデータを更新する

このチュートリアルでは、ローカル ネットワーク内にオンプレミスで存在するリレーショナル データベースからの Power BI セマンティック モデルを更新する方法について説明します。 具体的には、このチュートリアルではサンプルの SQL Server データベースを使用します。Power BI はこのデータベースにオンプレミス データ ゲートウェイ経由でアクセスする必要があります。

このチュートリアルでは、次の手順を実行します。

  • オンプレミス SQL Server データベースからのデータをインポートする Power BI Desktop .pbix ファイルを作成して公開します。
  • データ ゲートウェイ経由の SQL Server 接続用に、Power BI でデータ ソースとセマンティック モデルの設定を構成します。
  • Power BI セマンティック モデルに最新のデータが確実に保持されるようにするための更新スケジュールを構成します。
  • セマンティック モデルをオンデマンドで更新します。
  • 過去の更新サイクルの結果を分析するために更新履歴を確認します。
  • このチュートリアルで作成したアイテムを削除してリソースをクリーンアップします。

前提条件

Note

ゲートウェイ管理者ではない場合、または自分でゲートウェイをインストールしたくない場合は、セマンティック モデルを SQL Server データベースに接続するために必要なデータ ソース定義を作成するように、組織内のゲートウェイ管理者に依頼してください。

Power BI Desktop ファイルを作成して公開する

AdventureWorksDW2017 サンプル データベースを使用する基本的な Power BI レポートを作成するには、次の手順を行います。 レポートを Power BI サービスに発行し、Power BI セマンティック モデルを取得します。これは、後の手順で構成および更新します。

  1. Power BI Desktop の [ホーム] タブで、[データの取得]>[SQL Server] の順に選択します。

  2. [SQL Server データベース] ダイアログ ボックスで、[サーバー][データベース (省略可能)] の名前を入力し、[データ接続モード][インポート] に設定されていることを確認します。

    注意

    ストアド プロシージャを使用する場合は、[データ接続モード][インポート] を使用する必要があります。

    [SQL Server データベース] ダイアログ ボックスのスクリーンショット。

    必要に応じて、[詳細オプション] で、SQL ステートメントを指定し、SQL Server フェールオーバーを使用するなど、他のオプションを設定できます。

    SQL Server の詳細オプションのスクリーンショット

  3. [OK] を選択します。

  4. 次の画面で、資格情報を確認し、[接続] を選択します。

    注意

    認証が失敗した場合は、適切な認証方法を選択し、データベースへのアクセスを持つアカウントを使用したことを確認してください。 テスト環境では、明示的なユーザー名とパスワードを指定してデータベース認証を使用することができます。 運用環境では、通常 Windows 認証を使用します。 詳細については、「更新のシナリオに関するトラブルシューティング」を参照するか、データベース管理者にお問い合わせください。

  5. [暗号化のサポート] ダイアログ ボックスが表示されたら、[OK] を選択します。

  6. [ナビゲーター] ダイアログ ボックスで [DimProduct] テーブルを選択し、[読み込む] を選択します。

    [ナビゲーター] ダイアログ ボックスのスクリーンショット。

  7. Power BI Desktop の [レポート] ビューで、[視覚化] ウィンドウから [積み上げ縦棒グラフ] を選択します。

    [視覚化] ペインで積み上げ縦棒グラフが強調表示されているスクリーンショット。

  8. レポート キャンバスで新しい縦棒グラフを選択した状態で、[データ] ペインの [EnglishProductName] フィールドと [ListPrice] フィールドを選択します。

    [データ] ペインで [EnglishProductName] フィールドと [ListPrice] フィールドが強調表示されているスクリーンショット。

  9. [データ] ペインの [EndDate][フィールド] ペインの [このページでのフィルター] にドラッグし、[基本フィルター][(空白)] のチェックボックスをオンにします。

    [このページでのフィルター] の基本フィルターを示すスクリーンショット。

    視覚化が次のグラフのように表示されます。

    完成した縦棒グラフを示すスクリーンショット。

    Road-250 Red 製品の表示価格が、他の Road-250 製品と同じであることに注意してください。 この価格は、後でデータを更新し、レポートを更新するときに変更されます。

  10. AdventureWorksProducts.pbix という名前でレポートを保存します。

  11. [ホーム] タブで [発行] を選択します。

  12. [Power BI へ発行] 画面で、[マイ ワークスペース] を選択し、[選択] を選択します。 必要に応じて、Power BI サービスにサインインします。

  13. 成功メッセージが表示されたら、[Power BI で 'AdventureWorksProducts.pbix' を開く] を選択します。

    [Power BI へ発行] 画面のスクリーンショット。

セマンティック モデルを SQL Server データベースに接続する

Power BI Desktop で、オンプレミス SQL Server データベースに直接接続しました。 Power BI サービスで、クラウドとオンプレミス ネットワーク間のブリッジとして機能するデータ ゲートウェイが必要です。 次の手順を行って、オンプレミス SQL Server データベースをデータ ソースとしてゲートウェイに追加し、セマンティック モデルをこのデータ ソースに接続します。

  1. Power BI サービスで、ワークスペースに移動し、ワークスペース コンテンツ リストで AdventureWorksProducts セマンティック モデルを検索します。

  2. セマンティック モデルの名前の横にある 3 つの水平ドット アイコンの [詳細オプション] を選択し、[設定] を選択します。

  3. [ゲートウェイとクラウド接続] を展開して、少なくとも 1 つのゲートウェイが表示されていることを確認します。 ゲートウェイが表示されない場合は、手順に従ってオンプレミス データ ゲートウェイをインストールしてください。

    [設定] の [ゲートウェイ接続] を示すスクリーンショット。

  4. [アクション] の下にある矢印の切り替えを選択してデータ ソースを展開し、データ ソースの横にある [ゲートウェイに追加] リンクを選択します。

    展開されたデータ ソースで矢印の切り替えが強調表示されているスクリーンショット。

  5. [新しい接続] 画面で [オンプレミス] を選択し、次のフィールドに入力するか確認します。 ほとんどのフィールドは既に入力されています。

    • ゲートウェイ クラスター名: ゲートウェイ クラスター名を確認または入力します。
    • 接続名: AdventureWorksProducts など、新しい接続の名前を入力します。
    • 接続の種類: まだ選択されていない場合は、[SQL Server] を選択します。
    • サーバー: SQL Server インスタンス名を確認または入力します。 Power BI Desktop で指定した内容と同じである必要があります。
    • データベース: AdventureWorksDW2017 など、SQL Server データベース名を確認または入力します。 Power BI Desktop で指定した内容と同じである必要があります。

    [認証] の下で、

    • 認証方法: [Windows][Basic][OAuth2] (通常は [Windows]) を選択します。
    • ユーザー名パスワード: SQL Server への接続に使用する資格情報を入力します。

    [新しい接続] 設定を示すスクリーンショット。

  6. [作成] を選択します

  7. [設定] 画面に戻り、[ゲートウェイ接続] セクションを展開し、構成したデータ ゲートウェイの [状態] に、インストールしたマシンで実行中であることが表示されていることを確認します。 [適用] を選択します。

    ゲートウェイ接続の適用を示すスクリーンショット。

更新スケジュールを構成する

一度 Power BI セマンティック モデルをデータ ゲートウェイ経由で SQL Server のオンプレミス データベースに接続すると、次の手順を行って更新スケジュールを構成します。 スケジュールに基づいてセマンティック モデルを更新することで、レポートとダッシュボードに最新のデータが確実に表示されるようにできます。

  1. 左のナビゲーション ウィンドウで、[マイ ワークスペース] を選択します。

  2. ワークスペース コンテンツ リストから AdventureWorksProducts セマンティック モデルを選択します。

    ヒント

    [更新のスケジュール設定] オプションがない、同じ名前のレポートではなく、AdventureWorksProducts セマンティック モデルをポイントしていることを確認します。

  3. セマンティック モデルの設定ページで、リボンから [更新] を選択し、[更新のスケジュール設定] を選択します。

  4. [更新] セクションの [更新スケジュールの構成]スライダーを [オン] に設定します。

  5. この例では [更新の頻度][毎日] を選択し、[時間][別の時刻を追加] を選択します。

    この例では、午前 6 時を指定し、[別の時刻を追加] を選択し、午後 6 時を指定します。

    スケジュールされた更新の構成を示すスクリーンショット。

    Note

    セマンティック モデルが共有容量上にある場合は、1 日の最大 8 つの時間帯を構成でき、Power BI Premium の場合は 48 の時間帯を構成できます。

  6. [更新失敗に関する通知の送信先] の下のチェックボックスを [セマンティック モデル所有者] に設定したままにして、[適用] を選択します。

更新スケジュールが構成されたので、Power BI により次のスケジュールされた時間 (15 分の幅あり) にセマンティック モデルが更新されます。

オンデマンドで更新する

ゲートウェイやデータ ソースの構成をテストする場合など、任意の時点でデータを更新するには、セマンティック モデル設定ページの上部にあるリボンの [今すぐ更新] オプションを使用してオンデマンド更新を実行できます。 このオプションは、セマンティック モデルの名前の横にあるワークスペース コンテンツ リストにも表示されます。 オンデマンド更新は、次にスケジュールされている更新時間には影響しません。

オンデマンド更新を示すには、まず、SSMS を使用して AdventureWorksDW2017 データベースの DimProduct テーブルを次のように更新してサンプル データを変更します。


UPDATE [AdventureWorksDW2017].[dbo].[DimProduct]
SET ListPrice = 5000
WHERE EnglishProductName ='Road-250 Red, 58'

次の手順に従い、更新されたデータがゲートウェイ接続を経由してセマンティック モデルに流れ、Power BI レポートに反映されるようにします。

  1. 左側のナビゲーション ウィンドウで マイ ワークスペース に移動し、セマンティック モデル AdventureWorksProducts を検索します。

  2. セマンティック モデルの名前の横にある [今すぐ更新] アイコンを選択します。 右上隅に「更新の準備をしています」というメッセージが表示されます。

    [今すぐ更新] の選択を示すスクリーンショット。

    右上に [更新の準備をしています] メッセージが表示されます。

  3. 次に、 AdventureWorksProducts レポートを選択して開きます。 更新されたデータがレポートに反映され、表示価格が最も高い製品が Road-250 Red, 58 になりました。

    更新された縦棒グラフを示すスクリーンショット。

更新履歴を確認する

更新履歴を定期的に使用して、過去の更新サイクルの結果を確認することをお勧めします。 データベースの資格情報の期限が切れていたかもしれません。または、選択したゲートウェイがスケジュールされた更新の期限のときにオフラインになっていたかもしれません。 次の手順を行い、更新履歴を調べて問題を確認します。

  1. マイ ワークスペース で、AdventureWorksProducts セマンティック モデルを選択します。

  2. セマンティック モデルの設定ページで、ページ上部にあるリボンから [更新] を選択し、[更新履歴] を選択します。

  3. [更新履歴] ダイアログ ボックスの [スケジュール済み] タブで、過去のスケジュールされた更新とオンデマンドの更新の[開始] 時刻と [終了] 時刻に注目します。 [状態][完了] は、Power BI で更新が正常に行われたことを示します。 失敗した更新については、エラー メッセージを表示してエラーの詳細を調べることができます。

    [更新履歴] 画面を示すスクリーンショット。

    Note

    [OneDrive] タブは、OneDrive または SharePoint Online 上の Power BI Desktop ファイル、Excel ブック、または CSV ファイルに接続されているセマンティック モデルにのみ関連します。 詳細については、「Power BI でのデータの更新」を参照してください。

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

次の手順を行い、このチュートリアル用に作成したリソースをクリーンアップします。

  • サンプル データを今後使用しない場合は、SSMS を使用してデータベースを削除します。
  • SQL Server データ ソースを使用しない場合は、データ ゲートウェイから そのデータ ソースを削除 します。 また、データゲートウェイをこのチュートリアルのためだけにインストールした場合は、アンインストールすることを検討してください。
  • また、AdventureWorksProducts.pbix ファイルを発行したときに Power BI により作成された AdventureWorksProducts セマンティック モデルとレポートも削除します。

このチュートリアルでは、次の方法について説明しました。

  • オンプレミス SQL Server データベースから Power BI セマンティック モデルにデータをインポートする。
  • セマンティック モデルを使用するレポートとダッシュボードを更新するために、Power BI セマンティック モデルをスケジュールおよびオンデマンド ベースで更新する。

Power BI のデータ更新と、データゲートウェイおよびデータ ソースの管理について説明する次のリソースを確認します: