历史版本11 :跨层累计 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 问题描述编辑

跨层累计相对于逐层累计而言,不是每组分别累计,而是从第二组开始在上一组的累计结果上继续累计,如下图:
222

2. 示例编辑

2.1 打开报表
打开报表%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\逐层累计.cpt
如下修改报表:
2.2 跨层累计
方法一:
在D3单元格中,写入公式:=IF(&B3 >1, D3[B3:-1] + C3, D3[A3:-1,B3:!-1] + C3)=IF(&B3 >1, D3[B3:-1], 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 保存与预览
保存模板,预览效果如上。
模板效果在线查看请点击跨层累计.cpt
已完成模板可参考%FR_HOME%\webroot\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\跨层累计.cpt

3. 总结编辑

在层次坐标中,可以通过!-1来获取某个单元格扩展出来的最后一个。
D3[B3:!-1]表示B3单元格扩展出来的最后一个对应的D3的值。