限定しりとり

ピボットテーブルでは「値」の詳細表示ができますが、クロス集計クエリで詳細表示は可能でしょうか?

具体的には
テーブル
クライアントID   来店日
0001_________________2013/1/1
0001_________________2013/2/3
0001_________________2013/3/1
0002_________________2013/3/5
0002_________________2013/3/7
0003_________________2013/2/5
0003_________________2013/3/10

クエリで来店年、来店月、来店日それぞれに表示指定

求めるクロス集計結果
_______________1月________2月__________3月
0001__________1____________3_____________1
0002_______________________________________5
_____________________________________________7
0003________________________5___________10


こんな感じです。


内部の運用ルール上VBAは使えません

出来る限りAccessでレポート印刷したいのです。
ピボットでの印刷はすでに行っていますが、改ページ位置などで不満が残ります。

出来ないのであれば、出来ないで上司にはあきらめてもらいます。
(無駄な時間をとらなくてすみますし・・・)

二重、三重のクエリやら、関数やら、追加・更新クエリやら試してみましたが、アイディア切れです。

どうか助けてください。
よろしくお願いいたします。

A 回答 (1件)

クロス集計クエリの部分だけで良いですか?



クエリの表示結果は添付図の様になります。
テーブル名を ★★ と仮定します。


TRANSFORM First(Day(来店日)) AS 値
SELECT Year(来店日) AS 年, クライアントID FROM
(SELECT Q1.クライアントID, Q1.来店日, Count(*) AS CT FROM ★★ AS Q1
INNER JOIN ★★ AS Q2 ON
(Q1.クライアントID=Q2.クライアントID) AND
(Format(Q1.来店日,'YYYYMM')=Format(Q2.来店日,'YYYYMM')) AND
(Q1.来店日>=Q2.来店日)
GROUP BY Q1.クライアントID, Q1.来店日) AS T1
GROUP BY Year(来店日), クライアントID, CT
PIVOT Month(来店日) & "月";


※ PIVOT Month(来店日) & "月" のまま 10月以降も表示しようとすると、順が狂います。
その時には、クエリ列見出しを設定してください。
たぶん、以下の様な感じに

PIVOT Month(来店日) & "月" IN
("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月")

※ 処理性能はわかりません

※ 不都合あれば修正してください
「Accessクロス集計クエリで詳細を表示」の回答画像1

この回答への補足

休日をはさんだため、結果報告が遅れまして申し訳ありませんでした。

期待通りの結果が得られました!

感謝いたします。ありがとうございました。

補足日時:2013/04/01 09:33
    • good
    • 0
この回答へのお礼

ありがとうございます!

早速試してみます!

お礼日時:2013/03/29 16:39

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

関連するカテゴリからQ&Aを探す