プロが教える店舗&オフィスのセキュリティ対策術

エクセル出力用に年度_売上となっているフィールドを
クロス集計クエリで売上(値_先頭)年度_列見出し コード_列見出し
のようにしました。

合計の場合は集計を合計にすればよいのですが、
列見出し同士で計算を行う場合(前年比等)どのような関数で計算するのでしょうか?

2006年度売上/2005年度売上*100

A 回答 (4件)

クロス集計クエリではできません


クロス集計クエリから別の集計クエリを作るのが一番簡単かな

あるいはクロス集計もどきの集計クエリを作るかです

ヒント
2006年度売上:Sum(IIf(年度=2006,売上,0))
    • good
    • 0
この回答へのお礼

ありがとうございます。
誤 コード_列見出し
正 コード_行見出し
でしたすみません。

>ヒント
>2006年度売上:Sum(IIf(年度=2006,売上,0))

複数のデータを出力する場合は使えませんよね。

クロス集計クエリからクエリを作成することにします。

お礼日時:2008/07/30 16:07

>複数のデータを出力する場合は使えませんよね。


どうして?
ヒントとして2006年度の求め方をあげただけで
同様にしてどの年度でも求まります
異なる年度の比率も求まります

この回答への補足

合計して比率を出すことはできますが
複数のデータがある場合ID別に比率を出すことは無理ではないでしょうか?

ID_売上_年度
1120_150_2005
1120_200_2006
1130_230_2005
1130_300_2006

例えばIIf(年度=2006,売上,0)) IIf(年度=2005,売上,0))
とした場合2006年度と_2007年度に分けられますが、
レコードが分かれてしまうために使えないと思います。

それとも、2005年度のクエリ、2006年度のクエリのようにファイルを分けてと言う意味でおっしゃられたのでしょうか?

補足日時:2008/08/01 18:07
    • good
    • 0

>レコードが分かれてしまうために使えないと思います。


フィールドが別れるだけです
クレームをつける前にやってみたの?

この回答への補足

テーブル
企業コード 売上年度
11002006
11002007
22002006
22002007

クエリ
企業コード_2006_2007
1_100_0
1_0_100
2_200_0
2_0_200

単純にIIFでフィールドを分けることは出来ますが、
前回の補足の通レコードも分かれてしまいます。
この状態で前年比等計算できるのでしょうか

補足日時:2008/08/04 11:43
    • good
    • 0

どんなやり方をしているの?


普通の簡単な集計クエリですよ

SELECT sski.ID, Sum(IIf([年度]=2005,[売上],0)) AS 2005売上, Sum(IIf([年度]=2006,[売上],0)) AS 2006売上, Sum(IIf([年度]=2006,[売上],0))/Sum(IIf([年度]=2005,[売上],0)) AS 昨年比
FROM sski
GROUP BY sski.ID
ORDER BY sski.ID DESC;

ID2005売上2006売上昨年比
1130230300130.43%
1120150200133.33%
    • good
    • 0
この回答へのお礼

ありがとうございます。
>普通の簡単な集計クエリですよ

集計クエリだったのですね。
IDをグループ化していないのが原因だったようです。
ありがとうございました。

お礼日時:2008/08/04 16:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!