如何在Power Query中获取数据——表格篇(3)

2020-03-23 16:38:50 浏览数 (1)

样例表格:

之前讲了从表头获取,那对应的就有从表尾获取。

(一)从表尾开始提取

1. 获取表的最后一条记录

Table.Last(table as table, optionaldefault as any)as any

第1参数是需要操作的表;第2参数是在空表的情况下的赋值;返回的结果如果是非空表则是最后一条记录,格式是Record格式,如果是空表则是赋值的格式。

例:

Table.Last(数据)=[姓名="王五",成绩=80,学科="英语"]

Table.Last(Table.FromRecords({}),{"空表"})={"空表"}

解释:空表代表没有记录的表,但是可以有标题字段名。Table.FromRecords({})生成的是一个空表,例如Table.FromList({}),Table.FromColumns({}),Table.FromRows({})也是一样的,生成的是不具备标题字段的空表;Table.FromValue({})生成的就是一个标题字段为Value的空表;因为是空表所以返回指定值。

2. 获取指定条件表的最后几条记录

Table.LastN(table as table, countOrCondition as any) as table

第1参数为操作的表,第2参数为数字或者条件,返回的是一个表的格式。如第2参数是条件,则从尾开始匹配,返回满足的行,直到不满足为止。

例:

Table.LastN(数据,1) =

<> Table.Last(数据)

解释:因为Table.LastN返回的是table格式,而Table.Last返回的是record格式,所以不相等。

Table.LastN(数据,each _[成绩]<90)=

解释:因为成绩是降序排列,所以返回的结果是直到不满足条件结束。

Table.LastN(数据,each_[成绩]>90)= #table({},{})

解释:因为最后一条记录是80,不满足第2参数的条件,所以没有满足条件的数据,返回的结果就是一个空表。

Table.LastN(数据, each Text.Contains([姓名],"五"))=

解释:查找姓名包含"五"的记录,并返回形成表格。因为第一条记录是的姓名是王五,满足条件,第二条记录是李四不满足条件结束,所以只返回最后一条记录并形成表格。

0 人点赞