本文主要是介绍Ureport2做环比报表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
报表模版如下图所示:
在上面的报表模版中,D2 单元格中的表达式为 C2 - C2[A2:-1] ,这就表示在D2单元格中首先取到 C2 单元格的值, 因为 C2 单元格与 D2 位于同一行,所以可以直接取到,且只有一个;下一个C2采用了坐标A2:-1,那就表示取相对于当前单元格的 A2 单元格上一格(负值表示向上位移)的A2单元格所对应的 C2 单元格,运行后的效果如下图所示:
从运行结果中可以看到,第一行环比的值为0,这是因为对于第一行的 D2 单元格来说,其上一行其实是不存在的,所以 UReport2 默认就取了第一个 C2 单元格的值,所以两个值减下来就是0。
如果我们希望第一行的0不显示,则可以使用如下表达式:
if(&A2==1){return ""
}else{C2 - C2[A2:-1]
}
建议:这个例子不是特别的好,因为环比统计的是月份的增长量,是将当月数值减去上一份数值作为当月的环比数据,是针对月份的统计,而此处拿的A2的上一行进行统计比较,是根据年份的。而此处可以的原因是因为年份的展示是采用列表(select),而不是采用分组(group),建议获取B2列(月份列)数据。
建议的表达式为:
C2 - C2[B2:-1]
if(&B2==1){return ""
}else{C2 - C2[B2:-1]
}
总结:这种类型报表适合做任何下一行减去上一行的值的统计,我们首先确定唯一确定一行的一个列(上述例子的B2),然后确定要参与计算的数据列(上述例子的C2),然后定义如下表达式即可
计算列 - 计算列[唯一确定列:-1]
注意:表达式中有两个空格,其中第一个空格不可以去掉,否则表达式会报错,第二个空格不受限制,不过建议不要去掉。
转载:https://www.w3cschool.cn/ureport/ureport-83yg2haa.html
这篇关于Ureport2做环比报表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!