n8nのMergeでデータを組み合わせるときは、同じIDで結ぶのか、同じ位置で並べるのかを先に決めます。二つの入力が同じ順番に見えても、途中で一件欠けると別の人のデータが結び付くことがあります。
二つの一覧を、注文IDで対応させる
注文一覧と発送結果を合わせるなら、両方にあるorder_idを照合します。片方の一覧の先頭と、もう片方の先頭が同じ注文とは限りません。外部APIの返却順やフィルターの有無で、順番は変わります。
注文一覧:A001、A002、A003
発送結果:A003、A001
IDで結ぶ:A001とA001、A003とA003
対応なし:A002 → 未発送か結果未取得かを確認
これは結合の設計例です。対応する発送結果がないことを、直ちに発送失敗と断定せず、取得漏れと業務上の未処理を分けます。
AppendとCombineは、作りたい出力が違う
Appendは二つの入力のitemを続けて並べる用途です。Combineは入力同士を組み合わせる用途で、照合項目や位置などを選びます。選択可能な方式と出力設定はMergeの公式説明で確認できます。
| 目的 | 考える方式 |
|---|---|
| 二つの同形式の一覧を一つに並べる | Append。重複排除は別に判断 |
| 同じ注文の情報を一行へ合わせる | IDによるCombine |
| 同じ位置に対応する二つの列を合わせる | 位置によるCombine。件数と順序の保証が必要 |
同じIDが二つある入力を見落とさない
片方に同じIDが二件あると、期待より多い組み合わせが生まれる場合があります。合計件数が増えたときは、Mergeの設定だけでなく入力側の一意性を調べてください。
項目名も揃えます。A001とa001、数値の1と文字列の"1"を同じと扱うのかは、IDを作る側の約束に合わせます。見た目だけを直して、元のIDを勝手に変えないようにします。
出力の件数と、結び付いたIDを両方見る
- 両入力が揃う例で、同じID同士が合うか確認する。
- 片方の順番を逆にして、結果が変わらないか確認する。
- 一件欠かし、対応なしの行が想定した場所へ出るか確認する。
- 同じIDを重複させ、件数の増え方を確認する。
出力を目で一件見ただけでは、別の行の取り違えを見逃します。件数とIDの対応を記録した後で、シートへの更新へ渡すと、結合の不具合を外部台帳へ広げずに済みます。