ReckonerでkintoneとGoogle Sheetsを比較して差分をkintoneに更新する方法
はじめに
クラウドネイティブなデータ連携サービスReckoner(レコナー)の変換タスク「差分」を使うことで、2つのデータを比較して差分を抽出することができます。
■比較元のkintoneアプリデータ
■比較先のGoogle Sheetsのデータ
今回はGoogle Sheetsとkintoneアプリで差分のある箇所は添付の赤枠部分になります
*上記データは全てテスト用の架空データです
事前設定: kintoneアプリで重複データ排除設定にする
kintoneアプリの設定にて、更新のキーとなるフィールドを設定します。アプリを開いて、右上の設定をクリックします。
キーフィールドを設定する項目の設定をクリックします。
「値の重複を禁止する」にチェックして保存をクリックします。
設定詳細: 転送元kintone
設定後、画面右上のプレビューをクリックして実行結果を確認します。
- 表示名 : 任意
- 接続情報 : 接続情報のKintoneで作成した表示名
- アプリID : Kintoneから取得したいアプリID
- メタフィールドを取り込む : オフ
- カラム名モード : label
アプリIDはアプリを開いた時のURLから確認できます。
Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。
設定詳細: 転送元Google Sheets
設定後、画面右上のプレビューをクリックして実行結果を確認します。
- 表示名 : 任意
- 接続情報 : 接続情報のGoogle Sheetsで作成した表示名
- スプレッドシート : Google Sheetsのスプレッドシート名
- シート名 : Google Sheetsのシート名
Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。
Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。
設定詳細: 投影
ソースで作成したKintoneには自動でレコード番号列が作成されるため、削除します。
次のように設定します。設定後、画面右上のプレビューをクリックして実行結果を確認します。
- 表示名 : 任意
- モード : 削除
- 削除するフィールド : レコード番号
Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。
ソースで作成したGoogle Sheets/スプレッドシートには自動でrow_number列が作成されるため、削除します。
次のように設定します。
設定後、画面右上のプレビューをクリックして実行結果を確認します。
- 表示名 : 任意
- モード : 削除
- 削除するフィールド : row_number
Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。
設定詳細: 差分
次のように設定します。
設定後、画面右上のプレビューをクリックして実行結果を確認します。
- 表示名 : 任意
- 比較元テーブル : 比較先で作成した表示名
- 比較先テーブル : 更新元で作成した表示名
- 比較条件 : [“postalcode”, “address”, “tel”, “email”, “hobby”]
(差分で抽出されるデータは比較元テーブルに設定した内容が抽出されるため、比較元テーブルには比較先で作成したソースを設定し、比較先テーブルには更新元で作成したソースを設定することに注意してください。)
Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。
設定詳細: 転送先 kintone
次のように設定します。
(設定後、画面右上のプレビューをクリックして実行結果を確認します)
- 表示名 : 任意
- 接続情報 : 接続情報のKintoneで作成した表示名
- アプリID : Kintoneから取得したいアプリID
- モード : upsert
- キーフィールド : id
- カラム名モード : label
Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。
更新の確認
以上のワークフローで差分をkintoneアプリに更新することができました。
kintoneから対象アプリを開き、更新されていることを確認します。
Reckoner(レコナー)について
Reckoner(レコナー)は、スリーシェイクが提供するオンプレミスからクラウドサービスまで、様々なデータを連携させることが可能なクラウドネイティブなデータ連携プラットフォーム(Data Integration Platform as a Service)です。
データ整備に欠かせないETL/ELTやデータパイプラインなどをノンプログラミングで実現し、従来エンジニアが必要とされていた開発・運用コストを大幅に削減できます。
https://www.reckoner.io/
ETLツールについて詳しく知りたい、ETLツールの選び方を知りたいという方はこちらの「ETLツールとは?選び方やメリットを解説」をぜひご覧ください。