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

2020-03-23 17:33:50 浏览数 (1)

1. 按错误的信息提取

Table.SelectRowsWithErrors(tableas table,optional columns as nullable list)as table

第1参数为需要操作的表;第2参数为是否指定列查找,是一个列表格式,默认是不指定列;返回的结果是表格式。

例:

我们先自定义一列是错误信息。

Table.SelectRowsWithErrors(源)=

解释:因为这3行都有错误,所以筛选错误后都进行了返回。

Table.SelectRowsWithErrors(源,{"学科"})=

解释:因为第2参数指定了需要查找的学科这列,这列里面没有错误的行,所以返回的是一个空表,此外需要注意的是,虽然只指定一个列表字段,但是其格式是列表,所以需要用{}表示。

2. 按表格偏移提取

Table.Range(table as table,offset as number,optional counts as nullable number)as table

第1参数为需要操作的表;第2参数是需要偏移的行,从0开始,不偏移为0,是数字格式;第3参数是需要返回的行数,是数字格式,默认是返回偏移后的全部行;返回的也是表格格式。

例:

Table.Range(源,0,2)=

Table.Range(源,1)=

Table.Range(源,2,10)=

解释:偏移2行往后取10行,此函数不存在参数超标的情况,所以如果取的行数超过了表格的行数,则取全部返回。

3. 按文本匹配后提取

Table.FindText(table as table,text as text)as table

第1参数是需要操作的表;第2参数为需要查找的文本;返回的也是一个表格式。

例:

Table.FindText(源,"数")=

解释:返回姓名,成绩,学科字段所有含"数"的行。因为此数据源相对简单,所以返回了学科中数学包含"数",所以返回这一行。

Table.FindText(Table.TransformColumnTypes(源,{"成绩", type text}),Text.From(80))=

解释:因为成绩字段是数字格式,如果需要查找成绩,则需要转成文本格式,Table.TransformColumnTypes把成绩的列转换成文本后,然后通过Text.From把数字80也转换成文本格式,这样就能进行匹配。

案例参考:如何全局匹配关键词查找

0 人点赞