Dev Express Report 学习总结(五)在分组中使用聚集表达式AggregateExpression

  聚集表达式AggregateExpression主要包括几种:Avg(),Count(),Exists(),Max(),Min(),Single()Sum()。其中对于Sum(),在我看来主要有两种用法,一种是Group时的合计,另一种是整个页面某个列的值的合计。但是对于Count(),由于以前对DevExpress的了解不足,所以对Count()也不是很了解。

  今天就是在开发报表的过程中遇到了一个问题,经过DevExpress支持的帮助,通过Count()完成了较为复杂的功能。具体情况:我有三条记录,如下图1所示,想生成如图2所示的报表内容,怎么做呢?

  如果放在以前,我可能需要创建2CalculatedField,并且分别添加表达式内容:Iif([VisitStatus]=='VISITED',1,0) Iif([VisitStatus]=='CANCELLED',1,0),然后再使用Sum()Group结合的方式来实现,但有了Count()情况便有了不同,具体实现如下:

  首先,我们也需要建立两个CalculatedField,并且分别添加表达式内容:[][[^.ClinicName] == [ClinicName] AND [VisitStatus] == 'VISITED'].Count()[][[^.ClinicName] == [ClinicName] AND [VisitStatus] == 'CANCELLED'].Count(),从中我们可以看到,具体的数量已经通过遍历ClinicName并且限制VisitStatus实现了,所以无需向以前一样再使用Sum()

  通过以上对比,方案1可以作为方案2的一个备用,两个的相同点都是仅在GroupHeader中进行操作,并且都可以实现最终结果,但两者还是有着些许的区别,特别是在使用GroupBy时,具体区别如下所示:

具体聚集表达式AggregateExpression的具体用法参见以下官网链接:

How to: Calculate an Aggregate Function

转载于:https://www.cnblogs.com/sccd/p/6522229.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值