水晶报表 对分组数据进行求和

51Crack 2011-03-25 04:51:15
比如某人的某些信息,每天最多算一次,也可能没有,所以需要按日期分组,然后在分组中新建个公式,DistinctCount ({person.name}, {person.date_time})
如果现在查询1号到31号的数据,需要统计这段时间这个人的次数,怎么累加呢?!
...全文
282 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿双2009 2011-03-26
  • 打赏
  • 举报
回复
我这边的DistinctCount ({DataTable1.textCol2}, {DataTable1.textCol1})
相当于你的DistinctCount ({person.name}, {person.date_time})
阿双2009 2011-03-26
  • 打赏
  • 举报
回复
我想每个组的分组小计应该没问题,关键是最后的 总计=4 对吧?

可以这样,用运行总计字段解决
当然了,不能在界面直接新建运行总计字段,因为【创建运行总计字段】界面无法对报表模板的汇总字段进行运行总计,会提示【无效字段选定区域】

所以必须用公式的办法来解决,因此我们可新建三个公式字段,假设x1,x2,x3

//公式x1
WhilePrintingRecords;
Shared NumberVar iCount := 0;

//公式x2
WhilePrintingRecords;
NumberVar iCount;

//对汇总字段进行累加
//DistinctCount ({DataTable1.textCol2}, {DataTable1.textCol1})表示汇总字段
iCount := iCount + DistinctCount ({DataTable1.textCol2}, {DataTable1.textCol1})


//公式x3
WhilePrintingRecords;
NumberVar iCount; //最终所要结果

把公式x1放在报表头,x2放在组尾(即 和分组小计放在一起),x3放在报表尾
把x1,x2抑制显示掉(不显示),公式x3即为所求
51Crack 2011-03-26
  • 打赏
  • 举报
回复
可以了,感谢半夜回复!
51Crack 2011-03-25
  • 打赏
  • 举报
回复
举个简单例子,根据姓名统计,取不同姓名每天出现次数的和,每人每天算1次

2011-03-01 张三 aa
2011-03-01 张三 bb
2011-03-01 李四 cc
分组小计:2

2011-03-02 张三 dd
2011-03-02 张三 ee
分组小计:1

2011-03-03 张三 ff
分组小计:1


总计 = 4

如何算出4?
humanity 2011-03-25
  • 打赏
  • 举报
回复
哦,搞错了,你的两次分组条件不同,第一次是按日期,第二次按人名。
humanity 2011-03-25
  • 打赏
  • 举报
回复
水晶报表这种求和不需要公式吧,你的需求还有其它要求吗?

如果没有其它特殊的地方,就直接添加一个 Summary field 就可以了,放在 group footer 上就是求和这个group 的,放在 report footer 上就是求和所有的。
天蛾糊 2011-03-25
  • 打赏
  • 举报
回复
没明白。。。

4,816

社区成员

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

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