Special functions

fillfill_missing()missing()

Syntax
Example

fill_missing (expression, <first_fill>, <last_fill>, <fill_value>)

fillfill_missing(A+B)missing(A+B)

To better understand this function, suppose you have a set of variables that you want to sum.

Variables A, B, C, and D do not have data for all timestamps, as shown in the table below. Use the fill_missing() function to fill the gaps and perform the calculation. The following examples are based on this table:

Date
A
B
C
D

07/12/2020 00:00:04

5

-

4

5

07/12/2020 00:00:03

3

2

3

4

07/12/2020 00:00:02

-

4

-

2

07/12/2020 00:00:01

4

3

5

-

fillfill_missing(A+B+C+D)missing(A + B + C + D)

By default, the fill_missing() expression sets the first_fill parameter to "ffill". This means the function fills the gaps forward, starting at a point where it has enough data to fill the gaps for all involved time series. The result is as follows:

Date
A
B
C
D
Output

07/12/2020 00:00:04

5

2

4

5

16

07/12/2020 00:00:03

3

2

3

4

12

07/12/2020 00:00:02

4

4

5

2

15

07/12/2020 00:00:01

4

3

5

-

-

fillfill_missing(A+B+C+D,firstmissing(A + B + C + D, first_fill="bfill")fill="bfill")

You can also set first_fill to "bfill". In that case, the gaps are filled as follows:

Date
A
B
C
D
Output

07/12/2020 00:00:04

5

-

4

5

-

07/12/2020 00:00:03

3

2

3

4

12

07/12/2020 00:00:02

3

4

3

2

12

07/12/2020 00:00:01

4

3

5

2

14

fillfill_missing(A+B+C+D,firstmissing(A + B + C + D, first_fill="ffill",lastfill="ffill",last_fill="bfill")fill="bfill")

Suppose you need to fill all gaps in the variables. In that case, set both first_fill and last_fill in the expression. The result is as follows:

Date
A
B
C
D
Output

07/12/2020 00:00:04

5

2

4

5

16

07/12/2020 00:00:03

3

2

3

4

12

07/12/2020 00:00:02

4

4

5

2

15

07/12/2020 00:00:01

4

3

5

2

14

fillfill_missing(A+B+C+D,fillmissing(A + B + C + D, fill_value=0)value=0)

You can also fill the gaps with a fixed value. In this case, the function sets 0 in every gap in the variables.

Date
A
B
C
D
Output

07/12/2020 00:00:04

5

0

4

5

14

07/12/2020 00:00:03

3

2

3

4

12

07/12/2020 00:00:02

0

4

0

2

6

07/12/2020 00:00:01

4

3

5

0

12

cumsum()cumsum()

Syntax
Example
Output

cumsum(x)cumsum(x)

cumsum([0,1,2,3])cumsum([0, 1, 2, 3])

6

where()where()

Syntax
Example
Output

where(condition, operation if true, operation if false)

Step function:

Assume a variable

x=[1,2,1]x = [-1, 2, 1]where(x>=0,1,0)where(x >= 0, 1, 0)

[0,1,1][0, 1, 1]

Interval function:

Assume a variable

x=[1,2,1]x = [-1, 2, 1]where(x<0,0,where(x<1,1,2))where(x < 0, 0, where(x < 1, 1, 2))

[0,2,2][0, 2, 2]

diff()diff()

Syntax
Example
Output

diff(<variable>, <steps>)

Assume a variable x=[14,15,17,16]x = [14, 15, 17, 16] diff(x,2)diff(x, 2)

[3,1][3, 1]

shift()shift()

Syntax
Example
Output

shift(<variable>,<step>)

Assume a variable x=[2,1,0,1,2]x = [-2, -1, 0, 1, 2]shift(x,1)shift(x, -1)

This lets you retrieve the previous value of the variable by shifting the series to the left.

[1,0,1,2][-1, 0, 1, 2]

Assume a variable x=[2,1,0,1,2]x = [-2, -1, 0, 1, 2]shift(x,2)shift(x, 2)

Shifts the series to the right.

[x,x,2,1,0][x, x, -2, -1, 0]

Last updated

Was this helpful?