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 theGargument and omits theSargument. The default forGis 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"/>

