需要为重复值生成新序列

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

输入

Name region
abc india
def austrila
ghi india
jkl austrila

输出是

Name region glr_code
abc india 001india
def austrila 001austrila
ghi india 002india
jkl austrila 002austrila

需要获得唯一的重复值,任何线索都可以提供帮助

informatica-powercenter
1个回答
0
投票

这是SQL中

row_number() over (partition by ...)
的经典问题。所以,

选项 1 - 您可以使用源限定符中的任何 SQL 来执行此操作。

选项 2 - 您需要使用排名变换。

在排名转换中,选择

GroupBy
= 分区依据
rank
= 排序依据。在属性中分别选择顶部/底部作为降序/升序。
number of ranks
= 每个分区中您期望的记录数
maximum number
。估计区域数加 100 并设置此值。

输出-

RankIndex
是行号。在排名后使用表达式转换将其与 Region 连接起来。

您的映射将如下所示 -

SRC-->SQ --> EXP--> RNK--> EXP--> TGT
© www.soinside.com 2019 - 2024. All rights reserved.