LEAD

返回同一字段后N行的数据。

#语法

LEAD(fieldoffsetdefvalpartitionfieldorderfield[ordertype])

  • field:必需,字段名
  • offset:必需,偏移量,上1个或上N个的值
  • defval:必需,默认值,取值超出表范围时会返回默认值,通常指定为null
  • partitionfield:必需,分组字段,多个分组字段的时需使用partitionby,如果没有分组字段,则指定为null
  • orderfield:必需,排序字段,多个排序字段时需要使用orderby
  • ordertype:可选,指定排序类型,asc 升序,desc 降序,默认为升序

#示例

  1. LEAD([纳税表].[企业], 1, null, [纳税表].[地区], [纳税表].[纳税额] ,'DESC') 按地区分组,纳税额降序返回企业后1行的值

  2. LEAD([纳税表].[企业] , 1, null, null, [纳税表].[纳税额] ,'ASC') 按纳税额升序,返回企业后1行的值

  3. LEAD([纳税表].[企业] , 1, null, partitionby([纳税表].[地区],[纳税表].[行业]), orderby([纳税表].[纳税额] ,'desc',[纳税表].[企业])) 按地区、行业分组,纳税额降序,如果纳税额相等,按企业升序,返回企业后1行的值

  4. 场景:为计算回购率,需算出本月购买人数中有多少人下月再次购买,此时可以在数据加工中使用LEAD函数偏移出次月的销售数据,如下DEMO所示