g_movprod(G;S;O;X;W;P)
Returns the product of valid (non-N/A) values in a moving window within a given group.
Function type
Vector only
Syntax
g_movprod(G;S;O;X;W;P)
t_movprod(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 If If any of the columns listed in |
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
If any of the values in
|
O |
integer | A space- or comma-separated list of column names that
determine the row order within a particular group If
If any of the values in |
X |
any numeric type | A column name |
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:
|
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_movprod
returns a decimal value equal to the product of valid (non-N/A)
values in X
that are in the same moving window and group as this row.
The window in which values are multiplied has width
W
, and its position with respect to the current row is determined by
P
.
Sample Usage
<base table="pub.doc.samples.ref.func.g_func_time_series_sample_usage"/> <willbe name="g_movprod_1" value="g_movprod(state;include;order;value;3;'lag')"/> <willbe name="g_movprod_2" value="g_movprod(state city;include;order;value;2;'lag')"/>
In the image above, one of the returned values contains many digits after the decimal. The
system hides this long decimal number and displays a greater than symbol
(>). Display formatting can be used to change the number
of decimal places that the system shows. Adding format="dec:0"
to
g_movprod_1
results in the following:
<base table="pub.doc.samples.ref.func.g_func_time_series_sample_usage"/> <willbe name="g_movprod_1" value="g_movprod(state;include;order;value;3;'lag')" format="dec:0"/> <willbe name="g_movprod_2" value="g_movprod(state city;include;order;value;2;'lag')"/>
For more information, see Display formats.
Additional Information
- The
t_
version of this function defaults theG
argument and omits theS
argument. The default forG
is set at table load time based on the organization of the table.