• 报表-表格-总行数与汇总值


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

    (一)总行数

    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等函数都支持这种作用域参数,可以针对不同范围统计合计值、平均值、最大值。

  • 相关阅读:
    bzoj 2816: [ZJOI2012]网络 (LCT 建多棵树)
    bzoj 2157: 旅游 (LCT 边权)
    bzoj 3669: [Noi2014]魔法森林 (LCT)
    bzoj 2049: [Sdoi2008]Cave 洞穴勘测 (LCT)
    bzoj 2002 : [Hnoi2010]Bounce 弹飞绵羊 (LCT)
    bzoj 3282: Tree (Link Cut Tree)
    模拟赛1
    Some tricks
    模拟赛简要题解与心得
    Noip 训练指南
  • 原文地址:https://www.cnblogs.com/edoo/p/13646959.html
Copyright © 2020-2023  润新知