zoukankan      html  css  js  c++  java
  • 报表-表格-总行数与汇总值

    表格类报表的尾部,往往需要显示总行数和合计数之类的信息,这种汇总性质的数据可以用表格的表尾行来实现。

    (一)总行数

    Wyn Enterprise表格报表元素,在为明细数据行单元格绑定数据集字段的时候,会自动设置表尾行单元格的表达式,如下图:

    其中,第一列尾行的汇总计算是Count,原因是【订单编号】字段的类型是字符型;第二列尾行的汇总计算是Sum,原因是【购买数量】字段是数值型的。
    凡是数值型的字段,表尾行的表达式都是 =Sum([字段名]) ;非数值型则是 =Count([字段名]) 。

    Count函数是通过对非数值型字段进行计数,结果就是记录总行数,如下图:


    事实上,表格头的单元格也可以用Count函数来展示总行数,只是表格头一般都是用于显示列名,所以Wyn会自动填写字段名称,而不是Count表达式。

    (二)分组行数

    前面的例子是对整个表格的行数进行统计。如果表格设置了行分组,比如根据销售区域统计订单数,怎么统计每个区域的订单数呢?
    与总行数类似,这种按分组统计行数的方法是:在分组头或者分组尾行使用Count函数。

    下面是一个具体的操作步骤示例。

    (1)添加行分组
    添加行分组,可以在明细数据行中点击鼠标右键,再点击【分组操作】-【插入分组】,如下图:

    再设置【分组条件】字段,如下图:


    更简单的方法是,将数据集的分组条件字段直接拖放到表格分组框内,如下图:


    (2)在分组尾行单元格设置Count表达式
    在分组尾的单元格中,输入 =Count([字段名]) 表达式,如下图:

    预览时,可以看到,尽管表达式都是  =Count([字段名]) ,但是分组尾和表尾行显示的数字却是不同的,如下图:

    也就是说,Wyn会自动根据表达式所在的位置(内部称为数据区域,Data Region)来决定计数的范围。分组尾上的表达式,就针对分组内的数据行进行计数;表尾行的表达式,则是对整个数据集进行计数。

    (三)跨数据区域的汇总表达式

    前面介绍的Count函数在不同数据区域(分组头尾,表尾行)的不同结果。如果需要在一个区域内显示另一个区域的汇总结果,比如在分组内显示总订单数,那应该怎么办呢?
    实际上,Count,Sum等汇总函数,除了字段名称这个参数之外,还有另一个被称为“作用域”的参数,也就是说,完整的表达式是下面这样的:
    =Count([字段名],"作用域名")
    =Sum([字段名],"作用域名")

    所谓作用域,是指函数计算所针对的数据范围。
    作用域名,可以是数据集名称,也可以是一个分组的名称。

    设置好分组的表格如下图:

    其中的“表格1_销售大区1”就是分组名称。

    为说明作用域参数的效果,我们在明细数据行单元格中分别输入下面的表达式:
    =Count(Fields!订单编号.Value, "表格1_销售大区1")
    =Count(Fields!订单编号.Value, "销售明细_报表")
    如下图:

    其中:
    表格1_销售大区1 是分组名;销售明细_报表 是数据集名称。
    预览效果如下图:


    与Count函数类似,Sum,Avg,Max等函数都支持这种作用域参数,可以针对不同范围统计合计值、平均值、最大值。

  • 相关阅读:
    Quicksum -SilverN
    uva 140 bandwidth (好题) ——yhx
    uva 129 krypton factors ——yhx
    uva 524 prime ring problem——yhx
    uva 10976 fractions again(水题)——yhx
    uva 11059 maximum product(水题)——yhx
    uva 725 division(水题)——yhx
    uva 11853 paintball(好题)——yhx
    uva 1599 ideal path(好题)——yhx
    uva 1572 self-assembly ——yhx
  • 原文地址:https://www.cnblogs.com/edoo/p/13646959.html
Copyright © 2011-2022 走看看