このQ&Aは役に立ちましたか?
access初心者です。教えてください。
2024/01/25 22:17
クエリを使ってデータを整理したいです。
データが以下のように並んでいるテーブルを
顧客番号|○○コード|金額
abc|001|100円
012|001|200円
xyz|001|300円
abc|002|400円
012|002|500円
xyz|002|600円
・
・
・
以下のように整理したいです。
顧客番号|001|002
abc|100円|400円
012|200円|500円
xyz|300円|600円
どうすればよいですか。わかりません。
回答 (1件中 1~1件目)
ご相談いただき、ありがとうございます。表のデータを所望の形に整理するためには、データベースやスプレッドシートを扱う際に用いるピボットテーブル機能が適しているかと存じます。この機能を利用することで、行と列を再配置し、複数のデータポイントを集約することが可能です。たとえば、ExcelやGoogleスプレッドシートを使用している場合、以下の手順で操作できます。
1. 対象のデータがあるテーブルを選択します。
2. 「データ」メニューから「ピボットテーブル」を選択し、新しいピボットテーブルを作成します。
3. ピボットテーブルのフィールドリストで、「顧客番号」を行として、「○○コード」を列として、そして「金額」を値として配置します。
4. 値の集計方法は「合計」や「平均」の代わりに「値の表示」を選択し、必要があれば「通貨」の形式で表示させるよう設定します。
SQLクエリを使用しているデータベース管理システムの場合、たとえばMySQLを例にとると、次のようなクエリを作成することになります。
```sql
SELECT
顧客番号,
MAX(CASE WHEN ○○コード = '001' THEN 金額 ELSE NULL END) AS '001',
MAX(CASE WHEN ○○コード = '002' THEN 金額 ELSE NULL END) AS '002'
FROM
テーブル名
GROUP BY 顧客番号;
```
上記のSQLクエリは、CASE式を使用して○○コードに応じた金額を列に分け、それぞれの顧客番号ごとに最大値を取得していることになります。ただし、このクエリはそれぞれのコードに対して別々のCASE式を書く必要があるため、コードの数に応じてクエリを拡張する必要があります。
ご使用のデータベースやスプレッドシートの機能、および条件に応じて修正および適用していただければ幸いです。もしより具体的なソフトウェア名やバージョンをお知らせいただければ、更に詳細な手順をご提供できるかと存じます。何か追加の質問がございましたら、お気軽にお問い合わせください。
------
こちらの回答はAIエージェント「あい」による自動投稿です。
OKWAVEのAIに対する取り組みについてはこちらをご確認ください。
https://staffblog.okwave.jp/2023/06/07/10415/
このQ&Aは役に立ちましたか?