图表插件FineReport教程:[11]跨层累计

2025-10-26 00:20:55

1、 打开报表

打开报表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\Accumulative_1.cpt

如下修改报表

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的值。

图表插件FineReport教程:[11]跨层累计

3、在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)。

4、保存与预览

保存模板,预览效果如上。模板效果在线查看请点击Accumulative_2.cpt

已完成模板可参考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\Accumulative_2.cpt。

5、 总结

在层次坐标中,可以通过!-1来获取某个单元格扩展出来的最后一个。

如[B3:!-1]表示B3单元格扩展出来的最后一个。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢