如何在PDI上连接字符串?

时间:2012-10-11 16:48:28

标签: time etl aggregation pentaho kettle

我有一个PDI(Kettle)作业,用小时,分钟和秒列填充dim_time表。

我想创建第四个(聚合的)列,其中包含给定时间的表示,如HH:MM:SS,我该如何在PDI上执行此操作?

1 个答案:

答案 0 :(得分:2)

有很多方法可以做到这一点。如果您希望将第四列作为字符串,则可以使用此“仅点击”解决方案:

插入Calculator步骤并插入字段如下:


  • 新字段: h1
  • 计算:创建字段A的副本
  • 字段A:小时
  • 字段B:
  • 值类型:字符串
  • 删除: Y
  • 转换掩码: 00:

  • 新字段: m1
  • 计算:创建字段A的副本
  • 字段A:分钟
  • 字段B:
  • 值类型:字符串
  • 删除: Y
  • 转换掩码: 00:

  • 新字段: s1
  • 计算:创建字段A的副本
  • 字段A:第二
  • 字段B:
  • 值类型:字符串
  • 删除: Y
  • 转换掩码: 00 (请注意,此处没有“:”)

  • 新字段: t1
  • 计算: A + B
  • 字段A: h1
  • 字段B: m1
  • 值类型:字符串
  • 删除: Y
  • 转换掩码:

  • 新字段: time_string
  • 计算: A + B
  • 字段A: t1
  • 字段B: s1
  • 值类型:字符串
  • 删除 N (请注意,请选择N,否则您的所需字段不会添加到流中)
  • 转换掩码:

这应该就是你所需要的。可能有使用javascript的方法,但你需要编码并找到正确的字符串格式化函数。