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

删除指定数据提取


1.     删除错误行提取

Table.RemoveRowsWithErrors(table as tableoptionalcolumns as nullablelist) as table

第1参数是需要操作的表;第2参数是可选择的列。返回生成的也是表格式。


 

例:

Table.RemoveRowsWithErrors(源)=


解释:删除表中所有的错误行。

Table.RemoveRowsWithErrors(源,"={"姓名"})=

解释:删除指定列的错误行。


2.     删除指定行提取

Table.RemoveRows(table as table,offset as number,optional count as nullable number)as table

参数1代表需要操作的表;参数2代表偏移的位置,数字从0开始;第3参数代表需要删除的行,默认为1。

例:

Table.RemoveRows(源,1)=

Table.RemoveRows(源,2,0)=

解释:因为第3参数是0,也就是不删除,所以保留原表。


Table.RemoveRows(源,2,1)=

解释:从表中偏移2行后再删除1行,也就是删除的是原表的第3行。


3.     删除匹配行提取

Table.RemoveMatchingRows(tableas table,rows as list,optional equationCriteria as any) as table

删除出现所有指定的记录。第1个参数是需要操作的表;第2参数是行的列表,可以理解为记录的条件列表;第3参数和第2参数的比较,可以理解为列匹配,通常指的是字段名匹配。

例:


Table.RemoveMatchingRows(源, {[成绩=90]},"成绩")=

解释:删除所有成绩为90的记录并生成一个新表。源代表的是步骤名称,表示在当前查询中进行的操作,因为是记录所以有明确的记录值。记录是没有筛选的,所以只有绝对的引用值。


Table.RemoveMatchingRows(源, {[成绩=90,学科="英语"]},{"成绩","学科"})=

解释:删除所有成绩为90并且学科为英语的记录。第3参数列里面的字段名称和第2参数里面的字段名称进行匹配。


Table.RemoveMatchingRows(源, {[成绩=90,学科="英语",姓名="张三"]},{"姓名"})=

解释:原本条件是删除所有成绩为90,学科="英语"并且姓名="张三"的记录,但是第3参数的匹配只有姓名,所以只匹配姓名的条件。也就是只操作删除姓名="张三"的记录的动作。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容