Ms access 访问交叉表小计列
关于Access中的交叉表,我有以下问题: 如何创建小计列 作为查询的结果,我希望看到以下内容:Ms access 访问交叉表小计列,ms-access,crosstab,Ms Access,Crosstab,关于Access中的交叉表,我有以下问题: 如何创建小计列 作为查询的结果,我希望看到以下内容: Nov 2010 Dec 2010 2010 Total Jan 2011 Feb 2011 Row1 2 4 17 3 2 Row2 8 6 35
Nov 2010 Dec 2010 2010 Total Jan 2011 Feb 2011
Row1 2 4 17 3 2
Row2 8 6 35 7 5
如何创建该年度的小计?(如果年度数据将在所有月份结束后显示,则可以)
问题是我每年都需要在没有硬编码的情况下执行此操作,查询应该可以处理任何数据集
提前谢谢 假设我们有原始[销售数据]
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
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
然后我们可以在[SalesTotals]查询中进行交叉表查询
TRANSFORM Sum(SalesTotals.[SalesTotal]) AS SumOfSalesTotal
SELECT SalesTotals.[Region]
FROM SalesTotals
GROUP BY SalesTotals.[Region]
PIVOT SalesTotals.[SalesPeriod];
…产生
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
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
在Access中,我认为在报告中执行汇总要容易得多。设计查询以获取所需的数据,在该数据的表示中添加总计…即报告