Table.Skip删除前面N….Skip/RemoveFirstN(Power Query 之 M 语言)

数据源:

       “姓名”“基数”“个人比例”“个人缴纳”“公司比例”“公司缴纳”“总计”,共7列5行数据 

目标:

       删除掉前面三行(只留下后面两行数据) 

操作过程:

        【主页】》【删除行】》【删除最前面几行】》输入删除的行数》【确定】

   

M公式:

        删除行:= Table.Skip( 表, 删除的行数或条件

说明:

  同保留前面N行Table.FirstN

  第二参数缺省时默认为1  

最终效果:

       数据只剩下后两行 

多说一句:

  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}

posted @ 2021-08-24 15:44  熬肥妖  阅读(1198)  评论(0编辑  收藏  举报