通过应用程序删除Power BI中数据集中的单行

问题描述 投票:0回答:4

我想删除 dataset 中表中的特定行。我可以通过应用程序执行此操作还是只能手动执行此操作。因为我们可以删除表的所有行,但不能删除单个行。为什么会这样?

powerbi powerbi-embedded
4个回答
2
投票

您无法删除 Power BI 查询中的单行,除非它是查询结果的第一行或最后一行,在这种情况下您可以使用“删除行”命令。

您可能希望使用排序将该行公开为数据集中的第一行/最后一行。

如果要删除数据集中间的一行,可以创建一个过滤器,从查询中排除该行,但您需要指定过滤器匹配该特定行的条件。


2
投票

实际上,使用删除行选项中的“删除替代行”功能似乎就足够了,然后将其修改为您自己的目的。

例如,我有 30 行,但想删除第二行。 要删除的第一行: 2 要删除的行数: 1 要保留的行数: 29

这仅删除了第 2 行,因此如果您只想删除一行,它似乎可以工作。


2
投票

我从这里得到了这个想法:https://community.powerbi.com/t5/Desktop/Delete-only-2-pspecial-rows/m-p/249275#M110551。 ...摆弄了一下,最后得到这个:

在查询编辑器中,单击“高级编辑器”。 ...这将显示直到最后一个步骤的所有应用步骤,例如

let
    Source = Excel.Workbook(File.Contents("D:\LTE_FBP.xlsm"), null, true),
    cap_Sheet = Source{[Item="cap",Kind="Sheet"]}[Data],
    #"Changed Type" = Table.TransformColumnTypes(cap_Sheet,{{"Column1", type any}, {"Column2", type any}, {"Column3", type any}, …, {"Column941", type any}}),
    #"Removed Top Rows" = Table.Skip(#"Changed Type",3),
    #"Removed Bottom Rows" = Table.RemoveLastN(#"Removed Top Rows",22),
    #"Removed Bottom Rows1" = Table.RemoveLastN(#"Removed Bottom Rows",1)
in
    #"Removed Bottom Rows1"

通过仅删除第 2 行来增强这一点

let
    Source = Excel.Workbook(File.Contents("D:\_Ulm\# ECE Data Analyst\Power BI\LTE_eNB_Feature_Build_Plan 960051.xlsm"), null, true),
    cap_Sheet = Source{[Item="cap",Kind="Sheet"]}[Data],
    #"Changed Type" = Table.TransformColumnTypes(cap_Sheet,{{"Column1", type any}, {"Column2", type any}, {"Column3", type any}, …, {"Column941", type any}}),
    #"Removed Top Rows" = Table.Skip(#"Changed Type",3),
    #"Removed Bottom Rows" = Table.RemoveLastN(#"Removed Top Rows",22),
    #"Removed Bottom Rows1" = Table.RemoveLastN(#"Removed Bottom Rows",1),
    #"Remove Row 2 only" = Table.RemoveRows(#"Removed Bottom Rows1",1,1)
in
    #"Remove Row 2 only"

然后通过删除第 2 行和第 3 行(上一步后剩下的内容)来增强这一点

let
    Source = Excel.Workbook( File.Contents("D:\_Ulm\# ECE Data Analyst\Power BI\LTE_eNB_Feature_Build_Plan 960051.xlsm"), null, true),
    cap_Sheet = Source{[Item="cap", Kind="Sheet"]}[Data],
    #"Changed Type" = Table.TransformColumnTypes(cap_Sheet,{{"Column1", type any}, {"Column2", type any}, {"Column3", type any}, …, {"Column941", type any}}),
    #"Removed Top Rows" = Table.Skip(#"Changed Type",3),
    #"Removed Bottom Rows" = Table.RemoveLastN(#"Removed Top Rows",22),
    #"Removed Bottom Rows1" = Table.RemoveLastN(#"Removed Bottom Rows",1),
    #"Remove Row 2 only" = Table.RemoveRows(#"Removed Bottom Rows1",1,1),
    #"Remove Row 3and4" = Table.RemoveRows(#"Remove Row 2 only",1,2)
in
    #"Remove Row 3and4"

所以,在命令 Table.RemoveRows 中

  • 第一个参数是对上一步名称的引用
  • 第二个参数是前面所有步骤之后剩下的绝对行号=>因为第2行要被删除并且参数为1,很明显行计数从0开始
  • 第3个参数是要删除的行数

我刚刚开始使用 Power BI,我不确定是喜欢它还是讨厌它;-)

玩得开心!


0
投票

这种情况对我来说似乎很麻烦,您应该能够轻松删除突出显示的行,而且,应该有一个标记为删除的选项,以便您可以在提交删除之前仔细检查

  • 如果有人对快速仔细检查要删除的内容或快速删除单个选定行有简单的建议,请告诉我
© www.soinside.com 2019 - 2024. All rights reserved.