Skip to main content

Celonis Product Documentation

MOVING_MIN
Description

Calculates the minimum for each window. It can be applied to any data type.

Syntax
 MOVING_MIN ( table.column, start, end )
NULL handling

NULL values are ignored, so they do not influence the result. If all the values of a group are NULL, the result for this group is also NULL.

Examples

[1]

Moving min for current row and one row above.

Query

Column1

         "Table1"."MONTH"
        

Column2

         MOVING_MIN ( "Table1"."INCOME" , - 1 , 0 )
        

Input

Output

Table1

MONTH : int

INCOME : int

1

100

1

300

2

400

3

300

4

500

Result

Column1 : int

Column2 : int

1

100

1

100

2

300

3

300

4

300

[2]

Moving min for current row and one row above with null values.

Query

Column1

         "Table1"."MONTH"
        

Column2

         MOVING_MIN ( "Table1"."INCOME" , - 1 , 0 )
        

Input

Output

Table1

MONTH : int

INCOME : int

1

null

1

null

2

400

3

300

4

500

Result

Column1 : int

Column2 : int

1

null

1

null

2

400

3

300

4

300

[3]

Moving min for current row and one row above. A FILTER is applied, such that only rows with an INCOME value less than 500 are taken into account.

Query

Filter

         FILTER "Table1"."INCOME" < 500;
        

Column1

         "Table1"."MONTH"
        

Column2

         MOVING_MIN ( "Table1"."INCOME" , - 1 , 0 )
        

Input

Output

Table1

MONTH : int

INCOME : int

1

null

1

null

2

300

3

500

4

400

Result

Column1 : int

Column2 : int

2

300

4

300

See also: