首页 > 解决方案 > 如何在 Pentaho Kettle Transformation 中创建 value Buffer

问题描述

我有一些值随着时间(流)和一些不同的行进入,需要作为一行处理。

传入的数据看起来像这样:

|timestamp   |temp|otherStuff|
|------------|----|----------|
|...         |    |other     |
|04:20:00.321|19.0|other     |
|04:20:01.123|20.5|other     |
|04:20:02.321|22.5|other     |
|04:20:03.234|25.5|other     |
|04:20:04.345|23.5|other     |
|...(new data coming in)     |

我需要的可能看起来像这样:

|val0|val1|val2|...|valN  |
|----|----|----|   |------|
|... create new row,      |
|as new data arrives      |
|23.5|25.5|23.5|...|valN  |
|25.5|22.5|20.5|...|valN-1|
|22.5|20.5|19.0|...|valN-2|

我没有找到用水壶解决这个问题的好方法。我还在使用数据服务(基本上是一个数据库,具有预定义的行数,一旦新数据集到达就会刷新),它以与第一个示例中显示的方式相同的方式保存数据。

这意味着我也可以使用 SQL 来翻转表格(我也不知道该怎么做)。它不会像使用水壶那样干净,但它可以解决问题。

为了更好地理解,另一个例子:这是进来的:

在此处输入图像描述

像这样的东西是我需要我的数据转换为:

在此处输入图像描述

有什么好的方法可以实现吗?

干杯。

标签: sqlpentahokettlepentaho-spoon

解决方案


谢谢@jxc,

Analytic Query一步成功了。

这是我如何做到的屏幕截图。

在此处输入图像描述

正如@jxc 所说,你必须

添加 N+1 个字段,其中 Subject = temp,Type = Lag N rows BACKWARD in get Subject 和 N 从 0 到 N

(温度=Value在我的情况下)


推荐阅读