如何获取tmap中列的值之和?

问题描述 投票:1回答:1

我有2列-Matches(Integer),Accounts_type(String)。我想创建第三列,我要在其中获取不同账户类型所进行比赛的比例。我是Talend的新手,并且在过去的2天里都面临这个问题,并且做了很多研究,但无济于事。请帮助..

enter image description here

expression talend tmap
1个回答
1
投票

您可以这样做:enter image description here

您需要读取源数据两次(我将tFixedFlowInput_1tFixedFlowInput_2用于相同的数据)。这个想法是要计算您在tAggregateRow_1中的匹配总数,它只是对所有匹配项求和,而不是按列进行分组,然后将其用作查找。enter image description here

然后,tMap将您的源数据与计算出的总数结合起来。由于总数始终是一个记录,因此不需要任何联接列。然后,您可以根据需要简单地将“匹配数”除以“总数”。enter image description here

这是假设您在Account_type中具有唯一值;如果不这样做,则需要在源和tMap_1之间添加另一个tAggregateRow,以获取每个Account_type(按Account_type分组)的匹配总数。

© www.soinside.com 2019 - 2024. All rights reserved.