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 函数中添加过滤条件,实现部分数据的页小计。

    三、总结

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

  • 相关阅读:
    牛客网 二叉树的镜像 JAVA
    牛客网 反转链表 JAVA
    牛客网 调整数组顺序使奇数位于偶数前面 JAVA
    Integer to Roman LeetCode Java
    Valid Number leetcode java
    Longest Common Prefix
    Wildcard Matching leetcode java
    Regular Expression Matching
    Longest Palindromic Substring
    Add Binary LeetCode Java
  • 原文地址:https://www.cnblogs.com/IBelieve002/p/11611728.html
Copyright © 2011-2022 走看看