原报表样式如下:

Upper Tester如何集成到DUT_数据

我们希望根据做小计和合计功能,希望实现的报表结果如下:

Upper Tester如何集成到DUT_3c_02

第一步:

先按要求设计如下报表:

Upper Tester如何集成到DUT_3c_03

此处主要说明三个sum(C1)的配置,基础配置不在复述,如果基础配置有问题,请查阅资料 https://www.w3cschool.cn/ureport/

 

第一个sum(C1)配置

Upper Tester如何集成到DUT_数据_04

根据表格展示结果,我们可以看出,第一个sum(C1)我们是希望根据B1的展示结果不同做不同小计统计,根据Ureport的计算模型,对于父格而言,父格展开时会带动子格一起展开,如父格向下展开,则带其下所有子格及子格的子格一起向下展开。所以我们如果希望B1向下展开是也能带动C2向下拓展,那么必须保证B1是C2的父格。如果B1设置为C2的上父格,那么C1与C2不存在任何关系,此时将会在统计C1下所有值的累计,显然不满足,所以只能讲B1设置为C2的左父格。如图所示

Upper Tester如何集成到DUT_数据_05

此时预览效果如下:

Upper Tester如何集成到DUT_数据_06

会发现小计只计算C1第一行的值这是因为C1是C2的上父格,根据Ureport2计算模型,只会累加第一行的值。为了统计C1所有行的值,只有保证C1与C2不具有关系即可。一般将C2的上父格设置为无。

Upper Tester如何集成到DUT_3c_07

此时预览效果如下:

Upper Tester如何集成到DUT_数据_08

会发现基本满足要求,但是小计没有在每一列B1里展示。这时只要对小计对应的格子,也就是B2设置跟C2一样的左父格和上父格即可。

Upper Tester如何集成到DUT_3c_09

预览效果如下:

Upper Tester如何集成到DUT_3c_10

总结:

对于Ureport的小计或者合计统计,首先判断表格是希望根据哪个格子做分组小计或者合计统计(上例B1),然后将填写表达式的格子(上例C2)的左父格设置为对应希望做分组统计的格子,上父格设置为无(如果希望分组小计的格子(B1)的数据展开方向是向右展开则相反,比如上例的数据方向是向下展开,所以是上父格设置为无,左父格设置为B1,如果数据方向是向右,则上父格设置为B1,左父格设置为无)。并且注意其他所在行的格子也要设置为与填写表达式的格子相同的左父格和上父格(上例B2)

 

第二个sum(C1)配置

Upper Tester如何集成到DUT_3c_11

根据表格样式,很容易看出根据A1做分组合计,根据上面总结,很容易得到对于C3的父格配置,如下图所示:

Upper Tester如何集成到DUT_3c_12

记住对于A3也要相同的配置

Upper Tester如何集成到DUT_数据_13

预览效果如下:

Upper Tester如何集成到DUT_数据_14

 

 

第三个sum(C1)配置

Upper Tester如何集成到DUT_数据_15

根据表格样式很容易得到总计是对于整个报表的统计,此处它不存在是对于那个格子的分组合计问题。根据上面的总结,我们可以得到配置为:

Upper Tester如何集成到DUT_3c_16

最终展示结果为:

Upper Tester如何集成到DUT_数据_17

具有共同上父格的求和问题

Upper Tester如何集成到DUT_3c_18

如图所示,A2的上父格是A1,A2处欲获取A1所有值求和。

Upper Tester如何集成到DUT_数据_19

Upper Tester如何集成到DUT_数据_20

总结:

       如果具有上父子格关系的汇总,只需要设置子格的父格均为无即可(上例中A2的设置)。

 

 

经典例子

交叉表的合计运算:

Upper Tester如何集成到DUT_数据_21

Upper Tester如何集成到DUT_数据_22

 

Upper Tester如何集成到DUT_数据_23

Upper Tester如何集成到DUT_数据_24

展示效果为:

Upper Tester如何集成到DUT_数据_25

Upper Tester如何集成到DUT_3c_26

交叉表例子中C3还有其他设置方法:

方法1:

Upper Tester如何集成到DUT_数据_27

Upper Tester如何集成到DUT_3c_28

 

方法2:

Upper Tester如何集成到DUT_3c_29

Upper Tester如何集成到DUT_数据_30