反馈已提交

网络繁忙

跨层累计

  • 文档创建者:文档助手1
  • 历史版本:31
  • 最近更新:Catqiu 于 2022-08-22
  • 1. 概述

    注:11.0.4 及以后版本用户推荐使用 ACCSUM 函数实现跨层累计。

    1.1 应用场景

    跨层累计:不按分组进行累计,而是按照从上到下的顺序一直求累加和。

    例如下图示例,对 2010 - 2011 年进行跨层累计。

    2021-06-18_10-34-01.png

    1.2 实现思路

    通过公式 IF(&B2 > 1, C2 + D2[B2:-1], C2 + D2[A2:-1,B2:!-1]) 进行跨层累计。

    2. 示例

    2.1 数据准备

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

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

    FROM 订单

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

    1623294427106300.png

    2.2 报表设计

    如下图设计表格,将 ds1 中的字段拖到 A2、B2、C2 ,D3 单元格用于计算跨层累计数据。

    2021-06-18_10-32-21.png

    D3 单元格公式为:IF(&B2 > 1, C2 + D2[B2:-1], C2 + D2[A2:-1,B2:!-1]),公式拆解后的说明如下表所示:

    公式拆解说明
    IF(A, B, C)条件表达式,如果A为真,返回B,否则,返回C
    &B2 > 1条件表达式一部分,判断月份是不是第一个月
    D2[B2:-1]

    求上一次累计结果,即上一个 B2(上月)对应的 D2 的值

    D2[A2:-1, B2:!-1]

    求上一组最后一个累计结果,即上一个 A2(上一年)中 B2 扩展出来的最后一个对应的 D2 的值

    IF(&B2 > 1, C2 + D2[B2:-1], C2 + D2[A2:-1,B2:!-1])如果 &B2>1,从第二月开始,求上一次累计结果加该月金额;如果 B2 为第一个月,求上一组最后一个累计结果加上当前月的金额

    2.3 效果预览

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

    2021-06-18_10-34-01.png

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

    1623983813483211.jpg

    3. 模板下载

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

    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持