文件作为报表数据源的情况很常见,润乾集算报表可以很好地支持这一点,下面通过一个实例说明。
报表描述
数据文件为每个月个月的股价信息(每个月一个文件,文件命名方式为”stock_record_yyyyMM”,如:stock_record_200901.txt、stock_record_200902.txt…),包括每只股票的股票编码、交易日期和收盘价,报表参数为起始年月和结束年月,需要查询该时间段内各只股票最长连续上涨天数,以及创下最长连续上涨天数记录当天的日期以及收盘价。
报表格式如下:
实现步骤
编写脚本
首先使用集算器完成文件读取和数据计算,编写脚本(stocks.dfx)。
A1通过传入的起始结束月份参数计算所涉及的月份序列,即需要用到的文件;
A2通过import循环读入该时间范围内需要用到的所有文件数据;
A3使用derive为序表增加字段ballooningNum;
A4、A5按照股票代码和交易日期排序后,按照股票代码分组;
A6在循环中通过判断是否比上一交易日的收盘价高,计算每只股票各个交易日的连续上涨天数;
A7通过pmax选择每只股票最长连续上涨天数所在记录,包括创下最长连续上涨天数记录当天的日期以及收盘价,并按照ballooningNum降序排列。
新建报表
打开集算报表设计器,菜单栏选择 文件-新建报表,点击“生成空白报表”,新建一个空白报表。
设置参数
菜单栏选择 报表-参数,增加两个查询参数begin和end,类型为整数。
设置数据集
菜单栏选择报表-数据集,数据集类型选择“集算器”,在弹出的集算器数据集设置窗口中选择dfx文件,并设置传入参数,即报表的两个参数begin和end,创建数据集ds1。
这里的DFX文件路径即可以设置为绝对路径也可以使用相对路径,在设计器中的相对路径是相对于工具—>选项中配置的应用资源路径而言的,在WEB端是相对于reportConfig.xml中的reportFileHome的路径而言的。
编辑报表模板及表达式
在新建的报表模板中设置报表样式以及表达式,第一行为报表头,第二行为报表表达式。
A2:根据数据集ds1使用select函数取股票编码列表
B2-D2:根据A2扩展,通过取值表达式分别取得各支股票对应的交易日期、收盘价、最大上涨天数等。
展现报表
在报表设计器中,选择工具栏中的“预览报表”,即可在设计器中查看报表展现结果。
设计器预览效果
此外,集算报表设计器内置了Tomcat,允许用户将报表发布到web端查看页面效果,点击工具栏右上角的IE图标,设置报表主目录和DFX主目录(可采用默认),完成报表发布。
页面发布后预览效果
润乾集算报表使用文件数据源的示例