ファイル読み込みについて質問です。
状況:
「氏名」フィールドを一括更新キーに設定して、CSVファイルを読み込ませたところ、既存レコードと一致しないデータが新規レコードとして登録されてしまいました。
具体例:
既存レコード:渡辺 一郎
CSVデータ:渡邊 一郎
(「辺」と「邊」が異なる文字)
本来の期待動作:
一致しない場合は「読み込まれなかったレコード」として処理されるはず。
質問:
一括更新キーにきちんとチェックを入れていたのに、なぜ新規レコードが作成されたのでしょうか?分かる方がいましたら、ご回答お願いいたします。。。
ミュートしたユーザーの投稿です。
投稿を表示お疲れ様です。
原因は、既に皆様が回答されているとおり、原因は新字と旧字の文字コードが異なることとなります。
ただ、この問題、この先が意外と曲者で、姓と名の間のスペースの有無や数(半角スペース×2とか)、など色んなケースに悩まされることになります。
本当は、名寄せであれば、カナ氏名(スペースを事前削除)、生年月日(西暦8桁の数字に変換)、住所の一部(郵便番号で表現できる部分より下の部分は表記ゆれが多い)、携帯電話番号(個人の特定にはかなり有効だが、家族やグループで共用の場合もあるので注意が必要)なんかを「複数」のキーにして「同一か」を判断すると良いのですが、kintoneの一括更新は一つのフィールドしか指定できません。
また、一度「更新」してしまうと、間違ってたときのリカバリが大変なので、個人的には、
①kintoneからレコード番号が付いた状態でキーになりうるフィールドと更新する予定のフィールドをエクスポート
②Excel等で複数条件で結合すべきデータを複数のlookup等で確定
③そのデータにレコード番号を付与
④kintoneにレコード番号をキーにしてインポート
がおすすめです。
これであれば、Excelの段階で紐づかないデータ(そのままインポートすると新規データになるデータ)に気づけますし、最悪、既存のデータへの紐づけを間違った場合も、エクスポートしていたCSVを使って再更新することでリカバリできます。
(kintoneの計算で文字列を結合して複数条件の代わりにする方法もあるんですが、文字数が可変の状態で複数フィールドをまとめたものをキーにすると、予想外のデータとマッチしたりすることもあるので、やはりExcel等でやるのがおすすめかな……)
頑張ってください。
ミュートしたユーザーの投稿です。
投稿を表示したんなら、当然のことですね
コンピューターは「辺」と「邊」は違うものとして認識します
=漢字CODEが違う =フォントCODEが違う
なので、データベースを使うのであれば
「氏名CODE」を設けることをお勧めします
= 一括更新キー は 「氏名CODE」
ミュートしたユーザーの投稿です。
投稿を表示まめさんがお二人おられますので2人にメンションさせて頂きます。
プロフィール画像を設定して頂くと皆さんがメンションしやすくなります。
CSV側に新しい渡邊 一郎さんがおられると、新規でレコード追加されるのは仕様と思います。CSV側で先にデータをクリーニングしておく必要があると思います。
下記のWebサイトの下の方に書いてます。
https://fastsystem.funaisoken.co.jp/digital/csvupdate/