2013-04-24 94 views
1

我有一個關於Access中交叉表的問題: 如何創建小計列?訪問交叉表小計列

我想看到作爲查詢的結果是這樣的:

  Nov 2010  Dec 2010  2010 Total  Jan 2011 Feb 2011 
Row1    2   4    17   3   2 
Row2    8   6    35   7   5 

如何創建這些分類彙總的一年? (沒關係,如果年份數據將在最後幾個月後發佈) 問題是我需要每年都不做硬編碼,查詢應該可以與任何數據集一起工作

在此先感謝!

+0

在Access我覺得它更容易在報表中進行累加。設計你的查詢來獲得你需要的數據,在數據的呈現中加上你的總數......即,報告 – KacireeSoftware 2013-04-25 05:02:34

回答

3

說我們有原料[SALESDATA]

SalesYear SalesMonth Region SalesTotal 
--------- ---------- ------ ---------- 
2010  11   East 45 
2010  11   West 58 
2010  12   East 55 
2010  12   West 63 
2011  1   East 51 
2011  1   West 54 
2011  2   East 55 
2011  2   West 61 

我們可以創建一個[SalesTotals]查詢每月的銷售總額與年度總計結合...

SELECT SalesYear & "-" & Format(SalesMonth, "00") AS SalesPeriod, Region, SalesTotal FROM SalesData 
UNION ALL 
SELECT SalesYear & "-Total", Region, SUM(SalesTotal) FROM SalesData GROUP BY SalesYear, Region; 

...這產生

SalesPeriod Region SalesTotal 
----------- ------ ---------- 
2010-11  East 45 
2010-11  West 58 
2010-12  East 55 
2010-12  West 63 
2011-01  East 51 
2011-01  West 54 
2011-02  East 55 
2011-02  West 61 
2010-Total East 100 
2010-Total West 121 
2011-Total East 106 
2011-Total West 115 

然後,我們可以做的[SalesTotals]查詢我們的交叉表查詢...

TRANSFORM Sum(SalesTotals.[SalesTotal]) AS SumOfSalesTotal 
SELECT SalesTotals.[Region] 
FROM SalesTotals 
GROUP BY SalesTotals.[Region] 
PIVOT SalesTotals.[SalesPeriod]; 

...產生

Region 2010-11 2010-12 2010-Total 2011-01 2011-02 2011-Total 
------ ------- ------- ---------- ------- ------- ---------- 
East 45  55  100   51  55  106 
West 58  63  121   54  61  115 
+0

哇,非常感謝,這非常有幫助! – Patrick 2013-04-25 10:49:02