我有一个包含10条记录的平面文件,其中5条记录是重复记录(唯一键列:Customer_Id
和source_system
)。此平面文件必须加载到Oracle表,这是第一次加载。
如何消除其中的重复项?
答案 0 :(得分:4)
有很多方法可以解决这个问题:
答案 1 :(得分:1)
您始终可以使用聚合器转换,并按要保留的所有数据进行分组。因此,如果按所有列进行分组,那么只有那些不同的列才会出现。
答案 2 :(得分:1)
您可以使用分拣机并检查加载不同的行。
答案 3 :(得分:1)
SRC - > SQ - > SRT - > EXP - > RTR - > TGT
你来自消息来源
Col1 Col2
1 A
1 B
2 C
2 D
1 E
1 F
3 G
4 H
5我
6 J
4 K
3 L
在col1排序数据中,排序器数据看起来像这样
Col1 Col2
1 A
1 B
1 E
1 F
2 C
2 D
3 G
3 L
4 K
4 H
5我
6 J
在exp中你有两个输入端口
in_col1
in_col2
按照下面的顺序创建变量端口和输出端口
v_FLAG = IIF(v_col1 = in_col1,2,1)
v_col1 = in_col1
out_FLAG =标记v_flag
然后输出表达式数据就像这样
Col1 Col2 FLAG
1,A,1
1,B,2
1,E,2
1,F,2
2,C,1
2,D,2
3,G,1
3,L,2
4,K,1
4,H,2
5,我,1
6,J,1
在路由器中创建两个组,一个用于唯一记录,另一个用于重复记录。
独特=(FLAG = 1)
重复=(FLAG = 2)
将两个组连接到两个目标.SRC - > SQ - > SRT - > EXP - > RTR - > TGT
你来自消息来源
Col1 Col2
1 A
1 B
2 C
2 D
1 E
1 F
3 G
4 H
5我
6 J
4 K
3 L
在col1排序数据中,排序器数据看起来像这样
Col1 Col2
1 A
1 B
1 E
1 F
2 C
2 D
3 G
3 L
4 K
4 H
5我
6 J
在exp中你有两个输入端口
in_col1
in_col2
按照下面的顺序创建变量端口和输出端口
v_FLAG = IIF(v_col1 = in_col1,2,1)
v_col1 = in_col1
out_FLAG =标记v_flag
然后输出表达式数据就像这样
Col1 Col2 FLAG
1,A,1
1,B,2
1,E,2
1,F,2
2,C,1
2,D,2
3,G,1
3,L,2
4,K,1
4,H,2
5,我,1
6,J,1
在路由器中创建两个组,一个用于唯一记录,另一个用于重复记录。
独特=(FLAG = 1)
重复=(FLAG = 2)
将两个组连接到两个目标。