g_first1(G;S;O)
Returns a boolean value indicating whether this is the first row in a given group.
Function type
Vector only
Syntax
g_first1(G;S;O)
t_first1()
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 |
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_first1
returns an integer value of 1 if
this is the first row in that group. Returns a 0 otherwise.
Sample Usage
<base table="pub.doc.samples.ref.func.g_func_time_series_sample_usage"/> <willbe name="g_first1_1" value="g_first1(state;include;order)"/> <willbe name="g_first1_2" value="g_first1(state city;include;order)"/>
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.
Example
This example uses the g_first1(G;S;O)
function to return
1 or 0 depending on whether or not a transaction is the first one in
its basket, which is represented by its transaction ID. This could
be used to determine how many baskets are in a given transaction
register. g_first1(G;S;O)
can take three
parameters, but in this case, only the first and last parameter are
needed. The G
parameter uses the transaction IDs
(transid
) to group, and the
O
parameter uses the dates
(date
) to order.
g_first1(G;S;O)
returns a 1 if the row is
the first row with that transaction ID and a 0 if it is not.
<base table="pub.demo.retail.item"/> <colord cols="transid,date,store,sales,is_first_id"/> <willbe name="basket_marker" value="g_first1(transid;;date)" label="Basket"/>