Time-series moving window aggregation


I need help and looking for possible solution.

I have a simple table of trasactions with three columns: (1) Transaction ID, (2) Time and date of transaction, (3) The amount of transaction. There are no equal distances between the transactions.

The purpose is for each transaction to calculate the sum of transactions from last 45 minutes. 

Thank you for any ideas.


Hi there,

I'm not sure as I'm new in Knime but I think that GroupBy or Moving Agregation should work.

Please, let me know when you finish this task, It is a quite common situation for trading and pricing areas.


The "Moving Aggregation" Node is exactly what you need.

Be careful your data must be well prepared before being used, you won't be able to just specify "45 minutes" from a time column and have the required agregation... simply because a time column is not part of the parameters of the node.

beforehand you need to prepare the table at minute-level with all minutes filled, even with 0 if there are no events, then sort it. (a cross-join with a time-reference table is usually what you need).

After that you can sort the time column and use the Aggregation node with a 45 window. Good thing is that you can chose between backward, forward etc... and construct different moving windows.