【ノーコード】Power Apps データフローを使ってSage X3 Cloud のデータをDataverse に連携する方法

加藤龍彦
加藤龍彦
デジタルマーケティング
Sage X3 Cloudデータ連携の複雑さをPower Apps データフローとCData Power BI Connectorで解決。オンプレミスゲートウェイ設定からアプリ作成までノーコードで完了する実践的手順を詳しく解説します。



Power Apps はMicrosoft のローコードアプリ開発ツールです。Power Apps には、Power Apps 上で使えるデータベースライクなDataverse(旧CDS)というサービスがあるのですが、このサービスに連携するためのデータフローというデータインテグレーション機能が存在します。

Access やSharePoint リストを元に、Dataverse のエンティティ(テーブルのようなもの)を自動生成し、定期的にデータを同期させてくれるという便利な機能です!デフォルトでも30種類くらいのサービスに接続できるようになっているのですが、CData のPower BI Connectors と組み合わせればSage X3 Cloud を含む270種類以上のデータソースに接続できます。 ここでは、汎用ODBC データプロバイダーとしてSage X3 Cloud に接続し、Power Apps オンプレミスデータゲートウェイからSage X3 Cloud のデータを連携利用する手順を説明します。

Sage X3 Cloud のデータに接続するDSN を設定

まずは、右側のサイドバーからPower BI Connector for SageX3Cloud をダウンロードします。30日間無料で全機能が利用できるので、お気軽にご利用ください。インストールが完了すると、以下のように接続設定画面が表示されるので、 DSN を設定します。 DSN 設定の詳細については、ドキュメントを参照してください。 ODBC DSN設定画面

Sage X3 Cloud DSN の設定方法

Sage X3 Cloud では OAuth 2.0 の Client Credentials フローを使用し、API へのアクセスには X-API-Key も必要です。AuthScheme を OAuth に設定し、以下の接続プロパティを指定します。

  • URL:Sage X3 Cloud インスタンスのベース URL。
  • OAuthAccessTokenUrl:OAuth トークンエンドポイント(例:https://your-auth-domain/oauth/token)。
  • OAuthClientId:OAuth アプリケーションのクライアント ID。
  • OAuthClientSecret:OAuth アプリケーションのクライアントシークレット。
  • Audience:トークンリクエストで使用する API の Audience 値。
  • XAPIKey:Sage X3 Cloud の管理者から提供された X-API-Key。
  • Folder:Sage X3 のフォルダ名(例:SEED)。このフォルダがデフォルトのスキーマとして使用されます。
  • Folders(オプション):Sage X3 フォルダのカンマ区切りリスト(例:SEED,PERF)。各フォルダが個別のスキーマとして公開されるため、Schema.Table 構文でフォルダをまたいだクエリを実行できます。

ドライバーは Client Credentials フローでアクセストークンを取得し、すべての API リクエストで X-API-Key とあわせて送信します。InitiateOAuth を GETANDREFRESH(デフォルト)に設定しておけば、トークンの取得と更新は自動で行われます。

オンプレミスデータゲートウェイで Sage X3 Cloud コネクタを認識させる

次にオンプレミスデータゲートウェイにインストールしたSage X3 Cloud コネクターを認識させます。もしデータゲートウェイのインストールがまだであれば、こちらのMS 公式ページからダウンロードできます。

  • Power Apps の環境では、モデル駆動アプリで利用できるDataverse にデータを連携するので、Dataverse の環境を予め構成しておいてください。
  • オンプレミスデータゲートウェイを立ち上げて「コネクタ」のタブに移動し、フォルダパスから「C:\Program Files\CData\CData Power BI Connector for SageX3Cloud」を選択します。
  • カスタムデータコネクタが識別されれば、設定完了です。
  • データフローの接続を構成する

    それでは Power Apps の画面に移動して、データフローを作成してみましょう。

    • Power Apps の画面から「データフロー」を選択し、「データフローを作成する」をクリックします。
    • 任意の名称を入力し、「作成」をクリック
    • データソース一覧の中から「ODBC」を選択します。
    • 接続設定画面では、先程設定した接続情報を使うので接続文字列のところに「DSN=接続名称(今回の場合はDSN=CData PBI Sage X3 Cloud )」と入力します。オンプレミスデータゲートウェイからは接続先のゲートウェイが表示されるので、それを選択。現在のPower Apps データフローの仕様上ODBC 接続では認証が必須のようなので、認証の種類として「Basic」を選択し、適当な文字列を入力しておきます(この文字列は使われないので、特に気にしなくて大丈夫です)。
    • 次の画面に進むと、対象のテーブル・もしくはビュー選択画面に移動します。テーブルを選択すると、プレビューが表示され、正常にコネクターとゲートウェイ経由でSage X3 Cloud のデータが参照できていることがおわかりいただけると思います。テーブルを選択して、次へ進みます。
    • クエリの編集画面では、特にカラムの変換など必要ない場合は、変更する必要はありません。そのまま次へ進んでも大丈夫です。
    • 重要なエンティティマップです。ここで、Dataverse にエンティティを構成するための各種設定を実施します。今回は新しくエンティティを構成してしまうので、「新しいエンティティを読み込む」にチェックを入れます。デフォルトでは、対象フィールドのタイプが複数行テキストになってしまうので、これらを「テキスト」のタイプに変更し、最後にプライマリフィールドを選択テーブルへ設定すればOKです。
      また、もしデータの差分をDataverse 側に残しておきたい場合は、「クエリ出力に存在しない行を削除します」にチェックを入れておきましょう。
    • 最後にデータの更新方法を選択します。せっかくなので、自動的に更新にしてみましょう。以下のように1時間ごとに更新というように設定しておけば、1時間毎に随時登録されたデータが吸い上げられ、最新のデータがDataverse 上に登録されていきます。
    • 設定後、「作成」をクリックすると、エンティティの作成と初期のデータ同期が開始されます。「完了済み」になればOKです。
    • データタブの「エンティティ」を選択すると、自動的に生成されたエンティティが一覧に含まれていることがわかります。

    おわりに

    このように、Power Apps から簡単にSage X3 Cloud のデータに接続して利用することができました。CData のPower BI Connector は、Sage X3 Cloud 以外にも270種類以上のデータソースに対応しています。30日間の無償トライアルがありますので、ぜひお試しください。

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

Sage X3 Cloud Power BI Connector の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Sage X3 Cloud Icon Sage X3 Cloud Power BI Connector

Power BI からSage X3 Cloud データにリアルタイムアクセスする認定コネクタ。 ハイパフォーマンス、リアルタイム連携、高度なスキーマ自動検出、SQL -92 をサポート。