Excel Power Query 高级编辑器将代码分解为多个步骤

Excel Power Query Advanced Editor breaking code into steps

我在 power query 中创建了一个新查询,并打开了高级编辑器来调整其中一个步骤。查询工作正常,但所有步骤都从右侧的 "Applied Steps" 菜单中消失并合并为一个步骤。

如何再次将这些分解成小步骤(这样更容易理解和解决问题)?

每次使用高级编辑器都会出现这种情况吗?

下面是我的代码。我能否以某种方式在右侧的 "applied steps" 菜单中将每一行显示为单独的步骤?

let

    Source = Excel.CurrentWorkbook(){[Name="FlagsAllClients"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Portfolio Manager", type text}, {"Client ID", type text}, {"Client Name", type text}, {"KE", type text}, {"Portfolio ID", type text}, {"Days Out", Int64.Type}, {"Risk Category", type text}, {"Risk", type text}, {"Tracking Error", type text}, {"Concentration", type text}, {"Sector", type text}, {"Buy-List", type text}, {"Max Hld Wt", type text}, {"Anom. Hldgs", type text}, {"Concentration Issuer", type text}, {"Portfolio Value", type number}, {"Date", type datetime}}),

    #"Merged Queries" = Table.NestedJoin(#"Changed Type",{"Portfolio Manager"},BD_Office,{"BG"},"BD_Office",JoinKind.LeftOuter),
    #"Expanded BD_Office" = Table.ExpandTableColumn(#"Merged Queries", "BD_Office", {"Team"}, {"BD_Office.Team"}),
    #"Merged Queries1" = Table.NestedJoin(#"Expanded BD_Office",{"Client ID"},FlagsT,{"Client ID"},"FlagsT",JoinKind.LeftOuter),
    #"Expanded FlagsT" = Table.ExpandTableColumn(#"Merged Queries1", "FlagsT", {"Risk", "Sector", "Buy-List", "Max Hld Wt"}, {"FlagsT.Risk", "FlagsT.Sector", "FlagsT.Buy-List", "FlagsT.Max Hld Wt"}),
    #"Merged Queries2" = Table.NestedJoin(#"Expanded FlagsT",{"Client ID"},FlagsT_1,{"Client ID"},"FlagsT_1",JoinKind.LeftOuter),
    #"Expanded FlagsT_1" = Table.ExpandTableColumn(#"Merged Queries2", "FlagsT_1", {"Risk", "Sector", "Buy-List", "Max Hld Wt"}, {"FlagsT_1.Risk", "FlagsT_1.Sector", "FlagsT_1.Buy-List", "FlagsT_1.Max Hld Wt"}),
    #"Removed Other Columns" = Table.SelectColumns(#"Expanded FlagsT_1",{"Portfolio Manager", "Client ID", "Client Name", "KE", "Portfolio Value", "BD_Office.Team", "FlagsT.Risk", "FlagsT.Sector", "FlagsT.Buy-List", "FlagsT.Max Hld Wt", "FlagsT_1.Risk", "FlagsT_1.Sector", "FlagsT_1.Buy-List", "FlagsT_1.Max Hld Wt"}),
    #"Reordered Columns" = Table.ReorderColumns(#"Removed Other Columns",{"BD_Office.Team", "Portfolio Manager", "Client ID", "Client Name", "KE", "Portfolio Value", "FlagsT.Risk", "FlagsT.Sector", "FlagsT.Buy-List", "FlagsT.Max Hld Wt", "FlagsT_1.Risk", "FlagsT_1.Sector", "FlagsT_1.Buy-List", "FlagsT_1.Max Hld Wt"}),
    #"Replaced Value" = Table.ReplaceValue(#"Reordered Columns","X","1",Replacer.ReplaceValue,{"FlagsT.Risk","FlagsT.Sector","FlagsT.Buy-List","FlagsT.Max Hld Wt","FlagsT_1.Risk","FlagsT_1.Sector","FlagsT_1.Buy-List","FlagsT_1.Max Hld Wt"}),
    #"Replaced Value1" = Table.ReplaceValue(#"Replaced Value","!","0",Replacer.ReplaceText,{"FlagsT.Risk","FlagsT.Sector","FlagsT.Buy-List","FlagsT.Max Hld Wt","FlagsT_1.Risk","FlagsT_1.Sector","FlagsT_1.Buy-List","FlagsT_1.Max Hld Wt"}),
    #"Replaced Value2" = Table.ReplaceValue(#"Replaced Value","2","0",Replacer.ReplaceText,{"FlagsT.Risk","FlagsT.Sector","FlagsT.Buy-List","FlagsT.Max Hld Wt","FlagsT_1.Risk","FlagsT_1.Sector","FlagsT_1.Buy-List","FlagsT_1.Max Hld Wt"})

in

    #"Replaced Value1"

我认为这里的问题是您在最后一行中的 in 引用指的是 M 代码中的倒数第二步。如果您将 in #"Replaced Value1" 更改为 in #"Replaced Value2",我怀疑它的行为会更像您期望的那样。

您可能还希望 #"Replaced Value2" 行引用 #"Replaced Value1" 而不是对 #"Replaced Value".

的第二个引用

基本上,我没有在 Power Editor 中引用上一步。 https://social.technet.microsoft.com/Forums/en-US/bfe0e2e4-16e0-4d76-b3b9-27a43ce27866/excel-power-query-advanced-editor-breaking-code-into-steps?forum=powerquery

上发布了帮助我理解我做错了什么的解释

幂查询代码一般是这样写的:

        let
            step1 = blah blah,
            step2 = blah(step1 blah),
            step3 = blah(step2, blah)
        in
            step3

所以如果你添加了一个新步骤,请记住接下来的步骤必须引用它, "in" 之后最后一行的步骤应该是最后一步。你可能忘了改变 "in"

之后的步骤名称