首页 > 代码库 > 润乾集算报表使用远程HTTP数据源的示例

润乾集算报表使用远程HTTP数据源的示例

报表的数据来源多种多样,有时会接收来自HTTP服务器的数据进行报表展现,一般报表工具只能通过报表自定义数据源使用高级语言(如JAVA)进行处理,实现较为复杂。集算报表简单地通用集算器接收HTTP数据源完成报表展现。这里通过一个实例说明。

    学生成绩信息存储在远程的JSON格式文件中,其所在HTTP服务器对外提供统一HTTP访问接口,现需要读取学生成绩信息开发报表,汇总学生成绩并按总成绩排名。报表样式如下:

wKiom1PQnm6z1w21AACN4P_kmCg622.jpg

JSON文件中包含班级、编号、姓名、学科、成绩等信息,格式如下:

[

    {

       "class": "Class one",

       "id": 1,

       "name": "Emily",

       "subject": "English",

       "score": 84

   },

    {

       "class": "Class one",

       "id": 1,

       "name": "Emily",

       "subject": "Math",

       "score": 77

   },

 

   ......

 

    {

       "class": "Class one",

       "id": 7,

       "name": "Nicholas",

       "subject": "PE",

       "score": 60

    }

]

 

以下为实现步骤。

编写集算器脚本

首先使用集算器读取远程HTTP文件,并计算结果

wKiom1PQnm-AFQ6KAADGIM3tflg290.jpg

A1:通过httpfile函数读取远程HTTP文件score.json

A2:以字符串格式读入json格式文件后,使用import@j()json串解析成序表;

A3:对学生ID分组,在A4中汇总总成绩;

A5:按照总成绩降序排列,并通过A7result为报表返回结果集

需要指出的是,httpfile参数中的URL串指向任何HTTP服务器,如某个servlet,这样可以访问带有参数的WEB服务返回的数据,比如:

httpfile(“http://192.168.1.101:6001/demo/Servlet?action=4&name=report1&excelFormat=2003”,GBK)

返回的结果是Excel。当然,返回的结果可以是普通格式的文本(如csv),也可以是json串或xml串,集算器都可以处理。

新建报表

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

设置数据集

菜单栏选择报表-数据集,数据集类型选择集算器,在弹出的集算器数据集设置窗口中选择dfx文件,创建数据集ds1

wKiom1PQnnPCDmuoAADy3wKWKX4620.jpg

编辑报表模板及表达式

报表模板第一行为报表头,第二行为表达式。

wKioL1PQn47S_WyPAABpyRV3-vc250.jpg

通过B2取学生编号列表,C2D2根据B2扩展取值姓名和总成绩,A2中排名使用&B2表达式并设置其左主格为B2可以实现排名。

展现报表

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

wKiom1PQnnWhYdpQAACUiCBNGOc811.jpg

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

wKioL1PQn5Cz_HmGAAEQixYi3PY712.jpg