オンプレミス SQL Server データベースからのデータを更新する
このチュートリアルでは、ローカル ネットワーク内にオンプレミスで存在するリレーショナル データベースからの Power BI データセットを更新する方法について説明します。 具体的には、このチュートリアルではサンプルの SQL Server データベースを使用します。Power BI はこのデータベースにオンプレミス データ ゲートウェイ経由でアクセスする必要があります。
このチュートリアルでは、次の手順を実行します。
- オンプレミス SQL Server データベースからのデータをインポートする Power BI Desktop .pbix ファイルを作成して公開します。
- データ ゲートウェイ経由の SQL Server 接続用に、Power BI でデータ ソースとデータセットの設定を構成します。
- Power BI データセットに最新のデータが確実に保持されるようにするための更新スケジュールを構成します。
- データセットのオンデマンド更新を実行します。
- 過去の更新サイクルの結果を分析するために更新履歴を確認します。
- このチュートリアルで作成したアイテムを削除してリソースをクリーンアップします。
前提条件
- まだお持ちでない場合は、始める前に無料の Power BI 試用版にサインアップしてください。
- ローカル コンピューターに Power BI Desktop をインストールします。
- ローカル コンピューターに SQL Server をインストールし、バックアップから AdventureWorksDW2017 サンプル データベースを復元します。 AdventureWorks サンプル データベースの詳細については、AdventureWorks のインストールと構成に関する記事を参照してください。
- SQL Server Management Studio (SSMS) をインストールします。
- 同じローカル コンピューターに SQL Server としてオンプレミス データ ゲートウェイをインストールします。 運用環境では、通常、ゲートウェイは別のコンピューター上にあります。
注意
ゲートウェイ管理者ではない場合、または自分でゲートウェイをインストールしたくない場合は、データセットを SQL Server データベースに接続するために必要なデータ ソース定義を作成するように、組織内のゲートウェイ管理者に依頼してください。
Power BI Desktop ファイルを作成して公開する
AdventureWorksDW2017 サンプル データベースを使用する基本的な Power BI レポートを作成するには、次の手順を行います。 レポートを Power BI サービスに発行し、Power BI データセットを取得します。これは、後の手順で構成して更新します。
Power BI Desktop の [ホーム] タブで、[データの取得]>[SQL Server] の順に選択します。
[SQL Server データベース] ダイアログ ボックスで、[サーバー] と [データベース (省略可能)] の名前を入力し、[データ接続モード] が [インポート] に設定されていることを確認します。
注意
ストアド プロシージャを使用する場合は、[データ接続モード] に [インポート] を使用する必要があります。
必要に応じて、[詳細オプション] で、SQL ステートメントを指定し、SQL Server フェールオーバーを使用するなど、他のオプションを設定できます。
[OK] を選択します。
次の画面で、資格情報を確認し、[接続] を選択します。
注意
認証が失敗した場合は、適切な認証方法を選択し、データベースへのアクセスを持つアカウントを使用したことを確認してください。 テスト環境では、明示的なユーザー名とパスワードを指定してデータベース認証を使用することができます。 運用環境では、通常 Windows 認証を使用します。 詳細については、「更新のシナリオに関するトラブルシューティング」を参照するか、データベース管理者にお問い合わせください。
[暗号化のサポート] ダイアログ ボックスが表示されたら、[OK] を選択します。
[ナビゲーター] ダイアログ ボックスで [DimProduct] テーブルを選択し、[読み込む] を選択します。
Power BI Desktop の [レポート] ビューで、[視覚化] ウィンドウから [積み上げ縦棒グラフ] を選択します。
レポート キャンバスで新しい縦棒グラフを選択した状態で、[フィールド] ペインの [EnglishProductName] フィールドと [ListPrice] フィールドを選択します。
[フィールド] ペインの [EndDate] を [フィールド] ペインの [このページでのフィルター] にドラッグし、[基本フィルター] で [(空白)] のチェックボックスをオンにします。
視覚化が次のグラフのように表示されます。
Road-250 Red 製品の表示価格が、他の Road-250 製品と同じであることに注意してください。 この価格は、後でデータを更新し、レポートを更新するときに変更されます。
AdventureWorksProducts.pbix という名前でレポートを保存します。
[ホーム] タブで [発行] を選択します。
[Power BI へ発行] 画面で、[マイ ワークスペース] を選択し、[選択] を選択します。 必要に応じて、Power BI サービスにサインインします。
成功メッセージが表示されたら、[Power BI で 'AdventureWorksProducts.pbix' を開く] を選択します。
データセットを SQL Server データベースに接続する
Power BI Desktop で、オンプレミス SQL Server データベースに直接接続しました。 Power BI サービスで、クラウドとオンプレミス ネットワーク間のブリッジとして機能するデータ ゲートウェイが必要です。 次の手順を行って、オンプレミス SQL Server データベースをデータ ソースとしてゲートウェイに追加し、データセットをこのデータ ソースに接続します。
Power BI サービスで、画面の右上隅の設定歯車アイコンを選択して、[設定] を選択します。
[セマンティック モデル] タブを選択し、データセットのリストから [AdventureWorksProducts] データセットを選びます。
[ゲートウェイ接続] を展開して、少なくとも 1 つのゲートウェイが表示されていることを確認します。 ゲートウェイが表示されない場合は、手順に従ってオンプレミス データ ゲートウェイをインストールしてください。
[アクション] の下にある矢印の切り替えを選択してデータ ソースを展開し、データ ソースの横にある [ゲートウェイに追加] リンクを選択します。
[新しい接続] 画面で [オンプレミス] を選択し、次のフィールドに入力するか確認します。 ほとんどのフィールドは既に入力されています。
- ゲートウェイ クラスター名: ゲートウェイ クラスター名を確認または入力します。
- 接続名: AdventureWorksProducts など、新しい接続の名前を入力します。
- 接続の種類: まだ選択されていない場合は、[SQL Server] を選択します。
- サーバー: SQL Server インスタンス名を確認または入力します。 Power BI Desktop で指定した内容と同じである必要があります。
- データベース: AdventureWorksDW2017 など、SQL Server データベース名を確認または入力します。 Power BI Desktop で指定した内容と同じである必要があります。
[認証] の下で、
- 認証方法: [Windows]、[Basic]、[OAuth2] (通常は [Windows]) を選択します。
- ユーザー名とパスワード: SQL Server への接続に使用する資格情報を入力します。
[作成] を選択します
[設定] 画面に戻り、[ゲートウェイ接続] セクションを展開し、構成したデータ ゲートウェイの [状態] に、インストールしたマシンで実行中であることが表示されていることを確認します。 [適用] を選択します。
更新スケジュールを構成する
Power BI データセットをデータ ゲートウェイ経由で SQL Server のオンプレミス データベースに接続したら、次の手順を行って更新スケジュールを構成します。 スケジュールに基づいてデータセットを更新することで、レポートとダッシュボードに最新のデータが確実に表示されるようにできます。
左側のナビゲーション ペインで、[マイ ワークスペース] を展開します。
[セマンティック モデル] セクションで、[AdventureWorksProducts] データセットをポイントし、3 つの垂直ドットの開くメニュー アイコンを選択して、[更新のスケジュール設定] を選びます。
ヒント
[更新のスケジュール設定] オプションがない、同じ名前のレポートではなく、AdventureWorksProducts データセットをポイントしていることを確認します。
[スケジュールされている更新] セクションの [データを最新の状態に保つ] で、更新を [オン] に設定します。
この例では [更新の頻度] で [毎日] を選択し、[時間] で [別の時刻を追加] を選択します。
この例では、午前 6 時を指定し、[別の時刻を追加] を選択し、午後 6 時を指定します。
注意
データセットが共有された容量上にある場合は時間枠を 1 日最大 8 個、Power BI Premium では 48 個を構成できます。
[更新失敗に関する通知の送信先] の下のチェックボックスを [セマンティック モデル所有者] に設定したままにして、[適用] を選択します。
更新スケジュールが構成されたので、Power BI により次のスケジュールされた時間 (15 分の幅あり) にデータセットが更新されます。
オンデマンド更新を実行する
ゲートウェイやデータ ソースの構成をテストする場合など、任意の時点でデータを更新するには、左ペインの [セマンティック モデル] メニューにある [今すぐ更新] オプションを使用してオンデマンド更新を実行できます。 オンデマンド更新は、次にスケジュールされている更新時間には影響しません。
オンデマンド更新を示すには、まず、SSMS を使用して AdventureWorksDW2017 データベースの DimProduct
テーブルを次のように更新してサンプル データを変更します。
UPDATE [AdventureWorksDW2017].[dbo].[DimProduct]
SET ListPrice = 5000
WHERE EnglishProductName ='Road-250 Red, 58'
次の手順を行い、更新されたデータがゲートウェイ接続を経由してデータセットに流れ、Power BI レポートに反映されるようにします。
Power BI サービスの左側のナビゲーション ペインで、[マイ ワークスペース] を展開します。
[セマンティック モデル] セクションで、[AdventureWorksProducts] データセットをカーソルを合わせ、3 つの垂直ドットの開くメニュー アイコンを選択して、[今すぐ更新] を選びます。
右上に [更新の準備をしています] メッセージが表示されます。
[マイ ワークスペース] の [レポート] セクションで、[AdventureWorksProducts] を選択します。 更新されたデータがレポートに反映され、表示価格が最も高い製品が Road-250 Red, 58 になりました。
更新履歴を確認する
更新履歴を定期的に使用して、過去の更新サイクルの結果を確認することをお勧めします。 データベースの資格情報の期限が切れていたかもしれません。または、選択したゲートウェイがスケジュールされた更新の期限のときにオフラインになっていたかもしれません。 次の手順を行い、更新履歴を調べて問題を確認します。
Power BI 画面の右上隅の設定歯車アイコンを選択して、[設定] を選択します。
[セマンティック モデル] タブで、[AdventureWorksProducts] など、調べたいデータセットを選択します。
[更新履歴] リンクを選択します。
[更新履歴] ダイアログ ボックスの [スケジュール済み] タブで、過去のスケジュールされた更新とオンデマンドの更新の[開始] 時刻と [終了] 時刻に注目します。 [状態] の [完了] は、Power BI で更新が正常に行われたことを示します。 失敗した更新については、エラー メッセージを表示してエラーの詳細を調べることができます。
注意
[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 のデータ更新と、データゲートウェイおよびデータ ソースの管理について詳細を確認できます。