如何在Pentaho水壶转型中创建价值缓冲

时间:2019-06-04 13:36:37

标签: sql pentaho kettle pentaho-spoon

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

传入数据看起来像这样:

|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来翻转表(我也不知道该怎么做)。它不会像使用水壶那样干净,但是可以解决问题。

为了更好地理解,再举一个例子:这是即将出现的事情:

enter image description here

我需要将数据转换为以下内容:

enter image description here

有什么好的方法可以做到这一点吗?

干杯。

1 个答案:

答案 0 :(得分:1)

谢谢@jxc,

Analytic Query步骤成功了。

这是我的操作方式的屏幕截图。

enter image description here

如@jxc所述,您必须

  

添加N + 1个字段,其中Subject = temp,Type =在获取Subject中滞后N行,N从0到N

(在我的情况下为temp = Value