# OPAL Alignment Functions¶

Alignment functions are used with the `align` verb to align metrics to time windows.

Alignment functions accept an input metric time series and emit a value for each row. For example, `last_not_null` will return the final non-null measurement for each time window of a series.

Function

Description

any

Return any value of one column across a group

any_not_null

Return any non-null value of one column across a group.

avg

Calculate the arithmetic average of the input expression across the group, or of the scalar arguments if more than one.

count

Count the number of non-null items in the group.

count_distinct

Estimate the approximate number of distinct values in the input using hyper-log-log.

count_distinct_exact

Count the exact number of distinct values in the input using complete enumeration.

delta

Calculates the value difference of the argument in each time bin for each group.

delta_monotonic

Calculates the amount of difference in a column in each time bin for each group.

deriv

Calculate the average per-second derivative of the argument across the group.

first

Return the first value of one column across an ordered group.

first_not_null

Return the first non-null value of one column across an ordered group.

last

Return the last value of one column across an ordered group.

last_not_null

Return the last non-null value of one column across an ordered group.

max

Returns the maximum value of a group of inputs.

median

Return the fast approximate median value of one column.

median_exact

Return the exact median value of one column.

min

Returns the minimum value of a group of inputs.

percentile

Returns an approximated value for the specified percentile of the input expression across the group.

percentile_cont

Assuming a continuous distribution, return the value for the specified percentile of the input expression across the group.

percentile_disc

Assuming a discrete distribution, return the value for the specified percentile of the input expression across the group.

rate

Calculate the average per-second rate of the argument across the group.

stddev

Calculate the standard deviation across the group.

sum

Calculate the sum of the argument across the group, or of the scalar arguments if more than one.

tdigest_agg

Generate a single t-digest state out of an arbitrary number of numeric values.

tdigest_combine

Combine (merge) multiple t-digest values together This function is purely an aggregate function.

topk_agg

Returns an approximation of the top K most frequent values in the input, along with their approximate frequencies.