累计求和/运行时累计
场景:如下图所示,对AMOUNT字段
累计求和
![](https://i-blog.csdnimg.cn/blog_migrate/1f86b1fb7fc3d0e0fd2a58823abccd94.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5094f724c6b4df01ff023854f9729c88.png)
- 限定列-方式a
在Query Designer创建12个限定列,第1个限定列限定1月,第2个限定列限定1-2月……第12个限定列限定1-12月
![](https://i-blog.csdnimg.cn/blog_migrate/51819a9f0dfdd61c8c166b006695ff14.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6c641f6bc8785ad9a305954d355e2cdb.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a5a867762abdf20aebc912d276f131b9.png)
- 限定列-方式b
![](https://i-blog.csdnimg.cn/blog_migrate/ff65aef4afc2f76a0796158be7451924.png)
使用常数选择
![](https://i-blog.csdnimg.cn/blog_migrate/cb04a426e1832b5198a0a63e0e8026e8.png)
新建公式变量,使用替换路径,其它默认
![](https://i-blog.csdnimg.cn/blog_migrate/2c0d4df3b0812e25b8250e4b23e4e9f9.png)
新建公式
![](https://i-blog.csdnimg.cn/blog_migrate/b158b29766a918f7043ec7474be6ba5e.png)
结果
- 限定列-Current Member
![](https://i-blog.csdnimg.cn/blog_migrate/9e5dd5498ced8362f7885e5208bb3b7f.png)
使用CM变量限定日历年月
![](https://i-blog.csdnimg.cn/blog_migrate/073e6c71d5a38906495b3fe1036ac628.png)
结果
- 本地计算
![](https://i-blog.csdnimg.cn/blog_migrate/9171195fda277619f9d8cc7c7a49677d.png)
在Query Designer设置
Calculate single values As Cumulated标识
![](https://i-blog.csdnimg.cn/blog_migrate/3e90d5d8d9d7af7607cade6ffc45763d.png)
结果
*对某些前端工具不起作用
- HANA计算视图-SQL
A)方式1:
Window function
![](https://i-blog.csdnimg.cn/blog_migrate/485fd6106110a9a24b3a2efb14617cf4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7504f77be30496fa41761d37b116824a.png)
B) 方式2:子查询
![](https://i-blog.csdnimg.cn/blog_migrate/2889d48b257fa0beb0a347a95024eb98.png)
- HANA计算视图-图形
![](https://i-blog.csdnimg.cn/blog_migrate/ba0556af5b7111135b1cebf15e5f776c.png)
新建计算视图ZCV_CALMONTH_CUMULATIVE
![](https://i-blog.csdnimg.cn/blog_migrate/974389b3c39109b1c0dbf837a1d5b6e3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c7b18db70730de8a35909242f5b69181.png)
数据示例
![](https://i-blog.csdnimg.cn/blog_migrate/0cdfe60045ea12277a05b91e507b2bc5.png)
新建模型CV_RUN_TOTAL
![](https://i-blog.csdnimg.cn/blog_migrate/99c8db78094dc3e5e8a281691413eaa1.png)
Proj_Month节点
![](https://i-blog.csdnimg.cn/blog_migrate/8acf78c7f6b7b6421add4de09dcc50d0.png)
Proj_Data节点
![](https://i-blog.csdnimg.cn/blog_migrate/15c446523f9d169bb5ab5e7b8e0d6e17.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a9fa3fa7023a4ec434c1496dd0bd9a21.png)
Join_sum节点
![](https://i-blog.csdnimg.cn/blog_migrate/88b9c54359ca18e3e01f590199897245.png)
Union_1节点
![](https://i-blog.csdnimg.cn/blog_migrate/45d48f4f62c04385eb62ed59014d1d1b.png)
Aggregation节点
![](https://i-blog.csdnimg.cn/blog_migrate/07a8e7f650e4986dc47c2420811a96ba.png)
整个计算视图
![](https://i-blog.csdnimg.cn/blog_migrate/6f2a850b4baeda08daf9287389ce3559.png)
结果集
- 动态计算列
![](https://i-blog.csdnimg.cn/blog_migrate/b8d94bf9dbeba41124ff5ebc821e1f8b.png)
通过ABAP增强RSROA的方法COMPUTE_TABLE动态计算
![](https://i-blog.csdnimg.cn/blog_migrate/8de59a2ef8aed05c100c9e1011b0c874.png)
结果集(注意效率)
- 通过DTP将数据物化到模型
适用于大数据量情况
参考代码:
DATA
:
lt_rp2
TYPE
_ty_t_tg_1
,
ls_rp2
TYPE
_ty_s_tg_1
,
lv_cm2
TYPE
/bi0/oicalmonth2
,
lv_n
TYPE
/bi0/oicalmonth2
,
lv_cq1
TYPE
/bi0/oicalquart1
.
DATA
(
lv_rec
)
=
lines
(
RESULT_PACKAGE
)
+
1
.
"need to fill record field in result_package internal table.
LOOP
AT
RESULT_PACKAGE
INTO
ls_rp2
.
lv_cm2
=
ls_rp2
-
calmonth2
.
" take calmonth2, e.g. 01 for Jan, 02 for Feb and so on
lv_n
=
12
-
lv_cm2
.
" calc number of times the record should be multiplied in loop below
DO
lv_n
TIMES
.
ls_rp2
-
calmonth2
=
lv_cm2
+
sy
-
index
.
" calc corresponding month number
CONCATENATE
ls_rp2
-
calyear ls_rp2
-
calmonth2
INTO
ls_rp2
-
calmonth
.
" ... and calmonth
lv_cq1
=
ls_rp2
-
calmonth2
DIV
4
+
1
.
" calc corresponding quater number
ls_rp2
-
calquart1
=
lv_cq1
.
CONCATENATE
ls_rp2
-
calyear ls_rp2
-
calquart1
INTO
ls_rp2
-
calquarter
.
"... adn calquarter
ls_rp2
-
record
=
lv_rec
.
ls_rp2-/bic/zrt
=
'X'
.
"set field to sepatare rows with RT
APPEND
ls_rp2
TO
lt_rp2
.
lv_rec
=
lv_rec
+
1
.
ENDDO
.
ENDLOOP
.
APPEND
LINES
OF
lt_rp2[]
TO
RESULT_PACKAGE[]
.
"finally combine "in period"-dataset with RT-dataset.
![](https://i-blog.csdnimg.cn/blog_migrate/f04ed089a676f8565a6025a12827fa7f.png)