こんにちは!笹川です。
kintoneの管理者をやっていると、「複数のデータを一度に更新する」という作業をする日がやってきます。例えば、「組織や担当者変更への対応」であったり、「他システムからのデータ取り込み」であったり、意外にもその機会はすぐに訪れます。
そんなときの強い味方が「CSVファイルの読み込み」です。
しかし、いざやってみると「更新したかったのに、なぜか新規で登録されてしまった」「意図しない値に書き換わってしまった」など、失敗談をよく耳にします。
そこで今回は、kintoneのデータをCSVファイル読み込みで更新するときのポイントを整理していきます。
データのメンテナンスまで行う陰の立役者、そんなあなたを私は応援します!!
弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りの方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。
CSVファイルの読み込みで失敗しやすいポイント
これまで、ファイルの読み込みについて失敗しやすいポイントをまとめてきました。ファイル読み込みで値がうまく入らない人は、まずはこちらをご覧ください。
- kintoneのCSVファイル読み込みで失敗しないための工夫(1)フィールド編
- kintoneのCSVファイル読み込みで失敗しないための工夫(2)ルックアップ編
- kintoneから書き出したCSVファイルの0が落ちないようにする方法
上記に加え、レコードを更新するときのポイントになるのが「一括更新のキー」です。
「一括更新のキー」は、ファイルの各行のデータを、どのレコードに上書きするかを特定するためのフィールドです。同じアプリ内でほかのレコードと値が重複しないフィールドを指定します。
「自分の相手を見つける目印として何を使うか?を指定するもの」というと分かりやすいでしょうか。学校祭のダンスパーティーでペアを探すのに同じ絵柄を持った人を探す、というのに似ています(今の時代そういうのは無いのかな)。
ダンスパーティーの分かりにくい例は置いておいて(笑)、次の章で実例を交えながら、使い方を確認しましょう。
CSVファイル読み込みでデータを更新する
1.登録済みのデータを利用するデータ更新
まずは、既にkintoneに登録されているデータを使って更新する場面を想定します。冒頭で例に挙げた「担当者変更への対応」を実際にやってみます。
今回は「👤笹川茉衣」の担当顧客を「👤BB」に引き継ぎます。
「顧客リスト」アプリから、担当者に笹川が登録されているレコードを書き出し、BBに書き換えて読み込む、という作業です。
書き出すときのポイントは2つ。
①予め担当者が笹川のレコードのみに絞り込んでおく
関係のないレコードを誤って更新してしまうことが無いよう、更新対象のレコードだけを書き出します。
②レコード番号を書き出しておく
読み込むときに「一括更新のキー」として使用するために、レコード番号を含めてデータを書き出します。
※レコード番号は、レコード作成時に自動的に番号が割り当てられます。同じアプリ内で、ほかのレコードと同じ値が付けられることはないので、「一括更新のキー」として利用するのに適しています。
さて、書き出したファイルの値を書き替えたら保存して、
「顧客リスト」アプリに読み込みましょう。アプリのフィールドと読み込むデータの列を対応付けの際に、レコード番号の横にある「一括更新のキー」にチェックを入れて、読み込みを実行します。
無事に、担当者をBBに更新することができました!
このように、kintoneに元データが有る場合は、レコード番号を使って更新をすることができます。
2.外部データを利用するデータ更新
それでは、外部からデータを取り込んで更新する場合はどうすればよいでしょうか?
例として、「基幹システムから商品マスタを取り込む」という場合を想定して、実際にやってみましょう!
過去に一度、商品データをkintoneの「商品リスト」アプリに登録していますが、価格改定と新商品の追加があるので、リストを更新します。
kintoneの「商品リスト」アプリには、現在3商品の登録が有ります。
アプリの項目は以下の3つ。
- 商品ID:商品に対して1つ割り当てられている固有の番号
- 商品名:商品の名称
- 価格:現在の販売価格
商品IDは、kintoneのアプリの設定で値の重複を禁止するにチェックを入れておきます。
この「商品リスト」アプリに、基幹から取り出したCSVデータを読み込みます。
この場合、読み込みたいCSVファイルにレコード番号はありません。そこで今回は、商品IDを「一括更新のキー」に利用します。
※「商品ID」に、アプリの設定で「値の重複を禁止する」の設定をしていないと、値に重複がなくても一括更新のキーとしては利用できないので注意しましょう。
準備ができたらファイルを読み込みます。
ちなみに、今回は価格の「更新」と新商品の「追加」がありますが、kintoneのCSV読み込みでは「あれば更新、なければ追加」をしてくれるのでファイルは1つで大丈夫です。
ということで、読み込みが完了!登録済みの商品は価格が更新され、新しい商品は追加で登録されました。
「一括更新のキー」のおさらい
本記事では、CSVファイルの読み込みでデータを更新するポイント「一括更新のキー」について説明しました。
「一括更新のキー」に指定できるフィールドは、次のとおりです。
- レコード番号
- 文字列(1行)
- 数値
- 日付
- 日時
- リンク
レコード番号以外を「一括更新のキー」に指定する場合は、フィールドの設定で「値の重複を禁止する」を有効にしておきましょう。
さぁ、これでデータ更新も怖くありませんね!とはいえ、万が一のことを考えて、データ更新をする前には、現在のデータをバックアップとして書き出しておくことを忘れずに。
更新作業の頻度や作業する人のスキルなどを考えたときに、「やっぱり失敗が怖い」「ファイルの出し入れは面倒」という方は、ぜひジョイゾーオリジナルプラグインの一括更新プラグインをご利用ください。ボタンをクリックするだけで一括更新ができる大変便利なプラグインです。
CSVファイルの出し入れが簡単にできるようになれば、kintoneとグッと付き合いやすくなります。「読み込みに失敗しました」の赤い帯から卒業しましょう!
弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りの方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。
関連記事