您的位置:首页 > 其它

润乾报表实现无数据源的规则报表及改进

2014-09-19 15:01 176 查看
某报表系统中有部分报表需要按照一定规则显示数据,如:显示查询日期范围内的奇数日数据,要求数据库中即使无记录该日期也显示(内容为空)。



本文重点来实现奇数日期序列,数据区不是重点,故置空。

以上述报表需求为例,这里来看一下润乾报表的实现过程,以及改进方法。

润乾报表实现

以下为润乾报表的实现方式,考虑跨年和跨月份的情况:



使用时要对辅助列A列进行隐藏,以及对第2行进行条件隐藏,偶数的日期不显示。所以报表工具实现要依靠大量隐藏行列。

报表工具实现需要借助隐藏行格完成,主要原因是数据计算和报表呈现混在一起导致,既要完成报表展现,又要兼顾数据计算,往往导致报表计算能力不足。如果能将数据计算和报表呈现剥离开,那么报表开发将更加快捷。

润乾集算报表5.0是在保留原有润乾报表核心功能的情况下,推出的强计算报表工具,其内置的集算器非常适合完成数据计算,从而将报表数据准备和呈现分开。本例的需求采用集算报表实现要简单得多,方法如下:

集算报表实现

编写集算脚本

首先使用集算器编写计算逻辑,为报表输出两个日期之间的奇数日。



A1:根据起止日期参数,列出该日期段中的所有日期;

A2:选出奇数日;

A3:为报表返回结果集。



报表调用

使用集算报表设计器,新建报表,使用“集算器”数据集类型,选择上面编辑好的集算脚本(time.dfx)



设置报表模板及表达式



报表中只简单的列表取值即可,无需再完成复杂计算。



由于集算器对集合运算的有效支持,使得从一个集合(所有日期)中选出部分数据(奇数日)非常容易。不同于在一般报表工具中计算,集算器进行数据计算时不带有任何展现属性,因此效率更高;同时,由于报表端不再包含大量的隐藏格,报表效率得到了进一步提升。



此外,对于代码很简单的脚本,可以不必独立编辑出脚本文件,而使用集算报表内置的脚本数据集,把脚本直接嵌入到报表模板。方法如下:

1、在数据集设置窗口中点击“增加”按钮,弹出数据集类型对话框,选择“脚本数据集”



2、在弹出的脚本数据集编辑窗口中编写集算脚本:



脚本数据集中可以直接使用报表定义的参数,如上述脚本中的begin、end即为报表参数。



3、报表调用,与其他数据集使用方式一致,不再赘述。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: