Etl 基于键列拆分DataStage输出
我有一个DataStage(8.5)作业,它生成一个CSV文件,如下所示:Etl 基于键列拆分DataStage输出,etl,datastage,Etl,Datastage,我有一个DataStage(8.5)作业,它生成一个CSV文件,如下所示: Key Date Amount A 2014-07-24 $100 A 2014-07-23 $120 B 2014-07-24 $320 C 2014-07-24 $20 C 2014-07-23 $100 C 2014-07-22 $30 我想为每个不同的键生成一个新的文件,该文件的标题为,以从上述文件中生成以下文件: Ke
Key Date Amount
A 2014-07-24 $100
A 2014-07-23 $120
B 2014-07-24 $320
C 2014-07-24 $20
C 2014-07-23 $100
C 2014-07-22 $30
我想为每个不同的键生成一个新的文件,该文件的标题为,以从上述文件中生成以下文件:
Key Date Amount
A 2014-07-24 $100
A 2014-07-23 $120
Key Date Amount
B 2014-07-24 $320
Key Date Amount
C 2014-07-24 $20
C 2014-07-23 $100
C 2014-07-22 $30
每个键的记录数以及键值本身将根据作业的执行时间而变化
这可以在DataStage中完成吗?如果是,处理阶段是什么?不知道这是否有帮助。。。
你可以使用变压器。。。并将所有输出列创建为Varchar。
在键更改时,添加列名称并始终将以前的值传递给输出
如果您需要更多信息,请告诉我我在执行命令阶段使用了以下awk语句,其中键为$16:
awk -F "\",\"" 'NR==1 { hdr=$0; next } $16 != prev { prev=name=$16; gsub(/[^[:alnum:]_]/,"",name); $0 = hdr "\n" $0 } { print > ("/Directory/"name"_FILE.csv") }' /Directory/SOURCE_FILE.csv
虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效。