当前位置:编程学习 > C#/ASP.NET >>

水晶报表交叉表列栏请教--------版主,快来吖,阿泰快来吖

有数据表如下:

如何形成如下报表:

注:差异为(标准成本-实际成本),差异比为(标准成本-实际成本)/标准成本
我用交叉表只能做到前面两列,后面两列不知道该如何实现。求高人解惑。谢谢了 --------------------编程问答-------------------- 都没人瞄一眼 --------------------编程问答-------------------- 没人自己顶 --------------------编程问答-------------------- 我说说我自己的做法,以供参考
我是处理表的数据,重新生成临时表,然后临时表的数据分组,显示DETAIL就可以得到所希望的格式

临时表代码如下:
SELECT 公司,部门,产品,MAX(CASE WHEN 成本种类=实际 then 费用 else 0 end) AS A,
MAX(CASE WHEN 成本种类=标准 then 费用 else 0 end) AS B,
(MAX(CASE WHEN 成本种类=实际 then 费用 else 0 end)-MAX(CASE WHEN 成本种类=标准 then 费用 else 0 end)) AS B
.....
FROM TABLE WHERE 费用种类=jj
GROUP BY 公司,部门,产品
UNION
SELECT 公司,部门,产品,MAX(CASE WHEN 成本种类=实际 then 费用 else 0 end) AS A,
MAX(CASE WHEN 成本种类=标准 then 费用 else 0 end) AS B,
(MAX(CASE WHEN 成本种类=实际 then 费用 else 0 end)-MAX(CASE WHEN 成本种类=标准 then 费用 else 0 end)) AS B
.....
FROM TABLE WHERE 费用种类=RL
GROUP BY 公司,部门,产品
.
.
. --------------------编程问答-------------------- 按部门分组不就可以了吗?至于最后的差异计算,使用公式字段按相应的算法计算。
如果不知道如何使用水晶报表分组,或是建立公式字段那就要看看资料学习一下了。 --------------------编程问答-------------------- 用SQL语句结合交叉表吧,将需要计算的列用SQL语句计算完,在交叉表中直接引用字段名就行了。。。
补充:.NET技术 ,  图表区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,