水晶报表交叉表列栏请教--------版主,快来吖,阿泰快来吖
有数据表如下:如何形成如下报表:
注:差异为(标准成本-实际成本),差异比为(标准成本-实际成本)/标准成本
我用交叉表只能做到前面两列,后面两列不知道该如何实现。求高人解惑。谢谢了 --------------------编程问答-------------------- 都没人瞄一眼 --------------------编程问答-------------------- 没人自己顶 --------------------编程问答-------------------- 我说说我自己的做法,以供参考
我是处理表的数据,重新生成临时表,然后临时表的数据分组,显示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技术 , 图表区