ReckonerでkintoneとGoogle Sheetsを比較して差分をkintoneに更新する方法

はじめに

クラウドネイティブなデータ連携サービスReckoner(レコナー)の変換タスク「差分」を使うことで、2つのデータを比較して差分を抽出することができます。

更新処理を実行するにはシンクの書き込みモードに<strong>update<strong>または<strong>upsert<strong>が必要になります

比較元のkintoneアプリデータ

比較先のGoogle Sheetsのデータ

今回はGoogle Sheetsとkintoneアプリで差分のある箇所は添付の赤枠部分になります

*上記データは全てテスト用の架空データです

事前設定: kintoneアプリで重複データ排除設定にする

kintoneアプリの設定にて、更新のキーとなるフィールドを設定します。アプリを開いて、右上の設定をクリックします。

キーフィールドを設定する項目の設定をクリックします。

「値の重複を禁止する」にチェックして保存をクリックします。

設定詳細: 転送元kintone

設定後、画面右上のプレビューをクリックして実行結果を確認します。

  • 表示名 : 任意
  • 接続情報 : 接続情報のKintoneで作成した表示名
  • アプリID : Kintoneから取得したいアプリID
  • メタフィールドを取り込む : オフ
  • カラム名モード : label

アプリIDはアプリを開いた時のURLから確認できます。

Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。

ソースのKintoneは <strong>レコード番号<strong> 列が自動追加されます後で変換の<strong>投影<strong>を用いてレコード番号列を削除します<br>

設定詳細: 転送元Google Sheets

設定後、画面右上のプレビューをクリックして実行結果を確認します。

  • 表示名 : 任意
  • 接続情報 : 接続情報のGoogle Sheetsで作成した表示名
  • スプレッドシート : Google Sheetsのスプレッドシート名
  • シート名 : Google Sheetsのシート名

Completed が表示され、想定通りの結果になったら設定ボタンをクリックします。

ソースのGoogle Sheetsスプレッドシートは1列目に <strong>row number<strong> 列が自動追加されます後で変換の<strong>投影<strong>を用いてrow number列を削除します

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ツールとは?選び方やメリットを解説」をぜひご覧ください。

ブログ一覧へ戻る