我的输入是
empid salary
10 1000
20 2000
30 3000
40 5000
数据存储9.1中的所需输出是
empid salary totalsal
10 1000 11000
20 2000 11000
30 3000 11000
40 5000 11000
我找到的解决方案如下图所示。我的问题是有没有简单的方法来实现这个理想的结果,因为我无法想到任何结果。 感谢您花时间阅读本文
答案 0 :(得分:0)
这是典型的fork join示例。您将数据分叉以获取聚合并将其连接回原始数据。这也是在SQL中使用子选择的方式。 另一种选择是带环路的变压器。 你问的是一个简单的方法 - 那么什么是“简单”? 变压器只需要一个阶段而你需要更多,但另一方面,这可能更清晰,因此更容易。
简要说明如何在变压器阶段使用循环来完成此操作。
如果没有分组内容,甚至可以对整个数据进行操作。
答案 1 :(得分:0)
您可以在此处使用转换器(请注意,您正在启用转换器中的顺序访问。否则,其他分区将计算出错误的值)。 因此,现在保留一个阶段变量(让我们说svarTotSal),它将为每个记录加薪。然后,简单地在转换器输出中派生一个TOTAL_SALARY字段,并派生svarTotSal。 会的。
谢谢 苏拉卜