g_avg(G;S;X)
Returns the average of values within a given group.
Function type
Vector only
Syntax
g_avg(G;S;X)
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
|
X |
any numeric type | A column name N/As in |
Return Value
For every row in each group defined by G
(and for those rows where
S
=1, if specified), g_avg
returns
a decimal value corresponding to the average of the values in the column listed in
X
that are in the same group as that row.
If all values for a particular group are N/A, the result is N/A.
Sample Usage
<base table="pub.doc.samples.ref.func.g_func_sample_usage"/> <willbe name="g_avg_1" value="g_avg(state;include;value)"/> <willbe name="g_avg_2" value="g_avg(state city;include;value)"/>
Example
This example uses the g_avg(G;S;X)
function to return the average sales
per basket per store. g_avg(G;S;X)
can take three parameters, but in this
case only the first and last are needed. The function groups the rows based on the
transaction ID (transid
) for the G
parameter and the sales
amount (sales
) for the X
parameter . The sales value is
the one that is averaged grouping by the transaction ID.
<base table="pub.demo.retail.item" /> <colord cols="transid,date,store,sales" /> <willbe name="bskt_avg" value="g_avg(transid;;sales)" format="dec:2"/>