複数Power BI XMLA アカウントをレプリケーション

宮本航太
宮本航太
プロダクトスペシャリスト
複数のPower BI XMLA アカウントを、1つあるいは多数のデータベースにレプリケーション。

CData Sync for PowerBIXMLA は、データベースにサンドボックスや製品インスタンスをレプリケートするなどの、レプリケーションの多様なシナリオに対する解決策を提供するスタンドアロンアプリケーションです。Sync for Windows およびSync for Java はどちらもコマンドラインインターフェース(CLI)を含んでおり、複数のPower BI XMLA 接続を簡単に管理できます。この記事では、CLI を使って複数のPower BI XMLA アカウントをレプリケートする方法について説明します。

Power BI XMLA 接続の構成

接続およびE メール通知設定をXML 設定ファイルに保存できます。複数のPower BI XMLA アカウントをレプリケートするには、複数の設定ファイルを使います。以下にPower BI XMLA をSQLite にレプリケートする設定例を示します。

Windows

<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync>
  <DatabaseType>SQLite</DatabaseType>
  <DatabaseProvider>System.Data.SQLite</DatabaseProvider>
  <ConnectionString>URL=powerbi://api.powerbi.com/v1.0/myorg/CData;</ConnectionString>
  <ReplicateAll>False</ReplicateAll>
  <NotificationUserName></NotificationUserName>
  <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
  <TaskSchedulerStartTime>09:51</TaskSchedulerStartTime>
  <TaskSchedulerInterval>Never</TaskSchedulerInterval>
</CDataSync>

Java

<?xml version="1.0" encoding="UTF-8" ?>
<CDataSync>
<DatabaseType>SQLite</DatabaseType>
  <DatabaseProvider>org.sqlite.JDBC</DatabaseProvider>
  <ConnectionString>URL=powerbi://api.powerbi.com/v1.0/myorg/CData;</ConnectionString>
  <ReplicateAll>False</ReplicateAll>
  <NotificationUserName></NotificationUserName>
  <DatabaseConnectionString>Data Source=C:\my.db</DatabaseConnectionString>
</CDataSync>

Microsoft PowerBIXMLA 接続プロパティの取得・設定方法

それでは、Microsoft PowerBIXMLA に接続していきましょう。接続するには、Workspace プロパティを有効なPowerBIXMLA ワークスペースに設定します(例:CData)。 Power BI Premium 容量のワークスペースのみがサポートされていることにご注意ください。Premium 容量のないワークスペースとは互換性がありません。

Microsoft PowerBIXMLA への認証

続いて、認証方法を設定しましょう。CData 製品では、様々な接続シナリオに対応するため3つの認証方法をサポートしています。Azure AD 認証、Azure サービスプリンシパルのクライアントシークレット認証、Azure サービスプリンシパルの証明書認証です。 各認証方法の詳細については、ヘルプドキュメントをご確認ください。

各Power BI XMLA インスタンスにクエリを設定

Sync を使うと標準SQL でレプリケーションを制御できます。REPLICATE ステートメントはハイレベルなコマンドで、データベースにテーブルをキャッシュして維持します。Power BI XMLA API がサポートするあらゆるSELECT クエリを定義できます。下記のステートメントは、Power BI XMLA のデータ のテーブルをキャッシュしてインクリメンタルに更新します。

REPLICATE Customer;

特定のデータベースを更新するために使用するレプリケーションクエリを含むファイルを指定することができます。レプリケーションステートメントはセミコロンで区切ります。次のオプションは、複数のPower BI XMLA アカウントを同じデータベースにレプリケートする場合に便利です。

REPLICATE SELECT ステートメントでは、異なるテーブルのプレフィックスを使用できます。

REPLICATE PROD_Customer SELECT * FROM Customer

異なるスキーマを使用することもできます。

REPLICATE PROD.Customer SELECT * FROM Customer

Sync の実行

接続文字列およびレプリケーションクエリの設定が完了したら、次のコマンドラインオプションを使ってSync を実行できます。

Windows

PowerBIXMLASync.exe -g MyProductionPowerBIXMLAConfig.xml -f MyProductionPowerBIXMLASync.sql

Java

java -Xbootclasspath/p:c:\sqlitejdbc.jar -jar PowerBIXMLASync.jar -g MyProductionPowerBIXMLAConfig.xml -f MyProductionPowerBIXMLASync.sql

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData Sync お問い合わせ