【发布时间】:2020-08-30 08:23:28
【问题描述】:
我有 2 列 - Matches(Integer)、Accounts_type(String)。我想创建第三列,我想在其中获取不同帐户类型的比赛比例。我是 Talend 的新手,过去 2 天都面临这个问题,做了很多研究,但无济于事。请帮忙..
【问题讨论】:
标签: expression talend tmap
我有 2 列 - Matches(Integer)、Accounts_type(String)。我想创建第三列,我想在其中获取不同帐户类型的比赛比例。我是 Talend 的新手,过去 2 天都面临这个问题,做了很多研究,但无济于事。请帮忙..
【问题讨论】:
标签: expression talend tmap
您需要读取源数据两次(我使用 tFixedFlowInput_1 和 tFixedFlowInput_2 处理相同的数据)。这个想法是计算tAggregateRow_1 中的匹配总数,它只是对所有匹配项进行求和,而不是按列分组,然后将其用作查找。
tMap 然后将您的源数据与计算的总数连接起来。由于总数将始终是一条记录,因此您不需要任何连接列。然后,您只需根据需要将 Matches 除以 Total。
这是假设您在 Account_type 中具有唯一值;如果不这样做,则需要在源和 tMap_1 之间添加另一个 tAggregateRow,以获得每个 Account_type 的匹配总和(按 Account_type 分组)。
【讨论】: