如何在 DataStage 中聚合字符串数据?

How can I aggregate string data in DataStage?

我有以下数据进入 DataStage:

customernumber hometelephone mobiletelephone
1234 NULL 07123456
1234 0120202 NULL

我想要的是:

customernumber hometelephone mobiletelephone
1234 0120202 07123456

我认为很简单,只需使用聚合器 - 事实上这在某种程度上确实有效。但是,它将字符串转换为浮点数,然后再次转换回字符串,导致我的 phone 数字变为 7.1235e+06(或类似)。

是否有其他方法可以获取字符串的最大值?

我想要的东西在 SQL 中很容易:

SELECT customernumber, MAX(hometelephone), MAX(mobiletelephone) FROM <input> GROUP BY customernumber;

这个问题有两种选择:

  • 聚合器阶段:使用属性“默认为十进制输出”以获得十进制输出。可以找到详细信息 here。转换数据类型没有错
  • Transformer:聚合也可以在 Transformer 阶段完成,方法是使用 LastRowInGroup 检测组变化。