功能:
按顺序将记录分段。
语法:
分段 [<固定条件针对的计算式>] [固定条件或记录数] [<数量>] [条件 <条件式>] [分区 <分区列>] [命名 <新列名>]
规则:
本功能的作用是按顺序将记录分段,赋予递增的组号(从1开始),条件成立时组号递增,不成立时组号不变。
支持以下三种条件类型:
第1种,固定条件,对应参数固定条件或记录数的枚举值:变化、不变、变大、未变大、变小、未变小,这6个枚举值属于"固定条件"。
第2种,按记录数分组,对应参数固定条件或记录数的枚举值:总共、每隔,这2个枚举值属于"固定记录数"。
总共:将记录的总数量大致均分为M组,每组的组号相同,因为无法保证整除,所以是大致均分。比如10条记录总共分4组,组号依次是[1,1,1,2,2,2,3,3,3,4];
每隔:每隔N条记录分一组,每组的组号相同,最后一组可能不足N条。
第3种,任意条件式,对应参数条件 <条件式>。
参数:固定条件针对的计算式
对应第1种条件所针对的计算式,最简单的计算式是单列。
可选,参数名省略。本参数不支持跨行计算和聚合计算。
示例:
股票股价表已按日期排序,数据内容如下:
|
日期 |
收盘价 |
|
2021-01-01 |
10.2 |
|
2021-01-02 |
11 |
|
2021-01-03 |
12.1 |
|
2021-01-04 |
11.3 |
|
2021-01-05 |
9.2 |
|
2021-01-07 |
11 |
|
2021-01-08 |
9.1 |
分段 收盘价; 变小; 命名 上涨标志 //收盘价下跌时组号+1,同组内为连续上涨执行结果,结果表如下:
|
日期 |
收盘价 |
上涨标志 |
|
2021-01-01 |
10.2 |
1 |
|
2021-01-02 |
11 |
1 |
|
2021-01-03 |
12.1 |
1 |
|
2021-01-04 |
11.3 |
2 |
|
2021-01-05 |
9.2 |
3 |
|
2021-01-07 |
11 |
3 |
|
2021-01-08 |
9.1 |
4 |
分析:日期2021-01-01至2021-01-03的记录的上涨标志(组号)相同,这组记录共3条,说明连续上涨3天。
参数:固定条件或记录数
对应第1种条件固定条件和第2种条件按记录数分组。
可选,参数名省略,枚举类型。
示例:分段 月份; 不变; 命名 标志 // 月份相同时组号+1,月份变化时组号不变。
第2种条件按记录数分组,注意此时不要参数固定条件针对的计算式,但必须要参数数量。
示例:
股票股价表已按日期排序,数据内容如下:
|
日期 |
收盘价 |
|
2021-01-01 |
10.2 |
|
2021-01-02 |
11 |
|
2021-01-03 |
12.1 |
|
2021-01-04 |
11.3 |
|
2021-01-05 |
9.2 |
|
2021-01-07 |
11 |
|
2021-01-08 |
9.1 |
分段 每隔; 3; 命名 组号 // 每3个工作日为一组,向新字段"组号"填入递增的组号,结果如下:
|
日期 |
收盘价 |
组号 |
|
2021-01-01 |
10.2 |
1 |
|
2021-01-02 |
11 |
1 |
|
2021-01-03 |
12.1 |
1 |
|
2021-01-04 |
11.3 |
2 |
|
2021-01-05 |
9.2 |
2 |
|
2021-01-07 |
11 |
2 |
|
2021-01-08 |
9.1 |
3 |
参数:数量
当参数固定条件或记录数的枚举值为总共和每隔时,需要用本参数指定这两个枚举值对应的总组数和组内成员数。
可选,参数名省略,整数类型。
参数:条件 <条件式>
在第1种条件固定条件和第2种条件按记录数量分组满足不了的情况下,需要用第3种条件任意条件式来计算分段。这种情况下不需要使用前3个参数。
可选,不可省略参数名。本参数支持跨行计算和聚合计算。
示例:
分段 条件 收盘价<收盘价[-1]; 命名 上涨标志 // 收盘价下跌时组号+1,否则组号保持。本例的条件式简单,可以用固定条件代替,等价于语句:分段 收盘价; 变小; 命名 上涨标志 。
分段 条件 (月份 <> 3); 命名 编号 //给新列"编号"从1开始赋值,当条件是"月份<>3"时编号递增,否则编号不变。
参数:分区
按分区计算分段号,各区之间互不影响,概念上类似SQL的PARTITION BY。
可选,不可省略参数名。
参数:命名 <新列名>
新列名,组号将赋值给新列。
必填,不可省略参数名。