g_fill(G;S;O;X;D)

Returns the value of the nearest non-N/A value before or after the current row within a given group.

Function type

Vector only

Syntax

g_fill(G;S;O;X;D)

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
D integer A value that indicates the direction in which to look for the nearest non-N/A value:
  • -1 indicates g_fill should look for the nearest non-N/A value before the current row
  • 1 indicates g_fill should look for the nearest non-N/A value after the current row
Note: This column can only contain a -1 or 1 (or a column containing such values) for every row.

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_fill returns the value of the current row in X, if it is not N/A. Otherwise, if the value of the current row in X is N/A, g_fill returns:

  • the value of the nearest non-N/A value in X before the current row, if D=-1
  • the value of the nearest non-N/A value in X after the current row, if D=1

The result is the same data type as X.

Sample Usage

<base table="pub.doc.samples.ref.func.g_func_time_series_sample_usage"/>
<willbe name="g_fill_1" value="g_fill(state;include;order;value;1)"/>
<willbe name="g_fill_2" value="g_fill(state city;include;order;value;-1)"/>

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.