マスタデータマージプラグインは、kintoneのマスタアプリ(取引先・担当者など)に存在する重複レコードを自動検出し、1件にまとめるためのプラグインです。
| 機能 | 説明 |
|---|---|
| 重複自動検出 | 複数フィールドの組み合わせ条件で重複候補をボタン1つで一括チェック |
| 最大5件同時比較・マージ | 重複する3〜5件を一画面に並べて比較。残すレコードを1つ選ぶだけで他をまとめて処理 |
| 関連アプリの自動更新 | 取引先・案件など関連アプリの参照先を、削除レコードから存続レコードへ自動付け替え |
| 対象外設定 | 重複でないと判断したペアをスキップ。次回チェック時の保持も選択可能 |
| 汎用設計 | 取引先・担当者など複数の異なるマスタアプリで利用可能 |
このプラグインは 2つのアプリ を使用します。どちらにも同じプラグインを追加してください。
重複を整理したいアプリです。以下のフィールドを事前に追加してください。
| フィールド | タイプ | 用途 |
|---|---|---|
| 削除FLGフィールド | チェックボックス / ドロップダウン / ラジオボタン | マージ後に削除済みをマーク |
| 統合先フィールド | テキスト または 数値 | マージ先レコードの番号またはコードを記録 |
重複候補の一覧・操作画面になるアプリです。以下のフィールドコードで作成してください。
| フィールドコード | フィールド名(例) | タイプ |
|---|---|---|
record_a_no | レコードA番号 | 数値 |
record_a_code | レコードAコード | 文字列(1行) |
record_a_name | レコードA名前 | 文字列(1行) |
record_b_no | レコードB番号 | 数値 |
record_b_code | レコードBコード | 文字列(1行) |
record_b_name | レコードB名前 | 文字列(1行) |
match_reason | 判定理由 | 文字列(1行) |
check_status | 確認ステータス | 文字列(1行) |
merge_target | 統合先 | 文字列(1行) |
process_status | 処理ステータス | 文字列(1行) |
group_extra_nos | 追加レコード番号 | 文字列(1行) |
fsm-works.com から MasterMergePlugin.zip をダウンロード
kintone管理画面 → プラグイン → アップロード
対象マスタアプリ と 重複確認アプリ の両方のアプリ設定でプラグインを有効化
各アプリで設定画面を開いて設定を行う(→ 次章)
| 項目 | 説明 |
|---|---|
| 対象マスタアプリID 必須 | 重複を整理したいアプリのID(URLの /k/123/ の数字部分) |
| 重複確認アプリID 必須 | 重複候補を管理するアプリのID |
重複チェックボタンを表示するユーザーを指定します。未設定の場合は誰にも表示されません。必ず1名以上登録してください。
| 設定 | 説明 |
|---|---|
| 「対象外」を次回チェックでも保持する |
チェックなし(初期値): 重複チェックを実行するたびに前回の結果をすべてリセットして再検出 チェックあり: 「対象外」にしたペアは次回以降も削除されず残る |
| 項目 | 説明 |
|---|---|
| コード フィールドコード 任意 | 独自のコードフィールド。未設定時はレコード番号が代用される |
| 名前 フィールドコード 必須 | 会社名・氏名など、レコードを識別するフィールド |
| 削除FLG フィールドコード 必須 | マージ後に削除済みをマークするフィールド |
| 削除FLG フィールドタイプ 必須 | チェックボックス・ドロップダウン・ラジオボタンから選択 |
| 削除FLG 削除時の値 必須 | 削除済みとみなすフィールドの値(例: 削除 / true) |
| 統合先 フィールドコード 必須 | マージ先レコードの番号またはコードを記録するフィールド |
| 統合先 記録する値 必須 | レコード番号(自動採番)または独自コードのどちらを記録するか |
照合タイプが「テキスト正規化」のフィールドに適用されます。
| オプション | 説明 |
|---|---|
| 全角/半角を統一 | ABC と ABC、アイウ と アイウ を同一視 |
| 記号を除去 | 句読点・中点・括弧などを除去してから比較 |
| スペースを除去 | 全角・半角スペースを除去してから比較(姓名の間のスペースなど) |
重複とみなす条件を「グループ」単位で設定します。グループを複数作ることで複雑な条件を表現できます。
| 設定項目 | 説明 |
|---|---|
| グループ間の条件 | OR(初期値): いずれかのグループが一致すれば重複とみなす AND: すべてのグループが一致した場合のみ重複とみなす |
| グループ内の条件 | AND: グループ内の全フィールドが一致した場合に「一致」 OR: グループ内のいずれかのフィールドが一致した場合に「一致」 |
| 照合タイプ: テキスト正規化 | 上記の正規化オプションを適用して比較。表記ゆれ(株式会社/(株)など)を吸収 |
| 照合タイプ: 完全一致 | 値が完全に同じ場合のみ一致 |
| 照合タイプ: 電話番号 | 数字のみ抽出(ハイフン・スペース無視)して比較。7桁未満は除外 |
比較画面に追加で表示したいフィールドを登録します(レコード番号・名前は常に表示)。住所・業種・担当者など、判断に必要なフィールドを自由に追加できます。
マージ時に参照先を自動更新する関連アプリを登録します。
| 参照タイプ | 説明 |
|---|---|
| レコード番号 | kintoneが自動採番するレコード番号(数値)で参照している場合 |
| カスタムコード | 独自の文字列・数値コードで参照している場合 |
| ルックアップ | kintoneのルックアップフィールドで参照している場合(コピーフィールドも自動更新) |
グループ間: OR
| グループ | グループ内条件 | フィールド |
|---|---|---|
| グループ1 | AND | 氏名(テキスト正規化) |
| グループ2 | AND | 電話番号(電話番号) |
→ 氏名が同じ または 電話番号が同じ → 重複候補
グループ間: OR
| グループ | グループ内条件 | フィールド |
|---|---|---|
| グループ1 | AND | 取引先名(正規化)+ 氏名(正規化)+ メール(完全一致) |
| グループ2 | AND | 取引先名(正規化)+ 氏名(正規化) |
→ (取引先+氏名+メール が全一致) または (取引先+氏名 が一致) → 重複候補
→ メール単独では検知しない
グループ間: AND
| グループ | グループ内条件 | フィールド |
|---|---|---|
| グループ1 | AND | 会社名(テキスト正規化) |
| グループ2 | AND | 電話番号(電話番号) |
→ 会社名が一致 かつ 電話番号が一致 → 重複候補
対象マスタアプリのレコード一覧画面を開く
画面上部に表示される 「重複チェック実行」 ボタンをクリック
確認ダイアログで 「OK」 を押す
処理完了後、以下のポップアップが表示される
重複チェック完了後、重複確認アプリにレコードが登録されます。各レコードを開いて操作します。
レコードを開くと、画面上部に比較テーブルが表示されます。
| UI要素 | 説明 |
|---|---|
| 黄色ハイライト行 | A・B(・C…)で値が異なるフィールド。特に注目して確認してください |
| ラジオボタン | フィールドごとに採用する値を選択します |
| 「すべてこのレコード」ボタン | そのレコードの値をすべてのフィールドで一括採用します |
| 残すレコードの選択 | 最終的に残すレコードを1つ選びます。未選択のフィールドは自動的にこのレコードの値が採用されます |
比較テーブルで各フィールドの採用値を確認・選択
「残すレコードを選択してください」でどのレコードを残すか選択
「マージ実行」ボタンをクリック
確認ダイアログで内容を確認して「OK」
マージ処理の内容:
| ステップ | 処理内容 |
|---|---|
| 1 | 関連アプリの参照先を、削除されるレコードから残すレコードへ一括更新 |
| 2 | 削除されるレコードに削除FLGと統合先をセット |
| 3 | 採用値が選択されていた場合、残すレコードのフィールドを上書き |
| 4 | 重複確認アプリのレコードを「マージ済み」に更新 |
重複ではないと判断した場合は 「別のレコード(スキップ)」 をクリックします。
| 設定 | 対象外ペアの次回チェック時の扱い |
|---|---|
| 「対象外を保持」チェックなし(初期値) | 削除され、再び重複として検出される可能性あり |
| 「対象外を保持」チェックあり | 残り続け、同じペアは再登録されない |
対象マスタアプリと重複確認アプリには同じ設定が必要です。エクスポート・インポート機能で簡単に設定を引き継げます。