ch.derive()

阅读(587) 标签: 管道, 添加字段, 不能同名,

描述:

管道附加增添字段动作后返回原管道。

语法:

ch.derive(xi :Fi,…)

备注:

管道ch附加计算,对ch的每条记录计算表达式xixi作为新字段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附加计算,在原管道的基础上添加EntryAgeWorkAge字段,返回原管道。

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管道计算结果: