润乾集算报表非常规统计之无源规则报表

    报表开发中,经常会碰到一些需要进行非常规统计的报表,固定分组、可重复分组、组内排序,还包括跨行组计算的报表,甚至有些报表本身无数据来源、以及需要对数据源再计算。这些报表本身具备一定的特殊性,使用常规方法往往难于实现。

    集算报表完成这类特殊统计报表则非常简单,这里以一个没有数据源,但展现规则的报表为例,说明集算报表的实现过程。

报表说明

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

wKiom1RgEpfiujiuAADUhTCxt34601.jpg

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

这个报表的麻烦之处在于需要较复杂的数据计算工作,生成指定区间内的奇数日,而一般报表工具的计算能力较弱,如果采用报表工具本身来完成这个计算工作会比较复杂,比如采用用润乾报表来实现将会是这样的:

wKioL1RgEwGSSMnoAACnQ7CFC_g417.jpg


wKiom1RgEpjwB_qKAACsV8_3B9w324.jpg

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

润乾报表已经是计算能力很强的报表工具了,采用其它报表工具只会更麻烦甚至实现不了。

另一种办法是事先把数据计算准备好,报表工具只需要负责呈现和简单计算。但无论是使用复杂SQL、存储过程和自定义JAVA数据集编程,对于这样的复杂运算(实际情况往往比这个例子更麻烦得多)都是一件工作量很大的事情,而且难以维护。

集算报表本身提供了脚本数据集,可以编写适合结构化计算的脚本,上述报表需求使用集算报表可以这样完成:

编辑报表模板

    使用集算报表编辑器,新建报表模板,设置报表参数,并设置默认值。

wKioL1RgEwLST3oOAACsPly_Adc413.jpg

新建报表并使用脚本数据集编写计算逻辑,为报表返回计算后结果集:

wKiom1RgEpnQ8657AAD3-hI1WZ4681.jpg

编辑报表表达式,直接使用集算脚本返回的结果集,完成报表制作。

wKioL1RgEwPBw2sMAAAyalEotSk768.jpg

    报表中,只需要通过列表表达式将脚本生成的结果集展示即可。通过简单几步即可完成此类报表的开发,非常方便。


你可能感兴趣的:(集算报表,规则报表,常规统计,无数据源)