报表应用 >> 动态格间运算 >> 累计 >> 跨层累计

跨层累计

顶( )
最后更新日期: 人发表评论 (点击查看)
跨层累计,对所有数据进行累计,累计所有数据、层次坐标、合计,crosslayertotal()
1. 问题描述
跨层累计相对于逐层累计而言,不是每组分别累计,而是从第二组开始在上一组的累计结果上继续累计,如下图:
2. 示例
2.1 打开报表
打开报表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\Accumulative_1.cpt
如下修改报表:
2.2 跨层累计
在D3单元格中,写入公式:=IF(&B3 >1, D3[B3:-1] + C3, D3[A3:-1,B3:!-1] + C3):如果&B3>1,从第二月开始,求上一次累计结果加该月金额,否则当为第一个月时,求上一组最后一个累计结果加上当前月的金额。如下图:
其中D3[B3:-1]表示上一个B3(上月)对应的D3的值;
D3[A3:-1,B3:!-1]表示上一个A3(上一年)中B3扩展出来的最后一个对应的D3的值。
在D3单元格中直接写跨层累计公式=CROSSLAYERTOTAL(A3, B3, C3, D3),等同于公式=IF(&B3 >1, D3[B3:-1] + C3, D3[A3:-1,B3:!-1] + C3),如果为横向扩展,则传递第五个参数false,例如:=CROSSLAYERTOTAL(A3, B3, C3, D3,false)
2.3 保存与预览
保存模板,预览效果如上。模板效果在线查看请点击Accumulative_2.cpt
已完成模板可参考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\Accumulative_2.cpt
3. 总结
在层次坐标中,可以通过!-1来获取某个单元格扩展出来的最后一个。
[B3:!-1]表示B3单元格扩展出来的最后一个。
 
 
 
 
   
文明发言,用心评论
 
应用此篇文章,您:
不费力
研究了一会
琢磨了好久
 
查看全部条>>
Copyright©2019 帆软软件有限公司
苏ICP备18065767号-3