PowerBIで郵便番号からヒートマップを作成するでは顧客マスターの郵便番号をZIPCLOUDの郵便番号データと紐づけてPowerBIに住所を取り込み,ヒートマップを作成する方法を書いた.
今回はZIPCLOUDの郵便番号データをSQL Serverにインポートするまでを記載する.
ZIPCLOUDから郵便番号データをダウンロードする
郵便番号データは毎月更新されている.常に最新版を必要とする場合,テーブルの更新をどう運用するかという問題があるが,ここでは立ち入らない.
全国一括データ,差分データ,加工済みバージョンの3種類が公開されている.ここでは加工済みバージョンをダウンロードする.

PowerQueryでEXCELにインポート
ZIPCLOUDの郵便番号データファイルにはヘッダー行がないため,列名を手動で入力する必要がある.詳細は日本郵便のサイトを参照されたいが,コピペすると以下のようになっている.10列目以降はどの程度の粒度を求めるかによって必要性の是非が分かれるだろう.
- 全国地方公共団体コード(JIS X0401、X0402)……… 半角数字
- (旧)郵便番号(5桁)……………………………………… 半角数字
- 郵便番号(7桁)……………………………………… 半角数字
- 都道府県名 ………… 半角カタカナ(コード順に掲載) (注1)
- 市区町村名 ………… 半角カタカナ(コード順に掲載) (注1)
- 町域名 ……………… 半角カタカナ(五十音順に掲載) (注1)
- 都道府県名 ………… 漢字(コード順に掲載) (注1,2)
- 市区町村名 ………… 漢字(コード順に掲載) (注1,2)
- 町域名 ……………… 漢字(五十音順に掲載) (注1,2)
- 一町域が二以上の郵便番号で表される場合の表示 (注3) (「1」は該当、「0」は該当せず)
- 小字毎に番地が起番されている町域の表示 (注4) (「1」は該当、「0」は該当せず)
- 丁目を有する町域の場合の表示 (「1」は該当、「0」は該当せず)
- 一つの郵便番号で二以上の町域を表す場合の表示 (注5) (「1」は該当、「0」は該当せず)
- 更新の表示(注6)(「0」は変更なし、「1」は変更あり、「2」廃止(廃止データのみ使用))
- 変更理由 (「0」は変更なし、「1」市政・区政・町政・分区・政令指定都市施行、「2」住居表示の実施、「3」区画整理、「4」郵便区調整等、「5」訂正、「6」廃止(廃止データのみ使用))
JIS関数で半角カナを全角に変換
4列目から6列目までの半角カタカナはシステムとの相性が悪い場合があり,JIS関数で全角に変換しておいたほうが無難であろう.
タブ区切りテキストに別名保存
SQL Serverにテキストファイルをインポートする場合,csvファイルもサポートされているがデフォルトはtxtファイルであり,タブ区切りテキストで別名保存する.
SQL Serverにウィザードを使ってインポート
- 全国地方公共団体コードは5文字の固定長である.
- 旧郵便番号は最大5文字,郵便番号は7文字でそれぞれ可変長,固定長となる.
- 都道府県名は最大4文字の可変長,都道府県名カナは最大6文字の可変長である.
- 市区町村名の文字数は最大で10文字,市区町村名カナの文字数は最大で19文字である.町域の文字数は最大で26文字,町域カナの文字数は最大で33文字である.
上記の点に留意しつつマッピングの編集を行う.今後の訂正により,文字数は増える可能性があるため,テーブルの設計は慎重に行いたい.

“ZIPCLOUDの郵便番号データを入手しSQL Serverにインポートする” への1件の返信