文件作为报表数据源的情况很常见,润乾集算报表可以很好地支持这一点,下面通过一个实例说明。

报表描述

数据文件为每个月个月的股价信息(每个月一个文件,文件命名方式为”stock_record_yyyyMM”,如:stock_record_200901.txtstock_record_200902.txt…),包括每只股票的股票编码、交易日期和收盘价,报表参数为起始年月和结束年月,需要查询该时间段内各只股票最长连续上涨天数,以及创下最长连续上涨天数记录当天的日期以及收盘价。

    报表格式如下:

wKiom1PXMVuTfrR3AADlujf9dVw081.jpg

   实现步骤

    编写脚本

    首先使用集算器完成文件读取和数据计算,编写脚本(stocks.dfx)。

wKioL1PXMnfgrfH9AAD2SGSpbhY845.jpg

 A1通过传入的起始结束月份参数计算所涉及的月份序列,即需要用到的文件;

 A2通过import循环读入该时间范围内需要用到的所有文件数据;

 A3使用derive为序表增加字段ballooningNum;

 A4A5按照股票代码和交易日期排序后,按照股票代码分组;

 A6在循环中通过判断是否比上一交易日的收盘价高,计算每只股票各个交易日的连续上涨天数;

A7通过pmax选择每只股票最长连续上涨天数所在记录,包括创下最长连续上涨天数记录当天的日期以及收盘价,并按照ballooningNum降序排列。

    新建报表

    打开集算报表设计器,菜单栏选择 文件-新建报表,点击生成空白报表,新建一个空白报表。

    设置参数

    菜单栏选择 报表-参数,增加两个查询参数beginend,类型为整数。

wKiom1PXMV6Q3x-nAACsrJuc4lI360.jpg

    设置数据集

    菜单栏选择报表-数据集,数据集类型选择集算器,在弹出的集算器数据集设置窗口中选择dfx文件,并设置传入参数,即报表的两个参数beginend,创建数据集ds1

wKioL1PXMnuyvz11AAEDolD17nk876.jpg

    这里的DFX文件路径即可以设置为绝对路径也可以使用相对路径,在设计器中的相对路径是相对于工具—>选项中配置的应用资源路径而言的,在WEB端是相对于reportConfig.xml中的reportFileHome的路径而言的。

    编辑报表模板及表达式

    在新建的报表模板中设置报表样式以及表达式,第一行为报表头,第二行为报表表达式。

wKioL1PXMnzhz-BUAABsp9EfGJw775.jpg

    A2:根据数据集ds1使用select函数取股票编码列表

    B2-D2:根据A2扩展,通过取值表达式分别取得各支股票对应的交易日期、收盘价、最大上涨天数等。

    展现报表

    在报表设计器中,选择工具栏中的预览报表,即可在设计器中查看报表展现结果。

wKiom1PXMWTjQoqJAAFOMZwrdCg101.jpg

设计器预览效果

 

    此外,集算报表设计器内置了Tomcat,允许用户将报表发布到web端查看页面效果,点击工具栏右上角的IE图标,设置报表主目录和DFX主目录(可采用默认),完成报表发布。

wKiom1PXMWXDJT9HAACKVsIMYQw473.jpg

页面发布后预览效果