表題の通り、クロス集計されたデータを元に戻す方法を探しています。
現在あるシステムにおいて出力されるデータが以下の様な形式だったとします。
(このデータ出力形式は変更が出来ないものとします。)
■元のデータ形式
時刻, A, B, C, D,
1:00, 1, 2, 3, 4,
2:00, 2, 3, 4, 5,
3:00, 3, 4, 5, 6,
4:00, 4, 5, 6, 7,
....
■目標とするデータ形式
時刻, 分類, 値,
1:00, A, 1,
1:00, B, 2,
1:00, C, 3,
1:00, D, 4,
2:00, A, 2,
2:00, B, 3,
2:00, C, 4,
2:00, D, 5,
...
※フォントがずれるので見辛いかもしれませんがご理解願います。
なお時刻はここでは1:00~24:00までの24個
分類項目は特定の個数
(ここではx個あるとします)
データを保存、集計するうえで、クロス集計されているデータ形式は非常に使いにくく、
何とかして目標とする形に変換したいと考えております。
どなたか良い変換方法をご存知でしょうか?
またデータベースの基本的な考え方として、やはりテーブルのデータ構造は
今回目標とする様な構造が良いのでしょうか?
一応ある程度データベースを知っている人の意見で今回の変換を考えたのですが、
処理をする上で理想的な構造とはどういったものでしょうか?
No.2ベストアンサー
- 回答日時:
時刻と分類の組み合わせがユニークなのであれば
ユニオンクエリで組みかえられます
select 時刻,"A" as 分類,[A} as 値
from 元のテーブル
union all
select 時刻,"B" as 分類,[B} as 値
from 元のテーブル
union all
・
・
・
select 時刻,"X" as 分類,[X} as 値
from 元のテーブル
>データベースの基本的な考え方として、やはりテーブルのデータ構造は
>今回目標とする様な構造が良いのでしょうか?
そのとおりです
ご返答いただきありがとうございます!ユニオンクエリ、聞いたことはありましたが実際に使ったことはありませんでした。
なんとか目標とする形に変換することが出来ました!ありがとうございました。
No.1
- 回答日時:
こんにちは。
貴方が書かれたサンプルデータを見ると、「時刻」ごと、「分類」ごとに1個のデーターしかないようですが、実際のデータもそのような構造なのですか。それであったら、実質的には集計というより、並び替えになっていると思います。
本当のクロス集計は、縦横の項目ごとに複数のデータを足し算しますので、足し算した結果が、「3」であっても、「値」1のデータが3個なのか、「値」3のデータが1個なのかを知るすべはありません。
では。
この回答への補足
反応いただきありがとうございます。
たしかに考えてみるとクロス集計というより並び替えされてクロス集計のような形になっている、が正しかったですね!
この並び替えを元に戻す方法を探しておりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- 統計学 t値の計算方法 1 2022/11/29 18:37
- Excel(エクセル) エクセルで時間の合計 5 2022/06/04 10:54
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- 物理学 微分方程式の物理現象への適用について 3 2023/05/14 12:22
- フリーソフト 色々な形式の個人情報を後で参照しやすいようWindow10で管理したいのですが、どんな方法があるの? 1 2023/04/29 16:46
- 宇宙科学・天文学・天気 AIが答えた方程式 1 2023/02/20 00:12
- その他(プログラミング・Web制作) テキストデータ変換(プログラミング、linux、python) 8 2023/08/08 16:39
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessでデータシートに同じデ...
-
アクセス レコードセットを更...
-
Accessのテーブルデータを一気...
-
Access VBAからエクセルに出力...
-
マテリアライズドビューとスナ...
-
Oracleで上書きImportはできま...
-
ビューのソートについて
-
CSVファイルを毎日、全レコード...
-
accessでレコード更新直後の反...
-
IF NOT EXISTを使用するINSERT文
-
ACCESS2000でのリンクテーブル...
-
PostgreSQLのパフォーマンスに...
-
sql serverのテーブルレイアウ...
-
Access無いけど.mdbが見たい!
-
このISAMでは、リンクテーブル・・
-
データベースを設計するときに
-
処理の途中で停止させ、再開さ...
-
ACCESSで容量が50MBになった...
-
Accessの処理速度を速めるため...
-
結合テーブルでINSERTする方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでデータシートに同じデ...
-
Accessのテーブルデータを一気...
-
テーブルで一番古いレコードだ...
-
このISAMでは、リンクテーブル・・
-
Oracleで上書きImportはできま...
-
アクセス レコードセットを更...
-
構文エラー : 演算子がありませ...
-
処理の途中で停止させ、再開さ...
-
ビューのソートについて
-
accessでレコード更新直後の反...
-
結合テーブルでINSERTする方法...
-
同一テーブルのデータを参照し...
-
ACCESSで容量が50MBになった...
-
マテリアライズドビューとスナ...
-
Accessのインポートについて(上...
-
MS Accessを共有した際にファイ...
-
「クリップボードにコピーされ...
-
重複クエリを使ったデータ削除
-
ERROR1062:Duplicate entry.......
-
access 特定のレコード数までエ...
おすすめ情報