CData Software Blog

クラウド連携のCData Software の技術ブログです。

CData SyncでMarketoから複数の顧客情報を取得してTableauで参照する

こんにちは。エンジニアの宮本です。

今回はCData Sync V19を使ってMarketoから複数の顧客情報を取得してSQLServerに流し込み、最後はTableauで参照するところまでをご紹介していきます。

Marketoの複数プログラム、および、リストのメンバー取得機能についてはこちら www.cdatablog.jp

CData Sync V19からIdやProgramIdに複数の条件を指定することが可能となります

もともとMarketoのREST APIの仕様で複数のLeadIdやProgramIdを指定することができないため、Programsテーブルのステータスが完了になったデータを取得するような下記SQLを実行するとエラーとなっていました。

SELECT * FROM Leads WHERE ProgramId IN (SELECT Id FROM Programs WHERE status = 'completed');

それが今回バージョンアップとなるCData Sync V19では、上記SQLのように1回のアクションで複数の顧客データを取得することが可能となります。

では、さっそくCData Syncを使ってプログラムが完了になっているデータをMarketoから取得してみましょう。

CData Sync V19でMarketoからデータを取得

[Source]データソースにMarketo、[Destination]Sync先にSQLServerを設定。

f:id:sennanvolar44:20190415184659p:plain

プログラム完了データを取得するため下記SQLを設定し、設定内容を保存する。
その後、Runボタンを押下しJOBを実行。
なお、連携先はLeads_Data1というテーブルに指定しています。
REPLICATE [Leads_Data1] SELECT * FROM Leads WHERE ProgramId IN (SELECT Id FROM Programs WHERE status = 'completed');

f:id:sennanvolar44:20190415185719p:plain

正常に実行され、2件取り込まれたことがわかりました。 f:id:sennanvolar44:20190415191527p:plain

Sync先のSQLServerで確認

今度はSync先に指定しているSQLServerにMarketoのデータが入っているか確認するため、先ほど指定したLeads_Data1という新しく作成したテーブルのデータを参照します。

f:id:sennanvolar44:20190415192526p:plain

Leads_Data1に2件のプログラム完了データが連携されていることを確認できました。

TableauでSyncしたMarketoデータを参照

最後にBIツールのTableauからSQLServerのデータを参照してみます。

f:id:sennanvolar44:20190415200151p:plain

SQLServerのLeads_Data1のデータを参照することができました。

最後に

今回はCData Syncに絞ってご紹介させていただきましたが、顧客IdやProgramIdへの複数条件については、Marketo用のODBCJDBCでも可能となりますので、ぜひ一度お試しいただければと思います。