计算列

阅读(259) 标签: 计算列, 公式, 聚合, 跨行, 分区,

功能:

新增一个或多个计算字段。

语法:

计算列 {[聚合] <公式> [用] [跨行] [命名 <新列名>]} [分区]

关键规则

参数[聚合]和参数[跨行]互斥,只能二选一。当公式是相对区间 F[a:b] 形式(a≠b)时,结果为集合,必须使用[聚合];反之公式不是相对区间形式时,[聚合]和[跨行]二选一。

{}表示可创建多个计算列,之间用分号分隔。

参数: [聚合]

在参数<公式>的基础上继续进行聚合计算。

可选,省略参数名,枚举类型,枚举值:首位、末位、合计、平均、计数、唯一计数、最大、最小、连结。

示例:计算列 平均, 收盘价[-2:2], 命名 MA5   //对股价表计算5日平均值,填入新列 MA5。

参数:<公式>

可以是一个字段或多个字段的计算式,也可以常数、null这种特殊的计算式。

必填,省略参数名。

示例:计算列 (条件 (DEPT = "Sales" 且 SALARY > 5000 则 SALARY*1.1)) , 命名 目标薪资  //新增一列【目标薪资】,当部门是Sales且薪资超过5000时,目标薪资为原薪资的1.1倍,否则为null。

参数:[用]

当参数[聚合]的值是"连结"时,指定分隔符。

可选,缺省值是空串"",不可省略参数名。注意,只有[聚合]的值是连结时才需要本参数,其他枚举值不需要本参数。

参数:[跨行]

在参数<公式>的基础上进行跨行计算,与聚合不同,分区内每行的计算结果不同。

可选,省略参数名;枚举类型,枚举值如下:占比、增长、增长率、累计、累计比例。

参数: [命名 <新列名>]

为计算列创建的新列名。

必填,不可省略参数名。注意:新列名不可与原列名重复。

参数:[分区]

按分区进行计算,类似SQL的PARTITION BY。

可选;不可省略参数名。参数值为字段名。

示例: 

命名

锚点

语句

t1

EMPLOYEE

计算列 合计, SALARY, 命名 部门总薪资; 分区 DEPT  

t2

计算列 连结, NAME, 用 ",", 命名 员工列表; 分区 DEPT

t3

计算列 SALARY, 占比, 命名 薪资占比; 分区 DEPT

t4

EMPLOYEE

计算列 平均, SALARY, 命名 部门均薪; SALARY, 占比, 命名 薪资占比;  分区 DEPT

t1:计算EMPLOYEE表中每个部门的总薪资。

t2:对上一行结果继续计算,按DEPT分区,将同一部门的员工姓名用逗号连结成一个字符串,写入新列【员工列表】。

t3:对上一行结果继续计算,使用跨行计算,计算每个员工薪资占部门总薪资的比例填入新列【薪资占比】。

t4:使用多个计算列。