引用:
顧客|商品|2018|2019|2020
−−−−−−−−−−−−−−
0001|AAAA|1000|2000|3000
0001|BBBB|5000|4000|3000
:
0002|AAAA|8000|8000|8000
0002|BBBB|8000|8000|8000
:
このようなテーブルがあります。
・2018〜2020は年度で、値は売上金額です。
・商品は全顧客共通。(AAAA〜EEEEの5つ。売れていなくても0円でレコードあり)
上記のような非正規形テーブルしか定義されておらず、
かつ[商品]の値が 5 種類に限定されているのであれば、
とりあえず以下のような手順でクエリおよびレポートを
作成して下さい。
1. 次のようなユニオンクエリを作成する。
( SQL ビュー)
--------------------------------------------------
SELECT [
テーブル名].[顧客],
[
テーブル名].[商品],
2018 AS [年度],
[
テーブル名].[2018] AS [売上金額]
FROM [
テーブル名]
UNION ALL
SELECT [
テーブル名].[顧客],
[
テーブル名].[商品],
2019 AS [年度],
[
テーブル名].[2019] AS [売上金額]
FROM [
テーブル名]
UNION ALL
SELECT [
テーブル名].[顧客],
[
テーブル名].[商品],
2020 AS [年度],
[
テーブル名].[2020] AS [売上金額]
FROM [
テーブル名];
--------------------------------------------------
2. 1 のユニオンクエリを元に、次のようなクロス集計クエリを作成する。
( SQL ビュー)
--------------------------------------------------
TRANSFORM Sum([
ユニオンクエリ名].[売上金額]) AS [売上金額の合計]
SELECT [
ユニオンクエリ名].[顧客],
[
ユニオンクエリ名].[年度]
FROM [
ユニオンクエリ名]
GROUP BY [
ユニオンクエリ名].[顧客],
[
ユニオンクエリ名].[年度]
ORDER BY [
ユニオンクエリ名].[顧客],
[
ユニオンクエリ名].[年度]
PIVOT [
ユニオンクエリ名].[商品]
IN ("AAAA","BBBB","CCCC","DDDD","EEEE");
--------------------------------------------------
3. 2 のクロス集計クエリをレコードソースとするレポートを
適宜作成する。