小さな地域と特殊コードは、母数の少ない題材でありながら、データの設計上の判断がもっとも凝縮されて現れる場所です。人口が少ないことと、データとして簡単であることは別の話です。この記事では、こうした地域を扱うときにどこでつまずくかを整理します。
データで誤りやすい地域はどんな地域か?
誤りが集中するのは、国と地域の境目がはっきりしない対象です。本国から離れた位置にある領域、行政上は本国の一部として扱われる領域、複数の主体が関わる領域が典型です。
これらは、ある目的では独立した単位として扱われ、別の目的では本国に含めて扱われます。どちらの扱いも誤りではありません。誤りになるのは、どちらの目的でその値を使っているのかを記録せずに、一つの値だけを保存する場合です。
扱いが分かれる地域は、先に一覧にして共有します。どこで線を引いたかを知らない担当者が、別の場面で逆の前提を置くと、同じデータが二通りの意味で読まれます。
境界の検証では、母数が小さいために一件の取りこぼしが目立ちます。件数が少ない題材ほど、代表を少数だけ選んで確かめるやり方が効きます。
二文字の符号がすべての地域にあるわけではない
国と地域を表す符号の体系は複数ありますが、どの地域にも独立した二文字の符号が割り当てられているわけではありません。下位の区分の符号の体系にだけ現れる地域もあります。
さらに、体系には予約された符号と、移行の途中で使われる符号が存在します。過去のデータには、こうした符号がそのまま残っていることがあります。存在しない符号として機械的に弾くと、当時は正しかった値まで拒否することになります。受け取って記録し、警告にとどめるほうが安全です。
新しい値を受け入れるかどうかの判断は、受け取る側の一箇所で行います。画面ごとに判断が違うと、同じ値が入口によって通ったり弾かれたりします。
旧称や自称が入力されたときどうするか?
利用者が打ち込む文字列は、現在の正式な名称とは限りません。以前の名称、地域の中で使われている呼び名、別の言語による呼び方、略した形が混ざります。
これらをどう扱うかは、照合の設計そのものです。受け入れる範囲を広げすぎると別の対象と混ざり、狭すぎると正しい入力が通らなくなります。候補を提示して選ばせる形が現実的です。照合の詳しい扱いは別の記事に譲り、ここでは入力に揺れがあることだけを前提にします。
不適用と未知はなぜ分けて記録するのか?
この二つを同じ空欄で表すと、報告の数字が歪みます。項目がそもそも存在しない地域と、まだ調べていない地域は、次に取るべき行動が違います。前者は放置してよく、後者は埋める対象です。
したがって、空欄には理由を添えます。存在しないのか、対象外なのか、未調査なのかを区別できる列を用意します。この区別がないと、母数の小さい地域の一件が全体の比率を大きく動かし、実態と違う結論を招きます。
調べる順序も決めておきます。母数の小さい地域は、まとめて調べるより、影響の大きい項目から順に埋めるほうが、限られた手間で結論が変わります。
対象外と形式の誤りは同じものか?
同じではありません。配送や提供の対象外であることは業務の判断で、データの形式が合わないことは入力の問題です。この二つを同じ扱いにすると、利用者は形式を直せば進めると誤解します。
表示では理由を分け、記録でも別の値として残します。業務の対象外を形式の検証で表現しようとすると、対象を広げたときに検証の側も直す必要が出て、変更の範囲が無駄に広がります。
切り分けの確認は、対象外の地域に正しい形式の値を入れて試します。通れば業務の判断だけが理由であり、通らなければ形式の側にも原因があります。
開発者向け: 小さな地域には固定の見本を用意する
この種の地域は、全部を網羅するよりも、特徴ごとに一件ずつ選んだ固定の見本を用意するほうが確実です。
- 独立した符号を持たない地域の見本。
- 過去に使われていた符号が残る記録の見本。
- 現地の呼び名と別の言語の呼び名が食い違う入力の見本。
- 項目が適用されない地域の見本。
見本には、その地域で何が成り立つべきかを一文で添えます。期待値を書かずに値だけを置くと、あとから見た人がなぜその値なのかを判断できません。
もう一点、符号を一覧の突き合わせに使うときは、大文字と小文字の扱いを最初にそろえます。入力の揺れを吸収する場所を一箇所に決めておくと、比較の条件があちこちに散りません。
見本の期待値は、値そのものではなく、その値から何が成り立つべきかを書きます。値だけを写すと、見本を作り直したときに何を守るべきだったのかが失われます。見本の数は増やしすぎず、特徴ごとに一件を保つようにします。
この記事で挙げた地域の例、符号の例、期待値の書き方は、いずれも境界の扱いを説明するために構成した合成の事例です。実在する地域の符号の割り当てや、公的な一覧を写したものではありません。試験の設計と見本の作成に限って使用してください。
次のステップ
まず、空欄の理由が区別して記録されているかを確かめてください。次に、独立した符号を持たない地域を一件選び、その値が検証で拒否されないことを試します。名前の揺れの扱いは国名の照合と別名、集合の選び方はテスト用の国を選ぶで扱っています。国ごとの項目は国の一覧から確認できます。