g_movhi(G;S;O;X;W;P)

Returns the maximum of valid (non-N/A) values in a moving window within a given group.

Function type

Vector only

Syntax

g_movhi(G;S;O;X;W;P)
t_movhi(X;W;P)

Input

Argument Type Description
G any A space- or comma-separated list of column names

Rows are in the same group if their values for all of the columns listed in G are the same.

If G is omitted, all rows are considered to be in the same group.

If any of the columns listed in G contain N/A, the N/A value is considered a valid grouping value.

S integer The name of a column in which every row evaluates to a 1 or 0, which determines whether or not that row is selected to be included in the calculation

If S is omitted, all rows will be considered by the function (subject to any prior row selections).

If any of the values in S are neither 1 nor 0, an error is returned.

O integer A space- or comma-separated list of column names that determine the row order within a particular group

If O is omitted, the order is the current display order of the table.

If any of the values in O are N/A, an error is returned.

X integer or decimal A column name

An N/A in X is considered to be less than any other number.

W integer The width of the moving window (or the name of a column whose values represent the width of the moving window)
Note: W may not be omitted.
P text A string that specifies the position of the moving window with respect to the current row
Valid values are:
  • 'lag' - specifies that the window lags the current row (i.e., the current row is the last row in the window, and the first row in the window is W-1 rows behind the current row)
  • 'lead' - specifies that the window leads the current row (i.e., the current row is the first row in the window, and the last row in the window is W-1 rows ahead of the current row)
  • 'center' - specifies that the window is centered around the current row (i.e., if W is an odd number, the window includes the (W-1)/2 rows behind the current row, the current row, and the (W-1)/2 rows ahead of the current row)
    Note: If P is 'center' and W is an even number, W is rounded down to the nearest odd number.

Return Value

For every row in each group defined by G and ordered by O (and for those rows where S=1, if specified), g_movhi returns a value corresponding to the maximum of valid (non-N/A) values in X that are in the same moving window and group as this row. The result is the same data type as X.

The window over which the maximum is taken has width W, and its position with respect to the current row is determined by P.

Note: If the window extends beyond the beginning or end of the group, then only that part of the window that is within the group is considered.

If no rows in a group have valid (non-N/A) values for X, the result for every row of the group is -0I (negative infinity).

Sample Usage

<base table="pub.doc.samples.ref.func.g_func_time_series_sample_usage"/>
<willbe name="g_movhi_1" value="g_movhi(state;include;order;value;3;'lag')"/>
<willbe name="g_movhi_2" value="g_movhi(state city;include;order;value;2;'lag')"/>

Additional Information

  • The t_ version of this function defaults the G argument and omits the S argument. The default for G is set at table load time based on the organization of the table.