在报表中,经常会对分组类的各项数据做累计运算,分别获取分组内、全局累计值并计算其累计占比。
本教程使用Wyn Enterprise报表来实现累计和累计占比的运算。
主要用的到函数包括:Sum、RunningValue、ReportItems等。
实现步骤:
1.使用示例数据,用矩表组件,设计按照销售大区、省份分组的交叉报表;
2.计算分组累计值:
a.新增列,列名设为组内累计值,分组明细行单元格编辑表达式:=RunningValue(Fields!购买数量.Value,Sum,矩表1_销售大区1)
RunningValue函数用法:
返回指定表达式的累进计算值。函数原型为:RunningValue(<Expression>, <Aggregate>, <Scope>)。其中,<Expression>为被计算的表达式,<Aggregate>为累进计算方法,比如:SUM表示合计,AVG表示平均。例如:=RunningValue(Fields!库存量.Value, SUM) 返回从数据集首行至当前行的库存量累计。
Scope为计算范围,本文中指分组:矩表1_销售大区1
3.分组累计占比
新增分组累计占比列,按以下步骤输入表达式:
a.在表格上方新建文本框,输入表达式:=Sum(Fields!购买数量.Value,"销售明细_报表"),获取销量总计值。
b.分组明细行和汇总行分别设置表达式:
明细行表达式:=RunningValue(Fields!购买数量.Value,Sum,矩表1_销售大区1)/Sum(Fields!购买数量.Value,矩表1_销售大区1)
汇总行表达式:=Sum(Fields!购买数量.Value)/ReportItems!文本框15.Value
ReportItems获取文本框总计值方法:ReportItems!文本框14.Value
效果图
4.全局累计
新增全局累计列,
在新增列中添加表达式:=RunningValue(Fields!购买数量.Value,Sum)
此处累计为全局累计,不需要指定第三个作用域参数。
实现效果: