如何聚合 IBM InfoSphere DataStage 中按给定 ID 分组的多行中的字符串

问题描述 投票:0回答:1

我得到了一张公司员工出席情况的表格。数据应从具有逗号分隔值的顺序文件中提取。

ID 平日 出席率
1 星期一
2 星期一
3 星期一 没有
4 星期一
1 星期二
2 星期二 没有
3 星期二
4 星期二

ID 列有员工 ID,Weekday 和 Attendence 列有确切的含义。我想计算员工出现了多少天,我希望他参加的天数作为逗号分隔列表。像下面

ID Weekday_List Attendenc_Count
1 周一、周二 2
2 星期一 1
3 星期二 1
4 周一、周二 2
etl datastage ibm-infosphere
1个回答
0
投票

这可以通过转换器阶段完成,因为聚合器阶段不支持连续聚合。

您可以使用阶段变量或变压器循环来做到这一点。 here 所示的循环示例可以更改为执行连接。

如果您决定在没有循环的情况下尝试它,您需要:

  • 变压器的分类和分区输入
  • 使用 LastRowInGroup() 在每个 ID 后重置字符串(和第二阶段变量)
© www.soinside.com 2019 - 2024. All rights reserved.