现在的位置: 首页 > 综合 > 正文

交叉报表

2012年06月14日 ⁄ 综合 ⁄ 共 1103字 ⁄ 字号 评论关闭

什么叫交叉报表???交叉报表是做什么用的?怎么用?


①交叉报表对像是一个网络,根据指定条件的返回值,将数据显示在压缩行与列中

②,它由三个元素组成,行,列,摘要,

如,把所有销售,按大类区分,并统计大类的和,压成另一个表,这程情况就要用到交叉表

--------------------------------------------------------------------------------------------------

交叉表的写法:

---------------------------------------

①在写交叉表之前先说下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

抱歉!评论已关闭.