In Pentaho ETL Kettle i would like to acces previous row in one step. Let's declare data flow as myMat:
myMat:
col0 col1
row0: 15 a
row1: 10 b
row2: 24 hi
row3: 11 bye
I would like to use this calculation:
newNumber= myMat[i][0] + myMat[i-1][0]
Do you know any way to do it in Kettle?
You can also do this kind of thing with the Analytic Query
step. You'll need a grouping field in your data set though. If you want to process the entire set as a single group, put an Add Constants
step before the Analytic Query step that inserts, say a just a 1, and group by that.
Either way, if you want to use it in a calculation, you'll have to deal with NULL. LAG 1 of the first row of your group will always be NULL. If you just want to map that to a 0, you do that with an If field values is null
step. Here is what it might look like:
However, G Gordon is correct. You should consider if this really makes sense based on the problem you're trying to solve.