こんにちは、プロダクトチームの宮本です!
CData Sync V23.2 ではデータクレンジング機能が備わり、同期先へ転送する前に個人情報のマスキング処理や欠損値の補完、半角全角の表記ゆれの統一などのデータ加工が簡単にできるようになりました!
では、さっそく使い方を紹介していきたいと思います!
データ加工機能の使い方
CData Sync のジョブ画面に移動して、作成したタスクをクリックして詳細設定画面に遷移します。
タスク詳細画面を表示しましたら、カラムタブ→「マッピングを編集」ボタンをクリックします。
ボタンクリック後、左側に「+」マークが表示されるようになります。加えて、各項目の右側の三点リーダから変換を適用というメニューが表示されるようになります。
前者の + ボタンの方ですと、連携項目を新たに追加するようになりますので、既に連携対象となっている項目に対して変換処理を行いたい場合は、項目行から「変換を適用」をクリックして次に進んでください。
次に「SQL Transformation を適用」をクリックすると 5つの変換用関数が表示されます。今回は電話番号を保持している Phone カラムに対して MASK 関数を使ってみたいと思います。
関数をクリックすると、MASK関数がセットされた状態で表示されます。ちなみにデフォルトでは開始位置と終了位置は指定されてないので、全ての文字に対して変換処理がされるようになっています。
もしマスク処理したい範囲を指定したい場合は、下記のように開始終了位置をセットできるようになっています。
それでは、今回は取得した値全てに対してマスキングするということでデフォルトの状態で保存します。完了ボタンを押すと、データソース側の項目に MASK 関数が盛り込まれた形で表示されるようになりました。
その後は右上の「マッピングを保存」をクリックして完了です。
以上で設定は完了ですので、タスクタブを開いてジョブを実行してみましょう。
ジョブ終了後、同期先のSQLServerを確認してみますと、Phone 項目の値が * に置き換わっていることが確認できました。
利用できる変換用関数について
プリセットされている関数は MASK、TRIM、ISNULL、UPEER、LOWER の5つになりますが、実はそれ以外の関数も利用できるようになっています。
利用できる関数のリストは個々のデータソースのヘルプにあるSQL関数というセクションに記載されています。https://cdn.cdata.com/help/RFJ/jp/jdbc/pg_sqlfunctions.htm
例えば電話番号データに登録されているハイフンやカッコ、空白を全て除去したい場合には REPLACE 関数を使います。
REPLACE 関数のパラメータの説明は、JDBCなどのドライバーのヘルプにて説明しています。
https://cdn.cdata.com/help/RFJ/jp/jdbc/pg_sqlstringfunctions.htm#replacestringexpression-stringpattern-stringreplacement
実際には下記のように複数指定することで複数の対象文字を変換することができます。
ではこれを保存したらジョブを実行してみましょう。
もとの電話番号はこのような形式で登録されていましたが、
REPLACE 関数を組み合わせて使うことで、SQLServer には数字だけが連携されるようになりました。
おわりに
今回新たに追加されたデータ加工機能はいかがでしたでしょうか?簡易的なデータプレパレーション機能とはいえ、SQL関数を各項目ごとにセットすることでレプリケーション後の処理が軽減できるようになったと思います。
CData Sync は30 日間無償でのトライアル利用が可能ですので、ぜひこのデータ加工機能をお試しいただければと思います。
https://www.cdata.com/jp/sync/
関連コンテンツ