はじめに
CData Connect Cloud 関連 6回目の投稿は Dataflows です!
Dataflows は、いろんなサービスに散らばっているデータを Dataverse に集約するための機能で、さまざまなデータソースからDataverseへのデータ加工・取り込みを可能にします。
Power Apps のデータフローでセルフサービス データを準備する - Power Apps | Microsoft Docs
標準でも十分多くのデータソースが含まれているんですが、Power Apps/Automate で利用できる 3rd partyのサービスと比べるとだいぶ少ない印象です。
もちろん汎用的なOData feed や ODBC も含まれているわけですが、OnPremise Data gatewayを利用しなきゃいけなかったり、ちょっと使いづらい部分があります。
そこで、CData Connect Cloud の登場です。CData Connect Cloud では 100を超えるデータソースと接続可能で、クライアント側からSQL接続での統一的なデータアクセスを実現します。
DataflowでもSQL接続の口がありますので、これをつないで標準でサポートされていないSaaSからデータをDataverseに取り込むことが可能になります。
例えば『顧客管理はKintoneでやっているけど、Dataverseのテーブルから顧客マスターを参照したい』みたいなシナリオで有効ですね。
Dataflow の作成
CData Connect Cloud 側の設定については最初の投稿で 解説していますので、今回は割愛します。
Dataflow の作成は Power Apps ポータルから行います。 左のメニューにある "Dataverse" の中の "Dataflows" から、 "+New dataflow" を選択します。
適当な名前を付けてると、続いてデータソースの選択画面が表示されます。ここでは CData Connect Cloud に接続するために "SQL Server database" を選択します。
SQLサーバーへの接続に関する情報を指定します。 これまでと同様に、以下のように設定します。
- Server : tds.cdata.com,14333
- Authentication kind : Basic
- Username : CData Connect Cloudのユーザー名
- Password : CData Connect Cloud の Personal Access Token
※Databaseは必ずしも指定する必要はありません。
これで接続チェックが行われ、成功するとアクセス可能なコネクションおよびその中のテーブルが表示されます。
ここでは Kintone の 顧客リスト のみを選択しています。
続いて、読み込むデータを Power Query で加工します。カスタム列を追加したり、あるいは他のテーブルとあらかじめ結合させておいたり、逆に不要な列を削るなどの操作をここで行います。
最後に、Dataverse のテーブルに読み込む際の設定を行います。テーブルを新規に作るか、プライマリー列をどれにするのか、それぞれのデータ型 (Dataverseの意味で) をどうするか、などを指定しています。
忘れちゃいけない同期間隔の設定です。手動/自動どちらにするか、どのくらいの頻度で自動同期するかを設定しましょう。ここではそれほどリアルタイム性を求めないと思って、一日一回にしています。
以上で設定は完了です。
先ほどのDataflow一覧画面に今作成したものが表示されていることを確認しましょう。
Publishが完了して、最初のリフレッシュ (同期) が完了すると、Dataverse側にテーブルが作成されていることがわかります。
もちろんここで作成されたテーブルは他のDataverseのテーブルとのリレーションを定義することもできます。
おわり
ということで、特に難しいことをするでもなく、ブラウザー上で接続情報を入れるだけで 外部サービスのデータをDataverseに取り込むことができました。
KintoneのAPIを理解する必要も、このケースではSQL文すら覚えなくていいですね。接続が非常に容易になるので、あとは使い慣れた Power Queryでちょちょいと加工してあげるだけです。
Power Platformのようなノーコードのサービスと非常に相性のよい CData Connect Cloud、ぜひ試してみてはいかがでしょうか!