zoukankan      html  css  js  c++  java
  • 一招搞定各种报表合计需求

    一、常用合计方案

    在有专业报表工具之前,常用的实现方案有:

    1) SQL

    “select sum(字段) from 表 group by 字段 order by 字段“可以实现简单的分组数据合计、条件合计,这种方式有一个很明显的缺点,就是随着合计需求复杂度的增加,sql 的复杂度是呈指数级的。

    2) Excel

    Excel 工具在一定程度上弥补了 sql 的缺点,通过内置函数可以相对轻松的实现合计需求。例如条件汇总时,可以直接调用公式 =SUMIF(A1:A5,“>3”);分页汇总也可以使用内置的“分类汇总“功能实现。

    但是对于复杂多变的合计需求还是心有余而力不足,因为 excel 对于汇总时更多的倾向于数据所在单元格位置是固定的。

    这两种方案并不能满足客户的所有合计需求,那么专业报表工具的出现就是为了完美的解决这一问题,下面我们通过润乾报表工具来看一下它是如何实现的。

    二、专业报表工具方案

    润乾报表提供了 sum 函数可以快速的实现合计需求,我们先来看下函数帮助:

    通过函数帮助的介绍说明,我们知道通过 sum 函数可以轻松实现数据汇总需求,下面我们通过一个具体的例子来看一下。

    2.1 分组合计

    话不多说,先看需求效果图:

    此报表需要计算所有数据的一个汇总值和各个类别下的汇总值,在润乾报表中使用 sum 函数实现时,可以使用如下配置:

    其中,

    G4 单元格表达式 =sum(E3G3,B3{}) 表示对 B3 扩展出来的所有行数据进行“库存量单价“计算,最后吧计算后的值进行求和计算。

    G5 单元格表达式:=sum(G4{}) 表示对 G4 所有扩展出来的数据进行求和计算。

    2.2 条件合计

    在 2.1 报表的基础上增加一个需求,在进行总计的时候只汇总部分供应商的库存金额,那么在润乾报表中如何进行实现呢?

    答案就是:在 {} 中添加过滤条件。

    sum(G4{A3>4}) 表示对满足供应商 ID 大于 4 的库存金额进行求和。

    2.3 页合计

    现在把需求再次升级,对每一页的数据进行一个小计,有没有内置函数可以使用呢?答案是肯定的,我们来看一下 pcsum() 函数的用法:

    在报表单元格中我们可以直接写到表达式中:

    配置 C5 单元格表达式为:=pcsum(E3{})

    G5 单元格表达式为:=pcsum(G4{})

    加上页小计后的报表展现效果如下图所示:

    同样的,我们可以在 pcsum 函数中添加过滤条件,实现部分数据的页小计。

    三、总结

    合计需求看似简单,真正去实现时会发现有很多隐藏的难点,而润乾报表完美解决了这些难点,一个简单的函数就可以轻松的实现合计需求,要不要了解一下?

  • 相关阅读:
    攻击
    url特殊字符转义及解决方法
    为解决Samba windows 无法访问 尝试过的方法
    两种JavaScript的AES加密方式(可与Java相互加解密)
    css 实现关闭按钮 X
    webpack 安装
    webpack 踩的坑
    npm start时报错 npm ERR!Windows_NT 6.1.7601
    点击文字,把input type="radio"也选中
    linux-正则表达式
  • 原文地址:https://www.cnblogs.com/IBelieve002/p/11611728.html
Copyright © 2011-2022 走看看