润乾集算报表使用json数据源的示例

JSON作为一种轻量级数据格式应用非常广泛,报表读取json数据源进行报表开发的需求也很常见。润乾集算报表可以很好支持json数据源,这里通过实例说明。

示例一

报表说明

学生成绩在应用中以json文件存在,现需要汇总学生成绩,并按总成绩排名,结果以报表展现。报表样式如下:

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

}

]

一般报表工具由于无法直接读取json文件数据,往往需要依赖自定义数据集通过其他高级语言(如Java)解析后传给报表使用。集算报表则可以通过集算器很方便完成JSON数据的读取和计算。以下为实现步骤:

编写集算器脚本

使用集算器编辑器编写脚本(fromJSON.dfx),读取json格式文件,解析内容并完成计算:

A1:使用read()以字符串格式读入json文件内容;A2:使用[email protected]()方法将json文件内容解析成序表;

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

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

新建报表

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

设置数据集

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

编辑报表模板及表达式

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

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

展现报表

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

设计器预览效果

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

页面发布后预览效果

JSON对于表达带有层次的数据结构具有较大优势,下面再来看一个例子:

示例二

报表说明

根据订单和订单明细表,列出订单信息以及每个订单下订单明细数据。报表样式如下:

JSON文件中包括订单、订单明细信息,格式如下:

[

{

"订单ID":"10248",

"订单编号": [

{

"订单ID": "10248",

"产品ID": "5",

"单价": 12,

"折扣": 0,

"数量": 1

}

],

"客户ID":"VINET",

"发货日期":"2000-07-16",

"到货日期":"1996-08-01",

"运货费": 32.38

},

{

"订单ID":"10324",

"订单编号": [

{

"订单ID": "10324",

"产品ID": "63",

"单价": 35.1,

"折扣": 0.150000005960464,

"数量": 80

}

],

"客户ID": "SAVEA",

"发货日期":"1996-10-10",

"到货日期":"1996-11-05",

"运货费": 214.27

},

{

"订单ID":"10325",

"订单编号": [

{

"订单ID": "10325",

"产品ID": "6",

"单价": 20,

"折扣": 0,

"数量": 6

},

{

"订单ID": "10325",

"产品ID": "13",

"单价": 4.8,

"折扣": 0,

"数量": 12

},

{

"订单ID": "10325",

"产品ID": "14",

"单价": 18.6,

"折扣": 0,

"数量": 9

},

{

"订单ID": "10325",

"产品ID": "31",

"单价": 10,

"折扣": 0,

"数量": 4

},

{

"订单ID": "10325",

"产品ID": "72",

"单价": 27.8,

"折扣": 0,

"数量": 40

}

],

"客户ID":"KOENE",

"发货日期":"1996-10-14",

"到货日期":"1996-10-23",

"运货费": 64.86

},

......

{

"订单ID":"10399",

"订单编号": [

{

"订单ID": "10399",

"产品ID": "68",

"单价": 10,

"折扣": 0,

"数量": 60

},

{

"订单ID": "10399",

"产品ID": "71",

"单价": 17.2,

"折扣": 0,

"数量": 30

},

{

"订单ID": "10399",

"产品ID": "76",

"单价": 14.4,

"折扣": 0,

"数量": 35

},

{

"订单ID": "10399",

"产品ID": "77",

"单价": 10.4,

"折扣": 0,

"数量": 14

}

],

"客户ID":"VAFFE",

"发货日期":"1997-01-08",

"到货日期":"1997-01-14",

"运货费": 27.36

},

{

"订单ID":"10400",

"客户ID": "EASTC",

"发货日期":"1997-01-16",

"到货日期":"1997-01-29",

"运货费": 83.93

}

]

编写集算器脚本

读入JSON格式文件,并将结果以序表形式为报表返回结果集。其中,A2为读入JSON数据后带有层次的结果集,该结果集可以直接供报表使用。

报表设计

上述带有层次的结果集在报表中以层次数据集的形式存在

报表模板及表达式如下:

B1中使用第一层数据集ds1取得订单ID,D1、F1、B2等跟随B1直接从ds1中取值,取得所有订单信息;B5则根据第二层数据集ds1.订单编号取订单明细中的产品ID,和C5、D5等获得所有该订单的明细数据。设置所有单元格的左主格均为B1。通过集算器读入带有层次的JSON文件,报表直接使用无需再进行关联。

展现效果

页面展现效果

润乾集算报表使用json数据源的示例

时间: 2024-08-25 20:24:44

润乾集算报表使用json数据源的示例的相关文章

润乾集算报表使用EXCEL数据源的示例

Excel作为一种常见的文件格式广泛存在,很多报表的数据来源于Excel.集算报表可以直接使用Excel作为数据源来开发报表.这里通过一个实例说明集算报表实现过程. 报表描述 基金公司的股票信息以每月一个Excel存储,命名方式为:stock_yyyyMM.xls.先需要查询一定周期内各支股票的最高最低收盘价,以及创下最高或最低收盘价的交易日期. 报表样式如下: 实现步骤 编写脚本 首先使用集算器完成Excel文件读取和数据计算,编写脚本(fromExcel.dfx). A1通过传入的起始结束月

润乾集算报表使用文件数据源的示例

文件作为报表数据源的情况很常见,润乾集算报表可以很好地支持这一点,下面通过一个实例说明. 报表描述 数据文件为每个月个月的股价信息(每个月一个文件,文件命名方式为"stock_record_yyyyMM",如:stock_record_200901.txt.stock_record_200902.txt-),包括每只股票的股票编码.交易日期和收盘价,报表参数为起始年月和结束年月,需要查询该时间段内各只股票最长连续上涨天数,以及创下最长连续上涨天数记录当天的日期以及收盘价. 报表格式如下

润乾集算报表多样性数据源之json

多样性数据源在报表开发中越来越常见,润乾集算报表对多样性数据源的有效支持使得这类报表开发变得非常简单,目前集算报表支持的数据源类型除传统的关系型数据库外,还支持:JSON.HTTP.TXT文本.Excel.Hadoop.mongodb等. JSON作为一种轻量级数据格式应用非常广泛,报表读取json数据源进行报表开发的需求也很常见,另外有些报表还会接收来自HTTP服务器的数据进行报表展现.这里通过例子分别来看一下集算报表使用json数据源和http数据源的过程. 一般JSON数据源 报表说明 学

润乾集算报表多样性数据源之Excel

多样性数据源在报表开发中越来越常见,润乾集算报表对多样性数据源的有效支持使得这类报表开发变得非常简单,目前集算报表支持的数据源类型除传统的关系型数据库外,还支持:TXT文本.Excel.JSON.HTTP.Hadoop.mongodb等. Excel作为一种常见的文件格式广泛存在,很多报表的数据来源于Excel.由于报表一般都带有参数,经常需要对原始数据进行分组.过滤等,都需要再编写程序代码才能满足有参数报表的查询需求.这里通过一个例子介绍集算报表使用Excel数据源制作报表的步骤. 报表说明

润乾集算报表多样性数据源之mongodb

多样性数据源在报表开发中越来越常见,润乾集算报表对多样性数据源的有效支持使得这类报表开发变得非常简单,目前集算报表支持的数据源类型除传统的关系型数据库外,还支持:TXT文本.Excel.JSON.HTTP.Hadoop.mongodb等. mongodb等nosql数据库具有易扩展和高性能等优势,但计算能力比传统SQL要弱(如mongodb的分组结果不能太大,且不直接支持join运算等),而集算报表内置的计算引擎再正好可以补充这一点,在获得mongodb的优势的同时还拥有较强的计算能力. 这里通

润乾集算报表多样性数据源之文本文件

多样性数据源在报表开发中越来越常见,润乾集算报表对多样性数据源的有效支持使得这类报表开发变得非常简单,目前集算报表支持的数据源类型除传统的关系型数据库外,还支持:TXT文本.Excel.JSON.HTTP.Hadoop.mongodb等. 这里通过两个例子介绍集算报表使用文本数据源制作报表的步骤,对于小文本文件和大文本文件在集算报表中可以采用不同的方式进行处理. 小文本文件 报表说明 股票交易记录按月以文本形式存储,文件名为stock_record_yyyyMM.txt(如stock_recor

润乾集算报表多样性数据源之Hadoop

多样性数据源在报表开发中越来越常见,润乾集算报表对多样性数据源的有效支持使得这类报表开发变得非常简单,目前集算报表支持的数据源类型除传统的关系型数据库外,还支持:TXT文本.Excel.JSON.HTTP.Hadoop.mongodb等. 对于Hadoop,集算报表既可以直接访问Hive,也可以读取HDFS中的数据,完成数据计算和报表开发.Hive的访问和普通数据库一样使用JDBC就可以,这里不再赘述了.下面通过一个例子来看直接访问HDFS的过程. 报表说明 股票交易记录按月以文本形式存储在HD

润乾集算报表多样性数据源之多结果集

多样性数据源在报表开发中越来越常见,润乾集算报表对多样性数据源的有效支持使得这类报表开发变得非常简单,目前集算报表除了支持不同类型的数据源(RDB.TXT文本.Excel.JSON.HTTP.Hadoop.mongodb)外,还支持在一个数据集中为报表返回多个结果集使用,这样可以有效避免重复运算,提升报表开发效率和运算性能.下面通过一个实例说明多结果集的使用过程. 报表说明 根据学生成绩表查询总成绩前三名和后三名的学生姓名以及总成绩.报表样式如下: 由于要分别显示前三名和后三名学生姓名和成绩,报

润乾集算报表多样性数据源之混合多源

多样性数据源在报表开发中越来越常见,润乾集算报表对多样性数据源的有效支持使得这类报表开发变得非常简单,目前集算报表支持的数据源类型除传统的关系型数据库外,还支持:TXT文本.Excel.JSON.HTTP.Hadoop.mongodb等. 在集算报表中除了单独使用以上数据源,还可以混合使用.支持混合多数据源是集算报表多样性数据源的又一表现.下面通过一个实例说明使用过程. 报表说明 员工每月应发工资跟员工的基本工资.考勤以及绩效有关,考勤信息来源于人力部门从考勤系统中导出的文本文件,基本工资和绩效