什么叫交叉报表???交叉报表是做什么用的?怎么用?
①交叉报表对像是一个网络,根据指定条件的返回值,将数据显示在压缩行与列中
②,它由三个元素组成,行,列,摘要,
如,把所有销售,按大类区分,并统计大类的和,压成另一个表,这程情况就要用到交叉表
--------------------------------------------------------------------------------------------------
交叉表的写法:
---------------------------------------
①在写交叉表之前先说下Case查询->开关查询,Case查询都是与统计有关的查询,与SUM, AVG ,COUNT这样的聚合函数相配使用
如:从点单表中统计房台名称->重庆->的所有点单金额
---------
select (SUM(Case 房台名称 When '重庆' then 价格 else 0 end)) From 点单表
---------下面看一个原数据表------
先统计各年,各车间的Oput总额
------------------------------------
(Select Dyear, Sum(Case A.plant when '一车间' then A.Oput else 0 end ) as
[一车间],
Sum(Case A.plant when '二车间' then A.Oput else 0 end ) as
[二车间],
Sum(Case A.plant when '三车间' then A.Oput else 0 end ) as
[三车间],
Sum(Case A.plant when '四车间' then A.Oput else 0 end ) as
[四车间]
From tb_Crosstab AS A
Group By A.DYear)
--------------------如下图--------------
上面的代码,产生出来的是一张数据视图,下面再在这张数据视图上,加上一行总计(每行相加产行新列)
在数据视图上再产生数据视图的方法,
①给旧视图命个新名字,
②Select 旧视图.*,(旧视图的各行相加产的的新列) as 新列名 From 旧数据视图
③给数据视图命名要在Group By,Order By 前面,而不能在后面
------------------------------------------------------
能做交叉视图的数据表是有条件的,并不是所有的表都可以做交叉视图,这个条件是,数据必须按类存放(数据是有归属属性的)
DoubleCat QQ:28088191