Here’s how to use groupn() function.
Description:
Group records in a cursor and push them respectively into a sequence of channels.
Syntax:
cs.groupn(x;C)
Note:
The function groups records in cursor cs by grouping expression x and pushes them respectively into a sequence of channels.
Parameter:
cs |
Cursor records |
x |
Grouping expression |
C |
A sequence of channels |
Return value:
The original cursor
Example:
|
A |
|
1 |
=demo.cursor("select NAME,GENDER,DEPT,BIRTHDAY from EMPLOYEE") |
|
2 |
=channel() |
Create a channel |
3 |
=channel() |
Create a channel |
4 |
=A1.groupn(if(GENDER=="F",1,2);[A2,A3]) |
Group cursor records, and push one group where GENDER is F into A2’s channel and the other group into A3’s channel |
5 |
=A2.fetch() |
Keep data in the channel in place |
6 |
=A3.fetch() |
Keep data in the channel in place |
7 |
=A1.fetch() |
|
8 |
=A2.result() |
Get result from A2’s channel |
9 |
=A3.result() |
Get result from A3’s channel |
Description:
Group records in channel ch and push them respectively into a sequence of channels.
Syntax:
ch.groupn(x;C)
Note:
The function groups records in channel ch by grouping expression x and pushes them respectively into a sequence of channels.
Parameter:
ch |
Channel |
x |
Grouping expression |
C |
A sequence of channels |
Return value:
A channel
Example:
|
A |
|
1 |
=demo.cursor("select NAME,GENDER,DEPT,BIRTHDAY from EMPLOYEE") |
|
2 |
=channel(A1) |
Push cursor records into a sequence of channels and return a channel |
3 |
=channel() |
Create a channel |
4 |
=channel() |
Create a channel |
5 |
=A2.groupn(if(GENDER=="F",1,2);[A3,A4]) |
Group records of A2’s channel, and push one group where GENDER is F into A3’s channel and the other group into A4’s channel |
6 |
=A3.fetch() |
Attach ch.fetch() function that gets the final result set to A3’s channel but keep data in A3’s channel in place |
7 |
=A4.fetch() |
Attach ch.fetch() function that gets the final result set to A4’s channel but keep data in A4’s channel in place |
8 |
=A1.fetch() |
|
9 |
=A3.result() |
Get result from A3’s channel |
10 |
=A4.result() |
Get result from A4’s channel |
Description:
Group records of a cursor and write the subset groups as a sequence of bin files.
Syntax:
cs.groupn(x;F)
Note:
The function groups records of cursor cs by grouping expression x and writes the subset groups to sequence of bin files F.
Parameter:
cs |
Cursor records |
x |
Grouping expression |
F |
A sequence of bin file objects |
Return value:
The original cursor
Example:
|
A |
|
1 |
=demo.cursor("select NAME,GENDER,DEPT,BIRTHDAY from EMPLOYEE") |
|
2 |
=[file("f_dept.btx"),file("m_dept.btx")] |
A sequence of bin file objects |
3 |
=A1.groupn(if(GENDER=="F",1,2);A2) |
Put records where GENDER is F into the first group and other records into the second group, and then write the subset groups into a sequence of bin files in order |
4 |
=A3.fetch() |
|