ReckonerでkintoneとGoogle Sheetsを比較して差分をkintoneに更新する方法
![](https://reckoner.io/wp-content/uploads/2022/06/kintone-sheets-kintone-eyecatch.webp)
はじめに
クラウドネイティブなデータ連携サービスReckoner(レコナー)の変換タスク「差分」を使うことで、2つのデータを比較して差分を抽出することができます。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-1388x507_v-fms_webp_67e8e96d-a1c0-4bf7-8343-ee657fe3c7d2-1024x374.webp)
■比較元のkintoneアプリデータ
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-1914x707_v-frms_webp_7882bd8a-38dc-46e7-89a7-572ba426bfc4-1024x378.webp)
■比較先のGoogle Sheetsのデータ
今回はGoogle Sheetsとkintoneアプリで差分のある箇所は添付の赤枠部分になります
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-1914x707_v-frms_webp_7882bd8a-38dc-46e7-89a7-572ba426bfc4-1-1024x378.webp)
*上記データは全てテスト用の架空データです
事前設定: kintoneアプリで重複データ排除設定にする
kintoneアプリの設定にて、更新のキーとなるフィールドを設定します。アプリを開いて、右上の設定をクリックします。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-2400x247_v-frms_webp_b6a1bcb2-a8cc-4753-ae78-0ba7901e4b82-1024x105.webp)
キーフィールドを設定する項目の設定をクリックします。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-860x421_v-fs_webp_0fd36b3d-d39f-4d26-b0a5-960c0764726e.webp)
「値の重複を禁止する」にチェックして保存をクリックします。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-864x1159_v-fs_webp_c23f4617-a7ab-48e6-9e7f-5bcf976a3895-763x1024.webp)
設定詳細: 転送元kintone
設定後、画面右上のプレビューをクリックして実行結果を確認します。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-595x744_v-fs_webp_89cc0e13-f183-4c3e-9f77-95aee7fe8a95.webp)
- 表示名 : 任意
- 接続情報 : 接続情報のKintoneで作成した表示名
- アプリID : Kintoneから取得したいアプリID
- メタフィールドを取り込む : オフ
- カラム名モード : label
アプリIDはアプリを開いた時のURLから確認できます。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-356x43_webp_d9d6a1cc-f444-4ce1-ae2c-2ec42d4f08bb.webp)
Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-1783x895_v-fms_webp_3985c678-9bba-4bf6-b458-a14e93d6aada-1024x514.webp)
設定詳細: 転送元Google Sheets
設定後、画面右上のプレビューをクリックして実行結果を確認します。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-1784x949_v-fms_webp_f38f43db-6144-4c61-a9e8-7c886af468f5-1024x545.webp)
- 表示名 : 任意
- 接続情報 : 接続情報のGoogle Sheetsで作成した表示名
- スプレッドシート : Google Sheetsのスプレッドシート名
- シート名 : Google Sheetsのシート名
Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-1784x965_v-fms_webp_8fd45510-a41d-458c-b119-84c6eee57058-1-1024x554.webp)
Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。
設定詳細: 投影
ソースで作成したKintoneには自動でレコード番号列が作成されるため、削除します。
次のように設定します。設定後、画面右上のプレビューをクリックして実行結果を確認します。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-479x606_v-fs_webp_fbb035fd-ea2f-41af-a59b-7d93c2d493c3.webp)
- 表示名 : 任意
- モード : 削除
- 削除するフィールド : レコード番号
Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-1788x951_v-fms_webp_0674f339-748e-4aa8-8e7c-a95c037e5254-1024x545.webp)
ソースで作成したGoogle Sheets/スプレッドシートには自動でrow_number列が作成されるため、削除します。
次のように設定します。
設定後、画面右上のプレビューをクリックして実行結果を確認します。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-470x639_v-fs_webp_bab89a37-71dd-420e-be82-46ce1399d22c.webp)
- 表示名 : 任意
- モード : 削除
- 削除するフィールド : row_number
Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-1781x951_v-fms_webp_bcddc779-ac1c-4b5c-8c05-4a1555617343-1024x547.webp)
設定詳細: 差分
次のように設定します。
設定後、画面右上のプレビューをクリックして実行結果を確認します。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-593x1706_v-fms_webp_c620c9d6-608b-4c1e-a75a-61059afabdf6-356x1024.webp)
- 表示名 : 任意
- 比較元テーブル : 比較先で作成した表示名
- 比較先テーブル : 更新元で作成した表示名
- 比較条件 : [“postalcode”, “address”, “tel”, “email”, “hobby”]
(差分で抽出されるデータは比較元テーブルに設定した内容が抽出されるため、比較元テーブルには比較先で作成したソースを設定し、比較先テーブルには更新元で作成したソースを設定することに注意してください。)
Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-1778x952_v-fms_webp_ac7925b1-ccb5-4cca-b71e-e7ba84335141-1024x548.webp)
設定詳細: 転送先 kintone
次のように設定します。
(設定後、画面右上のプレビューをクリックして実行結果を確認します)
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-595x858_v-fs_webp_a30b2ff5-6025-43d8-9a40-3b972ae97b81.webp)
- 表示名 : 任意
- 接続情報 : 接続情報のKintoneで作成した表示名
- アプリID : Kintoneから取得したいアプリID
- モード : upsert
- キーフィールド : id
- カラム名モード : label
Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-1783x950_v-fms_webp_80f3936e-f2cd-45e3-868b-c9839ba6d70d-1024x546.webp)
更新の確認
以上のワークフローで差分をkintoneアプリに更新することができました。
kintoneから対象アプリを開き、更新されていることを確認します。
![](https://dj8g918l0q6mc.cloudfront.net/wp-content/uploads/2022/08/s-2393x932_v-frms_webp_a72f17b1-b436-4f09-a0a0-b6ca6ff598b0-1024x399.webp)
Reckoner(レコナー)について
Reckoner(レコナー)は、スリーシェイクが提供するオンプレミスからクラウドサービスまで、様々なデータを連携させることが可能なクラウドネイティブなデータ連携プラットフォーム(Data Integration Platform as a Service)です。
データ整備に欠かせないETL/ELTやデータパイプラインなどをノンプログラミングで実現し、従来エンジニアが必要とされていた開発・運用コストを大幅に削減できます。
https://www.reckoner.io/
ETLツールについて詳しく知りたい、ETLツールの選び方を知りたいという方はこちらの「ETLツールとは?選び方やメリットを解説」をぜひご覧ください。