Microsoft Access Club Access超初心者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトル行と列の組み換え(パネルデータ)
記事No83011
投稿日: 2016/10/21(Fri) 03:58
投稿者とろろ
OS:windows8.1
Access Version:access2016

以下のデータを

地域コード|市区町村|2006歳出|2007歳出|
  1  | A市   |1000|1500|
  2  | B市  |2000|2500|
  3  | C市  | 500|1000|


下記のように組み換えたいのです。いわゆる統計学でよく使うパネルデータの形です。


地域コード|市区町村 |
  1  | A市  |2006歳出|1000
  1  | A市  |2007歳出|1500
  2  | B市  |2006歳出|2000
  2  | B市  |2007歳出|2500
  3  | C市  |2006歳出|500
  3  | C市  |2007歳出|1000


表内には割愛しましたが、実際には市区町村に関しては1700程度データがあり、また歳出に関しても2006年から2013年までデータがあります。

上記のような変更を行うためにはどうすればよいでしょうか?

タイトルRe: 行と列の組み換え(パネルデータ)
記事No83013
投稿日: 2016/10/21(Fri) 08:57
投稿者hatena
> 以下のデータを
> 
> 地域コード|市区町村|2006歳出|2007歳出|
>   1  | A市   |1000|1500|
>   2  | B市  |2000|2500|
>   3  | C市  | 500|1000|
> 
> 
> 下記のように組み換えたいのです。いわゆる統計学でよく使うパネルデータの形です。
> 
> 
> 地域コード|市区町村 |
>   1  | A市  |2006歳出|1000
>   1  | A市  |2007歳出|1500
>   2  | B市  |2006歳出|2000
>   2  | B市  |2007歳出|2500
>   3  | C市  |2006歳出|500
>   3  | C市  |2007歳出|1000


統計学のことはよく分かりませんが、データベースでは後の形にすることを「正規化」といって
テーブルは本来はこのような形にしておくべきです。
前の形のままでは、データベースとしては使い物になりません。



下記のようなユニオンクエリを作成して、それからテーブル作成クエリにして
正規形のテーブルにしておくといいでしょう。

SELECT 地域コード, 市区町村, 2006 AS 年度, 2006歳出 AS 歳出 FROM テーブル名
UNION ALL
SELECT 地域コード, 市区町村, 2007 AS 年度, 2007歳出 AS 歳出 FROM テーブル名
UNION ALL
SELECT 地域コード, 市区町村, 2008 AS 年度, 2008歳出 AS 歳出 FROM テーブル名

以下略

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る