运算区域的设置--Java学习网

时间:2016-3-1 19:07:04

  核心提示:1.2.6运算区域的设置以上介绍的五个运算函数都是作用在一个数据集合上的,这样就产生了运算区域的概念。根据不同的需求,运算区域不尽相同。接下来我们介绍如何才能灵活的指定运算函数的运算区域。下面这个例子...

1.2.6   运算区域的设置

以上介绍的五个运算函数都是作用在一个数据集合上的,这样就产生了运算区域的概念。根据不同的需求,运算区域不尽相同。接下来我们介绍如何才能灵活的指定运算函数的运算区域。

下面这个例子:

在分组报表设计中,需要计算两种合计。一个是第六行(R6)的供应商库存合计,一个是第七行(R7)的库存总合计。SUM中的cell参数指定的都是G5单元格,但最后运算结果并不相同,原因就是它们的运算区域不同。

图 2.6  分组报表运行结果图

图 2.7  分组报表运行结果图

报表工具会根据运算函数所在的行自动匹配一个运算区域,我们可以通过报表设计时的缓存文件看到。

在缓存文件中,可以看到结构化的报表定义,摘录有关运算合计的单元格如下:

1
2
3
4
<rdl:table-cell id="R6C7" column="C7" type="Number" v-group="$PR5C2" h-group="$ALL" ref="sum($R5C7)">
    </rdl:table-cell>
    <rdl:table-cell id="R7C7" column="C7" type="Number" v-group="$ALL" h-group="$ALL" ref="sum($R5C7)">
    </rdl:table-cell>

id=”R6C7”代表报表设计时中第六行第七个单元格,正是计算供应商合计的单元格。相应的,id=”R7C7″代表计算总合计的单元格。可以发现,两个单元格中只有v-group属性是不同的,同时还有一个类似的h-group属性,这两个属性即指定了运算函数SUM的运算区域。

R6C7单元格的v-group属性为$PR5C2,这是由报表工具自动计算得出的,代表在纵向上以第五行第二列单元格扩展后的区域进行计算,其中P代表一个决定如何扩展的单元格通常其中含有扩展函数(我们称之为repeat),R代表行,C代表列。

那么如何设置运算函数的区间呢?可以通过设置v-group和h-group属性(批注)来实现。

我们通过一个主从报表来说明设置运算区域的作用,如下图:

图 2.8  主从报表运行结果图

图 2.9  主从报表设计图

上图所示序号是分别按照每个子表数据条数进行计算的,如果我们需要按照全部数据计算的话,可以在设计报表时为计算单元格添加v-group属性(批注),设置属性值为$ALL。

图 2.10  主从报表运行结果图

Java免费学习   Java自学网 http://www.javalearns.com

关注微信号:javalearns   随时随地学Java

或扫一扫

随时随地学Java

作者:不详 来源:网络
    你是从哪里知道本网站的?
  • 网友介绍的
  • 百度搜索的
  • Google搜索的
  • 其它搜索过来的
  • 网址输错了进来的
  • 太忙了不记得了
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
本类推荐
  • 没有
本类固顶
  • 没有
  • java学习网(www.javalearns.com) © 2014 版权所有 All Rights Reserved.
  • Email:javalearns@163.com 站长QQ:1356121699 晋ICP备14003680号-3
  • java学习网部分内容来自网络或网友发布,如侵犯了您利益,请发邮件至:javalearns@126.com,我们尽快处理!
  • Java学习网
  • 网站统计
  • 晋公网安备 14042902000001号