Etl 基于键列拆分DataStage输出

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

我有一个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
我想为每个不同的键生成一个新的文件,该文件的标题为,以从上述文件中生成以下文件:

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

虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效。