如何动态创建目标文件,如果 Deptno=10 则创建目标文件为 DEPT10.txt,如果 Deptno=20 则创建目标文件为 DEPT20.txt,如果 Deptno=30 则创建目标文件为 DEPT30.txt
问问题
1035 次
1 回答
2
您可以通过在 Informatica 中执行以下步骤来实现此目的。
- 在目标“将文件名列添加到此表”中添加一个名为 out_file_name 的列。
- 用户排序器按部门 ID 排序。
- 然后使用表达式转换。在表达式转换中创建以下端口并分配表达式。这里 v_* 是变量端口,o_ 是输出端口。
v_curr_dept_id= dept_id
v_flag = IIF(v_curr_dept_id=v_prev_dept_id,0,1)
v_prev_dept_id = dept_id
o_flag = v_flag
o_file_name = dept_id||'.txt'
- 现在使用事务控件创建不同的文件。
IIF(o_flag = 1, TC_COMMIT_BEFORE, TC_CONTINUE_TRANSACTION)
- 在步骤 1 中将 o_file_name 链接到列 out_file_name。相应地链接其他列。
整个映射应该是这样的 -
SQ.... SRT > EXP > TXN >TGT
于 2021-03-22T15:30:33.930 回答