こんにちは。エンジニアの宮本です。
今回はCData Sync V19を使ってMarketoから複数の顧客情報を取得してSQLServerに流し込み、最後はTableauで参照するところまでをご紹介していきます。
Marketoの複数プログラム、および、リストのメンバー取得機能についてはこちら
https://www.cdata.com/jp/blog/2019-04-16-140614
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を設定。
プログラム完了データを取得するため下記SQLを設定し、設定内容を保存する。
その後、Runボタンを押下しJOBを実行。
なお、連携先はLeads_Data1というテーブルに指定しています。
REPLICATE [Leads_Data1] SELECT * FROM Leads WHERE ProgramId IN (SELECT Id FROM Programs WHERE status = 'completed');
正常に実行され、2件取り込まれたことがわかりました。
Sync先のSQLServerで確認
今度はSync先に指定しているSQLServerにMarketoのデータが入っているか確認するため、先ほど指定したLeads_Data1という新しく作成したテーブルのデータを参照します。
Leads_Data1に2件のプログラム完了データが連携されていることを確認できました。
TableauでSyncしたMarketoデータを参照
最後にBIツールのTableauからSQLServerのデータを参照してみます。
SQLServerのLeads_Data1のデータを参照することができました。
最後に
今回はCData Syncに絞ってご紹介させていただきましたが、顧客IdやProgramIdへの複数条件については、Marketo用のODBC、JDBCでも可能となりますので、ぜひ一度お試しいただければと思います。
関連コンテンツ