一般表(並列表)のリスト化(正規化リスト)
- ehime-db
- 2018年3月21日
- 読了時間: 2分
以下のような一般的なExcel表があるとする。

これを正規化して
地域ごと・年度・販売金額
のようなフィールド見出しを作りリスト表を作成したいとする。
手投入で
ヨーロッパ・年度1・21.704,714
ヨーロッパ・年度2・17,987,031
・
・
・
・
と非正規形の一般表から第一正規形を作ってもよいが・・・・さすがに時間がかかる。
Excelで作ったこのような一般的に見やすく自由度の高い並列型等の表は、Accessなどのデータベースへ取り込む際に困る表の状態である。
正規化してリスト表を作成するには2パターン。
1.INDEX関数を用いてリスト表を目指す。
2.ピボットテーブルを用いて、リスト表を目指す
細かな手法は割愛するとして、
1 の手法の場合は、今後Excel表にデータが追加されて行っても、基本オートフィルにてフリーメンテナンスでリスト表が容易に作れる。
2 の手法の場合、1の手法の手間を数倍省く代わりに1度だけのリスト表への変換にはなるが、PivotTableを用いた手法にてリスト表を目指すことが可能。
年度は
年度CD/年度 と作れば年度用のマスターテーブルが完成する。
地域ごとも
地域ID/地域 と作れば地域用のマスタ―テーブルが完成する。
変換して出来上がったリスト表はトランザクションテーブルとして使用し、地域毎・年度ごとのマスターテーブルとリレーションを構築してQuery抽出に用いることも可能。
とにかく、Database用の表を作るためには、表の設計段階が重要で、リスト表を目指すこと。
Excelは重ねて表現すると、そのようなリスト表形式を無視した形で断層型並列表や楯列リスト表も容易に作ることができ視認性に優れた自由度の高い表設計が可能ではあるが、これがイコールDatabase用のリスト表ではないため、ピボットグラフでの使用・Accessなどのテーブルとして取り込む際の障壁になることの認識が重要。
Comments