
表名为列表,第一步骤名称为源

(一)从头开始提取
1. 获取列表第一个
List.First(list as list, optionaldefaultValue as any)as any
返回列表的第1个值,参数2代表如果列表为空,可以指定返回一个值。
例:
List.First({1..10})=1
List.First({},"a")="a"
List.First(源[数字])=1
List.First(列表[数字])=1
2. 获取列表前N个
List.FirstN(list as list, countOrCoundition as any) as any
获取列表的前N个数据,第2参数可以为数字也可以为条件。如果为指定条件,则提取的数据为直到不满足条件前的数据。
例:
List.FirstN({1..10}, 2)={1,2}
List.FirstN(源[数字], each _<4)={1,2,3}
解释:源[数字]这个是在原查询中引用列表的格式。此外涉及到列表,所以在进行操作比较的时候需要用到each,_代表的是列表中的每一个值,所以用列表中从头开始的每一个值去和<4进行比较,直到不满足并返回匹配条件的几个值。
List.FirstN(列表[数字], each _=2)={}
解释:列表[数字]这个是在其他查询中引用列表的格式。因为数字是从1开始,1<>2,获取的是第一个不满足条件之前的数据,第一个就不满足,所以结果为空列表
(二)从尾开始提取
1. 获取列表最后一个
List.Last(list as list, optionaldefaultValue as any) as any
返回列表的最后1个值,参数2代表如果列表为空,可以指定返回一个值。
List.Last({1..10})=10
List.Last({},"a")="a"
List.Last(源[数字])=10
List.Last(列表[数字])=10
2. 获取列表最后N个
List.LastN(list as list, countOrCoundition as any) as any
获取列表的最后N个数据,第2参数可以为数字也可以为条件。如果为指定条件,则提取的数据为直到不满足条件后的数据。
例:
List.LastN({1..10}, 2)={9,10}
List.LastN(源[数字], each _>7)={8,9,10}
解释:源[数字]这个是在其他查询中引用列表的格式。此外涉及到列表,所以在进行操作比较的时候需要用到each,_代表的是列表中的每一个值,所以用列表中末尾开始的每一个值去和>7进行比较,直到不满足并返回匹配条件的值。
List.LastN(列表[数字], each _=9)={}
解释:列表[数字]这个是在其他查询中引用列表的格式。因为末尾数字是从10开始,不满足条件,获取的是第一个不满足条件之前的数据,第一个就不满足,所以结果为空列表。
(三)根据值提取
1. 获取列表中最大的数据
List.Max(list as list, optionaldefault as any,optional comparisonCriteria as any, optional includeNulls as nullable logical)as any
返回最大的值,这个值时以Unicode来做比较;第2参数代表如果列表为空,可以指定返回一个值;第3参数代表相反性的排序比较,1代表相反,0代表正常,默认正常;第4参数代表代表返回值是否包含空值,是一个逻辑值true or false。
例:
List.Max({1..10})=10
List.Max({},"空值")="空值"
解释:第2参数是在第1参数为空的时候的返回值,因为第1参数是空值,所以返回第2参数的值。
List.Max({1,"a