多样性数据源在报表开发中越来越常见,润乾集算报表对多样性数据源的有效支持使得这类报表开发变得非常简单,目前集算报表支持的数据源类型除传统的关系型数据库外,还支持:TXT文本、Excel、JSON、HTTP、Hadoop、mongodb等。
Excel作为一种常见的文件格式广泛存在,很多报表的数据来源于Excel。由于报表一般都带有参数,经常需要对原始数据进行分组、过滤等,都需要再编写程序代码才能满足有参数报表的查询需求。这里通过一个例子介绍集算报表使用Excel数据源制作报表的步骤。
报表说明
汽车销售记录存储在Excel中,现需要根据Excel制作报表,统计指定日期段内每个客户购买同种型号汽车的次数,结果按照客户编码升序排列。
Excel内容如下:
报表样式如下:
输入起始和结束日期,查询到的交易汇总信息:
编写计算脚本
使用集算编辑器编写脚本(p1.dfx),完成Excel文件读入,并进行分组汇总,为报表返回结果集。由于要接收报表传递的参数,首先设置脚本脚本参数:
编辑脚本内容(右侧为格子运行后结果):
A1:使用了f.importxls()将读入Excel文件;
A2:根据日期参数查询记录;
A3:按照客户编码和车辆型号分组,并统计购买次数;
A4:按照客户编码排序,为报表返回结果。
编辑报表模板
使用集算报表设计器新建报表模板,并设置参数:
设置数据集,使用“集算器”数据集类型,调用编辑好的脚本文件(p1.dfx)
其中,dfx文件路径既可以是绝对路径,也可以是相对路径,相对路径是相对选项中配置的dfx主目录的。
参数begin和end为脚本参数,b和e为报表参数,实际使用中二者可以相同。
编辑报表表达式,直接使用集算脚本返回的结果集,不再在报表中进行过滤分组,使用简单的列表表达式,完成报表制作。
可以看到,使用集算器脚本可以很方便地完成Excel文件的读取计算,而且外置的集算脚本具有可视化的编辑调试环境,编辑好的脚本还可以复用(被其他报表或程序调用)。不过,如果脚本已经调试好,而且不需要复用的时候,要维护两个文件(集算脚本和报表模板)的一致性会比较麻烦,这时候直接使用集算报表的脚本数据集就比较简单了。
在脚本数据集中可以分步编写脚本完成计算任务,语法与集算器一致,还可以直接使用报表定义好的数据源(本例并未涉及)和参数。使用脚本数据集可以这样完成:
1. 在数据集设置窗口中点击“增加”按钮,弹出数据集类型对话框,选择“脚本数据集”;
2. 在弹出的脚本数据集编辑窗口中编写脚本:
直接使用报表定义的参数b和e。
3. 报表参数设置和报表表达式,与使用集算器数据集方式一致,不再赘述。