Excel Power Query Advanced Editor разбивает код на шаги - PullRequest
0 голосов
/ 25 апреля 2019

Я создавал новый запрос в мощном запросе и открыл расширенный редактор, чтобы настроить один из шагов. Запрос работает нормально, но все шаги исчезли из меню «Прикладные шаги» справа и объединены в один шаг.

Как мне снова разбить их на маленькие шаги (что намного проще понять и устранить неисправности)?

Это происходит каждый раз, когда используется расширенный редактор?

Мой код ниже. Можно ли как-то показать каждую строку как отдельный шаг в меню «Примененные шаги» справа?

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"

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

По сути, мне не удалось сослаться на предыдущий шаг в редакторе мощности. Объяснение, которое помогло мне понять, что я делаю неправильно, было размещено на 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"

1 голос
/ 25 апреля 2019

Я думаю, что проблема здесь в том, что ваша ссылка in в самой последней строке относится ко второму-последнему шагу в М-коде. Если вы измените значение in #"Replaced Value1" на in #"Replaced Value2" Я подозреваю, что оно будет вести себя больше, чем вы ожидаете.

Возможно, вы также хотите, чтобы строка #"Replaced Value2" ссылалась на #"Replaced Value1", а не на вторую ссылку на #"Replaced Value".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...