如何实现累积功能

例题描述和简单分析

有数据库表SAMPLE,数据如下所示:

DATE

VALUE

2000-01-01

1

2000-01-02

2

2000-01-03

3

2000-01-04

4

需要在新列CUM 中计算 VALUE 的累积值,结果如下所示:

DATE

VALUE

CUM

2000-01-01

1

1

2000-01-02

2

3

2000-01-03

3

6

2000-01-04

4

10

解法及简要说明

在集算器中编写脚本p1.dfx,如下所示:


A

1

=connect("demo")

2

=A1.query@x("SELECT * FROM   SAMPLE")

3

=A2.derive(VALUE+CUM[-1]:CUM)

简要说明:

A1   连数据源为 demo 的数据库

A2  返回查询结果所组成的序表,结束时自动关闭数据库连接

A3   添加计算列 CUM,计算 VALUE 的累积值

BIRT 集成这段代码的方法可参考:BIRT 如何调用 SPL 脚本》

问答搜集

https://www.eclipse.org/forums/index.php/t/1090404/