代码之家  ›  专栏  ›  技术社区  ›  Blaž Čukelj

Pentaho:如何汇总时间

  •  0
  • Blaž Čukelj  · 技术社区  · 7 年前

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

    这是一张我想成为的照片:

    Time And Hours

    谢谢

    1 回复  |  直到 7 年前
        1
  •  1
  •   AlainD    7 年前

    您可以使用 Modified JavaScript Value

    我不知道哪种类型是你的时间。

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

    enter image description here

    为此,请执行以下操作:

    1. 拖动和。放下台阶 Modified JavaScript Value 并将其链接到数据流提供程序(在示例a中 Data grid ).
    2. 编辑此步骤并添加脚本。(请注意,双击可以快速添加输入变量 Transformation Function 左侧菜单中提供了Javascript内置集合之外的可用函数列表)。
    3. 单击 Get variable 按钮,保留所需的变量(此处为小时),并定义/重新定义其类型(此处为字符串)。
    4. 完成:确定并预览。
    5. 如果需要,调整输入流的类型。例如 Hour = Hour+'' 强制将类型转换为字符串。