• 博客(14)
  • 收藏
  • 关注

原创 解决 Jasper 等报表工具制作报表中的几个难题

在制作业务报表时,经常会遇到一些单独依靠报表工具难以解决的问题。本文将针对几个 Jasper 报表工具用户在国外论坛中提出的现实问题,介绍如何用集算器 SPL 语言加以解决的方案。这里的解决方案其实并不仅适用于 Jasper,对其它报表工具也同样适用。1. 计算账户各期余额数据文件 data.csv 存储着某账户各期资金存取情况,在已知账户初始余额为 43 的情况下,需要根据...

2019-06-24 10:14:04 444

原创 SPL 简化 SQL 案例详解:分组关联

在数据库应用开发中,我们经常需要面对复杂的SQL式计算,比如多层分组中的关联计算。在SQL中,分组必须同时进行汇总计算,并且不能进行对象式关联访问,因此处理这类问题会比较复杂,只能用窗口函数嵌套多层子查询这类高级技巧来实现。而本文要介绍的SPL能够支持真正的分组,进行直观的对象式关联访问,从而解决这类问题更加容易。分组关联在实际业务中遇到的很多,下面以实际业务为蓝本设计一个比较通用的例子,以此...

2019-06-24 09:56:59 489

原创 mongodb 分组 topN

来源:https://groups.google.com/forum/#!topic/mongodb-user/Rjv6lyUCe1s【摘要】MongoDB 对于 TopN 功能的需求使用其 shell 脚本来实现有些复杂,而集算器 SPL 语言,则因其离散性、灵活性恰好能弥补 MongoDB 实现方面的不足。若想了解更多,请前往乾学院:mongodb 分组 topN!...

2019-06-24 09:45:19 231

原创 SPL 简化 SQL 案例详解:多级关联

在数据库应用开发中,我们经常需要面对复杂的SQL式计算,多级关联就是其中一种。SQL的join语句比较抽象,只适合表达简单的关联关系,一旦关联的层级较多,相应的代码就会变得非常复杂。而SPL则可以利用对象引用来表达关联关系,从而使代码更加直观,下面就用一个例子来加以说明。表channel存储着某网站所有的频道及其上级频道的对应关系,分别用ID和PARENT字段来表示,最多四级,其中root代表...

2019-06-24 09:43:18 627

原创 SPL 分组优化技巧

1. 常规分组当分组聚合的结果集不大时,可以使用groups。例如有学生成绩表存储在集文件中,表结构如下:Scores class studentID subject score …… 现在计算每个学生的总分数: A 1 =file("scores.btx").import@b() 2 =A1.groups(stude...

2019-06-24 09:33:30 257

原创 Birt 如何实现不规则月份统计

业务报表中,常常需要基于时间段进行分组统计,特别是按月份分组统计。一般情况如果按自然月就简单了,但有时候也会需要按不规则月份来分组。例如,某企业从 1 月 16 日开始实行某种特殊的价格策略或营销活动,因此以后都想以每月 16 号为界来统计产品销售情况。这里所谓不规则月份就是指: 如果起始时间是 2013-01-16,则将 2013-01-16 到 2013-02-15 作为一组,将 2013-0...

2019-06-24 09:21:38 136

原创 提效报表开发的通用工具

报表是很多 web 应用系统不可缺少的模块,仍然是绝大多数 BI 项目的基础功能。随着数据时代的到来,数据来源越来越多样 (text,excel,monogdb,redis,es…),为报表数据准备带来了挑战,传统做法还是先将库外数据到数据库里,再利用数据库的计算能力(写 SQL 或存储过程)为报表准备数据。因依赖前置导入,报表实时性得不到保障,报表开发流程也被拉长,随着报表需求与日俱增,数据库也...

2019-06-24 09:16:38 231

原创 解决 Birt 等报表工具制作报表的几个难题

在上一篇《Birt 如何实现不规则月份统计》中,我们讲解了如何帮助 Birt 制作这种报表的详细过程,在本文中我们再继续讨论几个类似的制作难题,并把说明集中在如何编写集算器 SPL 脚本上,不再赘述如何在 Birt 中引入 SPL 的步骤了。1. 组内跨行计算组内跨行计算是指在计算一行中某个计算列的值时,需要引用到组内其它行的数据来进行计算。比如下面这个例子:库表 sam...

2019-06-03 17:53:24 617

原创 比较 csv 文件中数据差异

csv文件存储数据时在结构上基本和一个数据库表相当,不过因为读写方便,所以使用频率很高,例如输出一些临时结果,或者持续记录类似日志形式的数据。不过,当需要对这些数据进一步处理时,如果还要先导入数据库,那么csv本身的便利性也就没有了。事实上,通过集算器,可以直接对csv文件进行处理,而且还可以进行一些“高级”操作,就像本文要介绍的比较两个csv文件的差异。 假设在一个简单的...

2019-06-03 17:42:33 1877

原创 SPL 的集合思维

和传统的程序设计语言不同,SPL中集合的应用非常普遍,实际上最常见的序列和序表等本质上都是集合,可以对它们进行真正的集合运算,从而大幅度提高开发效率和代码性能。因此,在使用SPL时,需要特别重视对集合概念的理解。1 SPL中的序列与集合SPL中,序列如同整数、字符串一样是非常常用的基本数据类型,也能进行相应的基本运算。从集合角度出发,SPL提供了两个集合A、B的交、并、联、差等基本运算符:...

2019-06-03 17:26:48 163

原创 SAP 系统大数据量资产负债表的性能优化案例

【摘要】有了固定报表工具之后,这类格式复杂、指标参数任意组合的需求并不难实现,只是原始数据量一大,查询就会非常慢,用户体验变的极差,当多并发请求时,甚至还会对正常业务产生影响!而集算器面对这类问题,却是一把好刀!赶快去乾学院看个究竟吧!SAP 系统大数据量资产负债表的性能优化案例【下载附件】SAP 系统大数据量资产负债表的性能优化案例...

2019-06-03 17:19:06 416

原创 集算器多维分析服务器方案

【摘要】随着数据量的增加,用普通数据库作为多维分析服务器的响应速度越来越差,用户等待时间越来越长。如果采用预汇总方案提速,又需要巨大的存储空间而且存在很多功能盲区。点击集算器多维分析服务器方案,去乾学院看看集算器多维分析服务方案如何解决这些问题!预计阅读时间 5 分钟。点击下载方案 PDF 文件...

2019-06-03 17:12:19 168

原创 高性能数据仓库

【摘要】作为高性能计算数据仓库,SPL Server 可以在离线跑批、在线查询、多维分析和内存计算 4 个方面提供高效的计算输出,帮助用户解决由于性能带来的这些问题:1. 半夜跑批跑不完,出错了来不及再来;2. 看个报表等 10 分钟,业务人员拍桌子;3. 关联统计运算慢,界面拖拽迟钝;预汇总方案占用空间太大且功能盲区多;4. 花了很多钱上了内存数据库,结果性能还是不理想…面对这些问...

2019-06-03 17:06:53 188

原创 性能优化技巧 - 遍历

【摘要】数据分析场景中,充斥着聚合运算,常见的有求和、计数、均值、最大最小值等等,想要得到正确的结果值,遍历技术必不可少,如何更加高效地对数据进行遍历?点击:性能优化技巧 - 遍历,来乾学院一探究竟!1. 存储方案集文件是行存方式,组表有行存和列存两种方式。两种格式都有一定压缩效果。首先,我们来建立一个的普通的文本文件,并在该文件中生成一些数据,代码如下: A ...

2019-06-03 16:59:54 567

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除