如何在水晶报表交叉表汇总行下再加入一行?

adandelion 2011-06-10 08:37:21
如何在水晶报表交叉表汇总行下再加入一行?

一。需求:按照用户分组统计该用户销售的产品数量,其中产品数量是按照产品小类统计的。详细如下:

1.行--用户(UserId)数量不是固定的在,在数据库表里取的。
2.列--产品大类(ProductType)和小类(ProductSubType)的数量也不是固定(但是产品分类层次是固定的,也就是只有大类和小类两个层次),也是在数据库表里取的。
3.汇总项(salesum)是对每个小类的产品销量的汇总。

二。问题:

现在想在汇总后加入一行:该行每列的值 = 每个小类汇总/所有小类汇总.如何增加这一行?

请看截图。

http://images.cnblogs.com/cnblogs_com/adandelion/37772/o_userproductsale.jpg


我已经加了一个公式字段 TtlSaleForAllSubtype 其值为:sum({命令.SaleSum})

下面是脚本:

if OBJECT_ID('T_UserProductSale','U') IS NOT NULL
DROP TABLE T_UserProductSale
GO

CREATE TABLE T_UserProductSale
(
UserId nvarchar(5),
WorkHour float default(0),
ProductType nvarchar(5),
ProductSubType nvarchar(10),
SaleSum float default(0)
)

insert T_UserProductSale(UserId,ProductType,ProductSubType,SaleSum)
select N'USER1',N'P1',N'P1_SUB1',1 UNION ALL
select N'USER1',N'P1',N'P1_SUB2',2 UNION ALL
select N'USER1',N'P2',N'P2_SUB1',0 UNION ALL
select N'USER1',N'P2',N'P2_SUB2',0 UNION ALL
select N'USER2',N'P2',N'P2_SUB1',10 UNION ALL
select N'USER2',N'P2',N'P2_SUB2',20 UNION ALL
select N'USER2',N'P1',N'P1_SUB1',0 UNION ALL
select N'USER2',N'P1',N'P1_SUB2',0

SELECT *
FROM T_UserProductSale
...全文
446 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿泰 2011-07-04
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 yinhaichao2008 的回复:]

你的交叉表包中间怎么会有竖线。。。
[/Quote]

竖线是默认有的,你的要求跟这个不一样
yinhaichao2008 2011-07-03
  • 打赏
  • 举报
回复
你的交叉表包中间怎么会有竖线。。。
SeeSunSet 2011-06-28
  • 打赏
  • 举报
回复
用子报表显示在下面吧.但很难对齐...
阿泰 2011-06-15
  • 打赏
  • 举报
回复
1:还原到最开始的交叉表专家,去掉所有的公式等等设置
2:交叉表专家,在汇总行,增加一个 salesum的合计,
恩,没看错,这个时候这个框里就有两个一模一样的样的salesum的合计
3:点中下面一个,此时下面的“更改汇总”按钮变为可用,点击进去,勾选“以百分比显示”

即可。
cjh200102 2011-06-15
  • 打赏
  • 举报
回复
没试过。
关注楼主。
adandelion 2011-06-15
  • 打赏
  • 举报
回复
谢谢泰哥的回复。不过我试验了有问题的。
(1) 我希望的是百分比行是单独一行,而且能在该行第一列设置一个标题(销售比重)如图所示:
http://hi.csdn.net/attachment/201106/15/45144_1308119362npB7.jpg


(2)用户行 :行高太高了,因为抑制了百分比显示。
http://hi.csdn.net/attachment/201106/15/45144_1308119369acRp.jpg
[img=http://hi.csdn.net/attachment/201106/15/45144_1308119369acRp.jpg]http://hi.csdn.net/attachment/201106/15/45144_1308119369acRp.jpg[/img]

wzsjzjjxy 2011-06-12
  • 打赏
  • 举报
回复
最近半年专门进行水晶报表开发,我感觉也是不可能的我,在很多列是分组依据是ygie字段,都用分组实现。[Quote=引用 4 楼 adandelion 的回复:]

下面是我的理解:
要实现这功能那不能用交叉表的系统统计功能,只能把 “总计”和“小分类所占销售比重”这两行也当成“用户”来处理,在存储过程里,就把这两行的数据象其他用户一样准备好了。在水晶报表显示的时候把最后一行“小分类所占销售比重”格式处理下。

我想的对吗?
[/Quote]
adandelion 2011-06-11
  • 打赏
  • 举报
回复
我的报表版本是水晶报表专业版11
adandelion 2011-06-11
  • 打赏
  • 举报
回复
下面是我的理解:
要实现这功能那不能用交叉表的系统统计功能,只能把 “总计”和“小分类所占销售比重”这两行也当成“用户”来处理,在存储过程里,就把这两行的数据象其他用户一样准备好了。在水晶报表显示的时候把最后一行“小分类所占销售比重”格式处理下。

我想的对吗?
jishengfu 2011-06-10
  • 打赏
  • 举报
回复
xuexi
adandelion 2011-06-10
  • 打赏
  • 举报
回复
我尝试加两个统计字段:但是效果证明是不可以的。如下:

图片看不全,可以点下面链接

http://images.cnblogs.com/cnblogs_com/adandelion/37772/o_userproductsale2.jpg


http://images.cnblogs.com/cnblogs_com/adandelion/37772/o_userproductsale3.jpg
山之魂2 2011-06-10
  • 打赏
  • 举报
回复
4个字段的交叉报表,不会……

4,819

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧