如何通过 Informatica PowerCenter 从文件名中提取多个值作为多列数据?
How to extract multiple values as multiple column data from filename by Informatica PowerCenter?
我是 Informatica PowerCenter 的新手,刚开始学习。寻求帮助。我的要求是:我必须从平面文件(CSV 文件)中提取数据并将数据存储到 Oracle Table。目标table的某些列值应该来自提取文件名。
例如:
我的目标 Table 如下所示:
USER_ID Program_Code Program_Desc 访问日期期限
EACRP00127 ER 特别访问 08/02/2015 2015 年 8 月
我输入的文件名是:2015 年 8 月 ER 特别访问 EACRP00127.csv
从这个文件名中,我必须从 CSV 文件中提取“AUG 2015”作为术语,“ER Special Visits”作为 Program_Desc,“EACRP00127”作为 Program_Code 以及其他一些字段。
我找到了一种使用“当前处理的文件名”的解决方案。但是有了这个我就可以从文件名中获得一个值。如何从文件名中提取 3 个值并存储在目标 table 中?寻找解决方案的一些线索。谢谢。
使用表达式转换,您可以从当前处理的文件名列中创建三个输出值。
因此,您使用此字段 'Currently Processed Filename' 从 SQ 获取文件名。然后你可以对整个字符串进行子字符串化以获得你想要的。
input/output = Currently Processed Filename
o_Term = substr(Currently Processed Filename,1,9)
o_Program_Desc = substr(Currently Processed Filename,10,18)
o_Program_Code = substr(Currently Processed Filename,28,11)
我是 Informatica PowerCenter 的新手,刚开始学习。寻求帮助。我的要求是:我必须从平面文件(CSV 文件)中提取数据并将数据存储到 Oracle Table。目标table的某些列值应该来自提取文件名。
例如: 我的目标 Table 如下所示:
USER_ID Program_Code Program_Desc 访问日期期限
EACRP00127 ER 特别访问 08/02/2015 2015 年 8 月
我输入的文件名是:2015 年 8 月 ER 特别访问 EACRP00127.csv
从这个文件名中,我必须从 CSV 文件中提取“AUG 2015”作为术语,“ER Special Visits”作为 Program_Desc,“EACRP00127”作为 Program_Code 以及其他一些字段。 我找到了一种使用“当前处理的文件名”的解决方案。但是有了这个我就可以从文件名中获得一个值。如何从文件名中提取 3 个值并存储在目标 table 中?寻找解决方案的一些线索。谢谢。
使用表达式转换,您可以从当前处理的文件名列中创建三个输出值。 因此,您使用此字段 'Currently Processed Filename' 从 SQ 获取文件名。然后你可以对整个字符串进行子字符串化以获得你想要的。
input/output = Currently Processed Filename
o_Term = substr(Currently Processed Filename,1,9)
o_Program_Desc = substr(Currently Processed Filename,10,18)
o_Program_Code = substr(Currently Processed Filename,28,11)