win_over() makes it easy to generate the window function specification. win_absent(), win_rank(), win_recycled(), and win_cumulative() provide helpers for constructing common types of window functions. win_current_group() and win_current_order() allow you to access the grouping and order context set up by group_by() and arrange().

win_over(expr, partition = NULL, order = NULL, frame = NULL)

win_rank(f)

win_recycled(f)

win_cumulative(f)

win_absent(f)

win_current_group()

win_current_order()

Arguments

expr

The window expression

order

Variables to order by

frame

A numeric vector of length two defining the frame.

f

The name of an sql function as a string

parition

Variables to partition over

Examples

win_over(sql("avg(x)"))
#> <SQL> avg(x) OVER ()
win_over(sql("avg(x)"), "y")
#> <SQL> avg(x) OVER (PARTITION BY "y")
win_over(sql("avg(x)"), order = "y")
#> <SQL> avg(x) OVER (ORDER BY "y")
win_over(sql("avg(x)"), order = c("x", "y"))
#> <SQL> avg(x) OVER (ORDER BY "x", "y")
win_over(sql("avg(x)"), frame = c(-Inf, 0), order = "y")
#> <SQL> avg(x) OVER (ORDER BY "y" ROWS UNBOUNDED PRECEDING)