【问题标题】:Excel Power Query Merge and Transform columnsExcel Power Query 合并和转换列
【发布时间】:2021-03-18 16:57:16
【问题描述】:

我正在尝试将 2 列合并为一列,然后使用 Excel Power Query 将“空”行替换为相邻列中的值。到目前为止,我还无法解决此问题。 这些是我不成功的尝试:

尝试 1:

= Table.ExpandTableColumn(Source, "F 52 AGR_1016", {"AGR_NAME"}, {"F 52 AGR_1016.AGR_NAME"}),
 else Table.ReplaceValue(Source, each "", Replacer.ReplaceValue{"New value of line"})

尝试 2:

= Table.ExpandTableColumn(Source, "F 52 AGR_1016", {"AGR_NAME"}, {"F 52 AGR_1016.AGR_NAME"}), 
if #"F 52 AGR_1016" = "" then Replacer.ReplaceValue("","",{"New Value of line"}), else

我收到以下错误消息,但 Excel 没有显示该错误的确切位置:

Expression.SyntaxError: 应有令牌 Eof。

【问题讨论】:

    标签: excel powerquery


    【解决方案1】:

    你在做什么有点难,而且代码格式不正确。您不能将 if then 附加到 Table.ExpandTableColumn

    要合并两列:单击选择它们,右键单击,然后选择合并列

    要添加测试其他列值的列,请添加列 .. 自定义列 ... 并使用 = if xxx then yyy else zzz

    = if [Col1] = null then [Col2] else [Col3]
    

    这段代码扩展了三列;将 Column1 和 Column2 的文本值合并到一个名为 Merged 的​​新列中;创建 Column4,如果 Column3 为空,则结果为 Merge,如果 Column3 不为空,则创建 Column3

    ...
    #"Expanded" = Table.ExpandTableColumn(Source, "AllRows", {"Column1", "Column2", "Column3"}, {"Column1", "Column2", "Column3"}),
    #"Merged Columns" = Table.CombineColumns(#"Expanded",{"Column2", "Column1"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged"),
    #"Added Custom" = Table.AddColumn(#"Merged Columns", "Custom4", each if [Column3]=null then [Merged] else [Column3])
    

    【讨论】:

    • 您好,感谢您的回复!使用您的代码,我最终使用了一个简单的 if then 语句。我试图做的是为了保持低列数是合并 2 列,然后填写剩余的空白。现在我有 2 列,但既然它有效,我就这样保留它。
    猜你喜欢
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    • 1970-01-01
    相关资源
    最近更新 更多