0

我有一个 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 生成一个带有标题的新文件,以从上述文件中生成以下文件:

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 中完成吗?如果是这样,处理阶段是什么?

4

2 回答 2

0

不知道这是否有帮助...您可以使用转换器...并将所有输出列创建为 Varchar。在键更改时添加列名称并始终将先前的值传递给输出。

如果您需要更多信息,请告诉我

于 2014-07-29T02:46:54.427 回答
0

我将执行命令阶段与以下 awk 语句一起使用,其中 key 为 $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
于 2014-08-08T15:52:10.940 回答