按行位置筛选表
Power Query 具有多个选项,可根据表的行位置筛选表,保留或删除这些行。 本文介绍所有可用的方法。
保留行
保留行集函数将从表中选择一组行,并删除不符合条件的任何其他行。
在以下两个位置可以找到保留行按钮:
在主页选项卡上的 减少行组中。
在表菜单上。
注意
在 Power Query 窗口中间的数据预览部分中,可以看到行在表左侧的位置。 每一行的位置都用一个数字表示。 最上面一行从位置 1 开始。
保留最前面几行
假设下表来自一个具有固定布局的系统。
该报表总是包含七行数据,数据下面有一个部分用于注释,行数未知。 在此示例中,您只想保留前七行数据。 为此,请从表菜单中选择保留最前面几行。 在保留最前面几行对话框中,在行数对话框中输入 7。
更改的结果将为您提供要查找的输出表。 为列设置数据类型后,表将如下图所示。
保留最后几行
假设下表来自一个具有固定布局的系统。
初始示例表以 Column1、Column2 和 Column3 作为列标题,均设置为“文本”数据类型,底部七行包含数据,上方为列标题行和未知数量的注释。
此报表总是在报表页面的末尾包含七行数据。 在数据上方,报告有一个部分用于记录行数未知的注释。 在此示例中,您只希望保留最后七行数据和标题行。
为此,请从表菜单中选择保留最后几行。 在保留最后几行对话框中,在行数对话框中输入 8。
该操作的结果将提供 8 行,但现在标题行是表的一部分。
您需要从表的第一行提升列标题。 为此,请从表菜单中选择将第一行用作标题。 在为列定义数据类型之后,将创建如下图所示的表。
将第一行提升为列标题并保留七行数据,然后将“单位”设置为“数字”数据类型后,“保留最后几行”的最终示例表。
详细信息:提升或降级列标题
保留行的范围
假设下表来自一个具有固定布局的系统。
包含列(Column1、Column2 和 Column3)的初始示例表都设置为“文本”数据类型,并包含列标题和位于表中间的七行数据。
该报告总是包含 5 行标题,标题下面的一行列标题,列标题下面的 7 行数据,以及未知数量的注释部分。 在此示例中,您希望在报表的标题部分之后获取八行,并且只获取这八行。
为此,请从表菜单中选择保留行的范围。 在保留行的范围对话框中,在第一行框中输入 6,在行数框中输入 8。
与前面保留最后几行的示例类似,此操作的结果为您提供八行,其中列标题是表的一部分。 您定义(6 行)的第一行上方的任何行都将被删除。
可以执行与保留最后几行中所述的相同操作,以从表的第一行提升列标题。 为列设置数据类型后,表将如下图所示。
将第一行提升为列标题,将“单位”列设置为“数字”数据类型,并保留七行数据后,保留行的范围的最终示例表。
删除 行
这组函数将从表中选择一组行,将其删除,并保留表中的其余行。
在以下两个位置可以找到删除行按钮:
在主页选项卡上的 减少行组中。
在表菜单上。
删除前几行
假设下表来自一个具有固定布局的系统。
删除前几行的初始示例表,其中列(Column1、Column2 和 Column3)均设置为“文本”数据类型,顶部有一个标题,底部有一列标题行和七行数据。
此报表总是包含表第 1 行到第 5 行的固定标题。 在此示例中,您需要删除前五行并保留其余数据。
为此,请从表菜单中选择删除前几行。 在删除前几行对话框中,在行数框中输入 5。
与前面的“保留最后几行”和“保留行的范围”示例相同,此操作的结果为您提供八行,其中列标题是表的一部分。
可以执行与前面的示例中所述的相同操作,以从表的第一行提升列标题。 为列设置数据类型后,表将如下图所示。
将第一行提升为列标题,将“单位”列设置为“数字”数据类型,并保留七行数据后,删除前几行的最终示例表。
删除后几行
假设下表来自一个具有固定布局的系统。
删除最后几行的初始示例表,其中标题列全部设置为“文本”数据类型,七行数据,然后底部有一个固定长度的页脚。
此报表总是包含一个固定的部分或页脚,它占用表的最后五行。 在此示例中,您需要删除最后五行并保留其余数据。
为此,请从表菜单中选择删除最后几行。 在删除前几行对话框中,在行数框中输入 5。
更改的结果将为您提供要查找的输出表。 为列设置数据类型后,表将如下图所示。
删除可选行
假设下表来自一个具有动态布局的系统。
初始示例表,列标题存在,且全部设置为“文本”数据类型,其他每一个数据行都包含有关其上数据行的注释。
该报表的结构方式是将元素放在成对的行中。 每个奇数行(1、3、5...)都包含所需的数据。 每一个偶数行,就在每一个奇数行的正下方,都包含关于每一条记录的注释。 您不需要这些注释,并且希望删除所有注释。
为此,请从表菜单中选择删除可选行。 在删除可选行对话框中,输入以下值:
在要删除的第一行中,输入 2。
您希望从第二行开始计数。 要删除的第一行这一行上面的任何行都将保留。
在 要删除的行数框中,输入 1。
从这里开始定义删除行的模式。 找到第二行后,您只想删除该特定行,因此您指定只需要删除一行。
在要保留的行数框中,输入 1。
删除一行后,保留下一行。 对于下一行,该过程再次启动。
这一选择的结果将为您提供要查找的输出表。 为列设置数据类型后,表将如下图所示。