Table.Skip删除前面N….Skip/RemoveFirstN(Power Query 之 M 语言)
数据源:
“姓名”“基数”“个人比例”“个人缴纳”“公司比例”“公司缴纳”“总计”,共7列5行数据
目标:
删除掉前面三行(只留下后面两行数据)
操作过程:
【主页】》【删除行】》【删除最前面几行】》输入删除的行数》【确定】
M公式:
删除行:= Table.Skip( 表, 删除的行数或条件)
说明:
最终效果:
数据只剩下后两行
多说一句:
Table.FirstN/Table.RemoveLastN/ Table.LastN/Table.Skip这4个M函数的作用,就在于按固定行数删除一个数据表前面或后面的行,参数都非常简单,只有两个,步骤名和待删除或保留的行数(或条件)。
这4个M函数的现实意义非常大,因为我们的制表习惯,一个数据表的标题行(表头)往往不在整个数据表的第一行,数据表的后面又会加一些固定的内容,如下图。
其实,这种结构在做多工作表/簿合并的时候,这些多出来的表头和表尾都会给操作带来麻烦,这时候就需要借助于M公式,先将数据表中不需要的行去除,再进行合并。这一操作除了涉及到以上M函数以外,还会涉及到函数嵌套。关于具体的应用,后续会有相关文章说明。
扩展:
表中删除前N行:=Table.RemoveFirstN( 表, 删除的行数或条件)
用法、效果与Table.Skip相同,Skip意为“跳过”,Remove才是正经“删除”
列表中删除前N项:= List.Skip( 列表, 删除的项数或条件)
第二参数缺省时默认为1
示例:=List.Skip({1..10}, 7)
结果:保留列表中的后3项,即{8,9,10}
列表中删除前N项:= List.RemoveFirstN( 列表, 删除的项数或条件)
第二参数缺省时默认为1
示例:=List.RemoveFirstN({1..10}, 3)
结果:删除列表中的前3项,即{4,5,6,7,8,9,10}