[英]How to implement cumulative sum for specific group in informatica
I have below data set 我有以下数据集
ESN | DATE | SV_NO
123 | 22-NOV | 2
123 | 23-NOV | 2
123 | 25-NOV | 3
123 | 27-NOV | 2
123 | 27-NOV | 3
123 | 28-NOV | 4
123 | 28-NOV | 2
124 | 21-NOV | 0
124 | 23-NOV | 3
124 | 24-NOV | 3
124 | 25-NOV | 2
124 | 27-NOV | 2
124 | 28-NOV | 3
124 | 30-NOV | 0
and I want to achieve below output using informatica . 我想使用informatica实现以下输出。 All data is sorted based on
ESN
and DATE
. 所有数据均基于
ESN
和DATE
进行排序。 I have to calculate the SUM
on the basis of ESN
and SV_NO
0.11 value is stored in one variable port. 我必须基于
ESN
和SV_NO
0.11值存储在一个可变端口中来计算SUM
。
ESN | DATE | SV_NO | SUM
123 | 22-NOV | 2 | 0.11
123 | 23-NOV | 2 | 0.22
123 | 25-NOV | 3 | 0.11
123 | 27-NOV | 2 | 0.33
123 | 27-NOV | 3 | 0.22
123 | 28-NOV | 4 | 0.11
123 | 28-NOV | 2 | 0.44
124 | 21-NOV | 0 | 0.11
124 | 23-NOV | 3 | 0.11
124 | 24-NOV | 3 | 0.22
124 | 25-NOV | 2 | 0.11
124 | 27-NOV | 2 | 0.22
124 | 28-NOV | 3 | 0.33
124 | 30-NOV | 0 | 0.22
Please provide me the proper solution for this. 请为此提供适当的解决方案。
First sort the data by ESN and SV_NO. 首先按ESN和SV_NO对数据进行排序。 Then in an Expression transformation, do the following:
然后在表达式转换中,执行以下操作:
ESN: <-- I/O port
DATE: <-- I/O port
SV_NO: <-- I/O port
v_CONST:=0.11
v_SUM:= IIF(ESN = v_prev_ESN AND SV_NO=v_prev_SV_NO, v_SUM+v_CONST, v_CONST)
o_SUM:= <-- Output port
v_prev_ESN:= ESN
v_prev_SV_NO:= SV_NO
Now, again sort the data by ESN and DATE before loading the target 现在,再次在加载目标之前按ESN和DATE对数据进行排序
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.