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

目录:

1. 概述编辑

本文的学习视频如下,如果您需要由浅入深地学习层次坐标可以使用:层次坐标专题

[helpvideo]1637[/helpvideo]

1.1 应用场景

逐层累计就是在分组报表中,每一组中分别将每层与上一层数据相加,得到这一层的累计结果,并按照年份隔断。

例如下图示例,对2010、2011年分组进行逐层累计计算。

2021-06-10_14-46-07.png

1.2 实现思路

通过逐层累计函数LAYERTOTAL( )C2 + D2[B2:-1]进行逐层累计计算。

2. 示例编辑

2.1 数据准备

新建普通报表,新建数据查询 ds1 ,SQL语句为:

SELECT STRFTIME('%Y',订购日期) AS 年份,STRFTIME('%m',订购日期) AS 月份,应付金额

FROM 订单

WHERE STRFTIME('%Y',订购日期) IN ('2010','2011')

2021-06-10_14-39-00.png

2.2 报表设计

如下图设计表格,将 ds1 中的字段拖到 A2、B2、C2 单元格,D2 单元格进行逐层累计计算。

2021-06-10_14-39-33.png

D2 条件汇总公式为:C2 + D2[B2:-1],公式拆解后的说明如下表所示:

公式
说明
D2[B2:-1]表示 B2 单元格扩展出来的上一格(上月)中 D2 的值
C2 + D2[B2:-1]表示一年内上一个月累计后的金额加 ( C2 ) 当前月的金额

在 D3 单元格中可直接使用逐层累计公式LAYERTOTAL(B2, C2, D2)。如果为横向扩展,则传递第四个参数值为 false,例如:LAYERTOTAL(B2, C2, D2,false)

2.3 效果预览

保存模板,点击分页预览,效果如下图所示:

2021-06-10_14-46-07.png

支持 App 端和 HTML5 端预览,效果如下图所示:

1623307853552242.jpg

3. 模板下载编辑

点击下载模板:逐层累计.cpt