Time 如何在PDI上连接字符串?

Time 如何在PDI上连接字符串?,time,etl,aggregation,pentaho,kettle,Time,Etl,Aggregation,Pentaho,Kettle,我有一个PDI(Kettle)工作,它用小时、分钟和秒列填充dim_时间表 我想创建第四个(聚合)列,其中包含给定时间的表示形式,如HH:MM:SS,我如何在PDI上做到这一点?有很多方法可以做到这一点。如果您想将第四列作为字符串,可以选择“仅点击”解决方案: 插入一个计算器步骤并按如下方式插入字段: 新字段:h1 计算:创建字段a的副本 字段A:小时 字段B: 值类型:字符串 删除:Y 转换掩码:00: 新字段:m1 计算:创建字段a的副本 字段A:分钟 字段B: 值类型:字符串 删

我有一个PDI(Kettle)工作,它用小时、分钟和秒列填充dim_时间表


我想创建第四个(聚合)列,其中包含给定时间的表示形式,如HH:MM:SS,我如何在PDI上做到这一点?

有很多方法可以做到这一点。如果您想将第四列作为字符串,可以选择“仅点击”解决方案:

插入一个
计算器
步骤并按如下方式插入字段:


  • 新字段: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
  • 转换掩码:

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


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

谢谢您的解决方案。在我发布了这个问题之后,我尝试了一种JavaScript方法来解决这个问题,它确实如我所期望的那样工作。即使我没有使用它,你的也是一个非常优雅的解决方案!