从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这篇文章给大家介绍BIRT中文本与 JSON 关联该怎么做,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
成都创新互联公司成立与2013年,先为鸡西等服务建站,鸡西等地企业,进行企业商务咨询服务。为鸡西企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
BIRT对于两个数据源的联合提供了Joint DataSet的解决方案,它具有图形化的操作界面,可以完成简单的内外关联,但功能非常局限(几乎没有二次计算的能力,Join 后再计算只限于简单查询和固定查询,难以实现自由的组合查询和变量查询,更不能进行分组汇总再过滤这类多步骤计算)。
BIRT虽然支持CSV/TXT等文件作为数据源,但不能构建JSON数据源,一些开源社区提供了解析JSON数据源插件,几乎所有插件都非常底层,使用起来很不方便。
从能力上讲,只有自定义数据源可以完整的解决这个问题,但BIRT JAVA bean data source这种硬编码方式比较复杂,工作量巨大。
比如要处理这么个场景:sales.txt是tab分割的结构化文本,city.json是非结构化的JSON串,sales.txt的第2列和city.json的部分文本存在外键关系,需要将两个文件连接为二维表。示意图如下:
建议使用集算器,它是独立的数据计算引擎,拥有不依赖于数据库的计算能力,可以从多种多样的文件获取数据并混合关联运算,事实上,可以把集算器看作是语法更简单的BIRT JAVA bean data source。比如实现上面的问题,集算器脚本只需5行:
A | |
1 | =json(file("/workspace/city.json").read()) |
2 | =A1.new(name,#1.(#1):desc,(firstblank=pos(desc," "),left(desc,firstblank-1)):key,right(desc,len(desc)-firstblank):value) |
3 | =file("/workspace/sales.txt").import@t() |
4 | =join(A3:sales,#2;A2:city,key) |
5 | =A4.new(sales.OrderID,sales.Client,sales.Amount,sales.OrderDate,city.name,city.value) |
关联之后还能更方便地实施计算,比如:统计每个城市的销售额;只需在此基础上增加1行:=A5.groups(name;sum(Amount):amount)
关于BIRT中文本与 JSON 关联该怎么做就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图