2020.10.14
DataSpider CloudでSalesforceの複数選択リストの値を分割するテクニック
みなさん、こんにちは。製品営業本部の河合です。
今回はDataSpider Cloudのサンプル紹介です。
Cloudと書いてますが、DCSpiderやDataSpider Servistaでも作成可能です。
ある要件を実現可能か、とのお問い合わせをいただいたため「まあ、できるだろう」と軽い気持ちで検証しました。
実現はできたのですが、かなり変化球なものとなりましたので、一例として紹介させていただきます。
今回はDataSpider Cloudのサンプル紹介です。
Cloudと書いてますが、DCSpiderやDataSpider Servistaでも作成可能です。
ある要件を実現可能か、とのお問い合わせをいただいたため「まあ、できるだろう」と軽い気持ちで検証しました。
実現はできたのですが、かなり変化球なものとなりましたので、一例として紹介させていただきます。
要件
まずは要件の紹介です。
文章だとイメージしにくいので、次の図をご覧ください。
文章だとイメージしにくいので、次の図をご覧ください。
Salesforceから取得した複数選択リスト項目が図のvalueのようになっており、「;」で区切られた文字列を分割し、キーと組み合わせて1行ずつ出力したい、といった要件です。
スクリプト解説
続いてスクリプトを見ていきます。
こちらが全体図です。
※サンプルスクリプトを添付する関係で、CSV→CSVの連携としています。
こちらが全体図です。
※サンプルスクリプトを添付する関係で、CSV→CSVの連携としています。
ざっくりとした処理の流れは次の通りです。
- 複数選択リスト項目の値を「;」→「改行コード」に置換する
- 結果を一時ファイルに書き込む
- 一時ファイルを読み取り、出力ファイルに書き込む
次からはポイントとなる箇所を見ていきます。
1. 置換用CSVの準備
「;」を「改行コード」に置換するにはMapperロジックの「CSVファイルによる置換」を使います。
こちらは置換前と置換後の値をCSVファイルに定義することで、文字列の置換を行う機能です。
事前準備として、次の内容のCSVファイルを作成します。
こちらは置換前と置換後の値をCSVファイルに定義することで、文字列の置換を行う機能です。
事前準備として、次の内容のCSVファイルを作成します。
;," "
置換用CSVの内容
2. 文字列の置換
読み取ったデータはforeachで処理します。
まずはkeyとvalueを変数に退避します。
その際、valueに「CSVファイルによる置換」を実行します。
まずはkeyとvalueを変数に退避します。
その際、valueに「CSVファイルによる置換」を実行します。
3. 一時ファイル書き込み
先ほどの置換処理によって、「;」が「改行コード」に置換されていますので、これをファイルに書き出します。
ここでは「HTMLファイル生成」を使用し、次のように設定します。
出力ファイルの拡張子がCSVですが、問題なく動作します。
ここでは「HTMLファイル生成」を使用し、次のように設定します。
出力ファイルの拡張子がCSVですが、問題なく動作します。
4. 一時ファイルから出力ファイルへ書き込み
あとは一時ファイルを「CSVファイル読み取り」で読み取り、keyと合わせて出力ファイルに書き込めば完成です。
おわりに
今回のポイントは「;」を「改行コード」に置換したものを一時ファイルに出力するところです。
これにより、1行を1レコードとして扱うことができるようになります。
この方法は他の区切り文字のデータや、複数行項目でも利用可能ですので、個別の要件に合わせてカスタマイズしていただければと思います。
最後に、作成したスクリプトを添付します。
置換用CSVなども同梱していますので、ぜひダウンロードして動作を確認してみてください。
※サンプルは2020年10月時点のDataSpider Cloud(v1.4)で作成しています。今後のアップデートや古いバージョンのDataSpider Servistaでは正しく動作しない可能性もありますので、予めご了承ください。
それでは今回の記事は以上です。
最後までお付き合いいただきありがとうございました。
これにより、1行を1レコードとして扱うことができるようになります。
この方法は他の区切り文字のデータや、複数行項目でも利用可能ですので、個別の要件に合わせてカスタマイズしていただければと思います。
最後に、作成したスクリプトを添付します。
置換用CSVなども同梱していますので、ぜひダウンロードして動作を確認してみてください。
※サンプルは2020年10月時点のDataSpider Cloud(v1.4)で作成しています。今後のアップデートや古いバージョンのDataSpider Servistaでは正しく動作しない可能性もありますので、予めご了承ください。
それでは今回の記事は以上です。
最後までお付き合いいただきありがとうございました。
27 件