Pentaho:如何汇总时间

Pentaho: How to rollup time

我有时间,例如,我在记录中有这样写的时间:00:02:2415:22:45,现在我想创建另一列(小时),其中可以是值,例如时间 02:43:22 的值为 2,时间 23:22:14 的值为 23,依此类推。但我不知道我该怎么做,我尝试了数字范围,但没有成功。

这是一张照片,我想成为什么样的人:

谢谢。

您可以使用 Modified JavaScript Value 步骤。

不知道你的Time是什么类型的。

  • 如果是字符串,var Hour = Time.substr(0,2); 即可。
  • 如果是日期,使用var Hour = Time.getHour();
  • 如果类型是其他类型,则先转换为 String。

为此:

  1. 将and.drop步骤Modified JavaScript Value拖link到数据流提供者(在示例中为Data grid)。
  2. 编辑此步骤并添加您的脚本。 (请注意,您可以通过双击快速添加输入变量。另请注意,单击左侧菜单中的 Transformation Function 会为您提供除 Javascript 内置集合之外的可用函数列表) .
  3. 单击 Get variable 按钮,保留您需要的变量(此处为 Hour),define/redefine 其类型(此处为 String)。
  4. 大功告成:确定并预览。
  5. 如果需要,适应输入流的类型。例如 Hour = Hour+'' 强制类型转换为字符串。