OPAL Window Functions¶
Window functions are like aggregate functions in that they summarize input values from multiple input rows. However, each input row generates a corresponding output value, with the window potentially sliding along the list of rows.
For example, a “trailing 5 minute average” function uses a window back for 5 minutes and produce one output row per input row. But each output row looks back across many input rows in history.
| Function | Description | 
|---|---|
| Return any value of one column across a group | |
| Return any non-null value of one column across a group. | |
| Returns an array containing the multiset union of input arrays. | |
| Calculate the arithmetic average of the input expression across the group, or of the scalar arguments if more than one. | |
| Count the number of non-null items in the group. | |
| Estimate the approximate number of distinct values in the input using hyper-log-log. | |
| Count the exact number of distinct values in the input using complete enumeration. | |
| Calculates the value difference of the argument in each time bin for each group. | |
| Calculates the amount of difference in a column in each time bin for each group. | |
| Returns the dense rank within an ordered group of values. | |
| Calculate the average per-second derivative of the argument across the group. | |
| Calculates the exponentially weighted moving average of a value. | |
| Return the first value of one column across an ordered group. | |
| Return the first non-null value of one column across an ordered group. | |
| Returns an aggregate signed 64-bit hash value over the (unordered) set of input rows. | |
| Returns an aggregate signed 64-bit hash value over the (unordered) set of distinct input rows. | |
| Return the value of one column in a previous row across an ordered group. | |
| Return the non-null value of one column in a previous row across an ordered group. | |
| Return the last value of one column across an ordered group. | |
| Return the last non-null value of one column across an ordered group. | |
| Return the value of one column in a following row across an ordered group. | |
| Return the non-null value of one column in a following row across an ordered group. | |
| Returns the maximum value of a group of inputs. | |
| Return the fast approximate median value of one column. | |
| Return the exact median value of one column. | |
| Returns the minimum value of a group of inputs. | |
| Extract aggregated fields and values from a group of rows into a new JSON object. | |
| Returns an approximated value for the specified percentile of the input expression across the group. | |
| Assuming a continuous distribution, return the value for the specified percentile of the input expression across the group. | |
| Assuming a discrete distribution, return the value for the specified percentile of the input expression across the group. | |
| Returns the rank within an ordered group of values. | |
| Calculate the average per-second rate of the argument across the group. | |
| Return the window index of the row within its groupby, when ordered by the orderby. | |
| Calculate the standard deviation across the group. | |
| Calculate the sum of the argument across the group, or of the scalar arguments if more than one. | |
| Generate a single t-digest state out of an arbitrary number of numeric values. | |
| Combine (merge) multiple t-digest values together This function is purely an aggregate function. | |
| Returns an approximation of the top K most frequent values in the input, along with their approximate frequencies. |