管道附加增添字段动作后返回原管道。
语法:
ch.derive(xi :Fi,…)
备注:
管道ch附加计算,对ch的每条记录计算表达式xi,xi作为新字段Fi的值,形成ch的原字段和Fi,…组成的原管道。
参数:
Ch |
管道。 |
Fi |
字段名,此时Fi不能与ch中原有字段同名。 |
Xi |
表达式,计算结果作为字段值。 |
选项:
@i |
有xi且计算结果为空时不生成该行记录。 |
返回值:
管道
示例:
|
A |
|
1 |
=demo.cursor("select NAME,BIRTHDAY,HIREDATE from Employee") |
|
2 |
=file("D:\\txt_files\\data1.txt").cursor@t() |
data1.txt中内容如下: |
3 |
=channel() |
创建管道。 |
4 |
=channel() |
创建管道。 |
5 |
=A3.derive(interval@y(BIRTHDAY,HIREDATE):EntryAge, age(HIREDATE):WorkAge) |
管道A3附加计算,在原管道的基础上添加EntryAge和WorkAge字段,返回原管道。 |
6 |
=A3.fetch() |
A3管道执行结果集函数,保留管道当前数据。 |
7 |
=A4.derive@i(SCORE:score_not_null) |
管道A4附加计算,SCORE为空时,对应的该条记录不生成。 |
8 |
=A4.fetch() |
A4管道执行结果集函数,保留管道当前数据。 |
9 |
=A1.push(A3) |
将游标A1中的数据推送到管道A3,此时数据不会立即被推送到管道。 |
10 |
=A2.push(A4) |
将游标A2中的数据推送到管道A4,此时数据不会立即被推送到管道。 |
11 |
=A1.skip() |
A1游标执行取数动作,此时数据才会被推送到管道A3,然后管道执行计算并记录结果。 |
12 |
=A2.fetch() |
A2游标执行取数动作,此时数据才会被推送到管道A4,然后管道执行计算并记录结果。 |
13 |
=A3.result() |
获取A3管道计算结果: |
14 |
=A4.result() |
获取A4管道计算结果: |