温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

BIRT交叉表中自由格间运算如何做

发布时间:2022-01-15 15:16:14 来源:亿速云 阅读:106 作者:柒染 栏目:大数据

BIRT交叉表中自由格间运算如何做,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

比如要处理这么个场景:

1、根据明细记录完成交叉表。

2、在交叉表上统计每行的小计(中间过程)。

3、计算交叉表中每个值占小计的百分比。

计算流程如下图所示:

BIRT交叉表中自由格间运算如何做

BIRT等工具都会提供一些计算列的功能,可以在原始数据基础上再计算出一些别的列值或统计值,所以很容易实现前面2步。但由于传统工具(包含BIRT)没有很好的运算后报表数据项命名机制(一般用列名命名设计阶段的数据单元),很难精确描述数据引用关系,只能写出规律性很强的表达式,而随意的独立格运算就使传统工具难以处理。

常见的解决办法就是写自定义数据集(复杂SQL或scripted data sources),把数据事先计算好后再塞入到报表格子中。但自定义数据集方式,代码非常麻烦,工作量大。

如果使用集算器则会简单很多,其丰富的集合运算可以方便地完成这类计算,比scripted data sources代码要短,比SQL写起来更简单,比如类似的计算在集算器里可以这样写:


A

1

=myDB.query@x("select * from record")

2

=A1.pivot(time;department,count)

3

>A2.run(t=Admin+Finance+Management,Admin=string(Admin/t,"0.00%"),Finance=string(Finance/t,"0.00%"),Management=string(Management/t,"0.00%"))

4

return A2

其实还有很多类似的计算问题在BIRT中处理不太方便,但有集算器SPL的辅助却很简单。

集算器提供了JDBC驱动,可以很方便的与BIRT等报表工具集成, BIRT调用SPL脚本有使用和获得它的方法。

看完上述内容,你们掌握BIRT交叉表中自由格间运算如何做的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI