【问题标题】:Concatenating dynamic column name to table - Power Query将动态列名连接到表 - Power Query
【发布时间】:2020-10-01 10:03:36
【问题描述】:

我正在尝试使用动态列创建数据列表,获取列名并将其附加到表中。

这是这个步骤引发错误的问题:

Expression.Error:我们无法将运算符 & 应用于表格和文本类型。

详情:

操作员=& 左=[表格]

Right=Test1

代码:

let
Source = Excel.Workbook(File.Contents("C:\Users\Sivakumar A\Desktop\Power BI\test1.xlsx"), null, true),
Sheet2_Sheet = Source{[Item="Sheet2",Kind="Sheet"]}[Data],
#"Promoted Headers" = Table.PromoteHeaders(Sheet2_Sheet, [PromoteAllScalars=true]),
#"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"Test1", type text}, {"Test2", Int64.Type}, {"Test3", Int64.Type}, {"Test4", Int64.Type}}),
#"Col Names" = Table.ColumnNames(#"Changed Type"),
#"Generate" = List.Generate(() => [i=-1,x= Table.FromList(#"Col Names",Splitter.SplitByNothing())],
each [i]<List.Count(#"Col Names"),
each [
i=[i]+1,
x=#"Promoted Headers"&#"Col Names"{i}

],
each [x])
in
Generate

我需要提取列名并将其附加到表中并循环执行

感谢任何帮助。

【问题讨论】:

  • 就像错误所说的那样,#"Promoted Headers" 是一个表,#"Col Names"{i} 是一个类似于"Test1" 的字符串。我不知道您希望通过此操作得到什么,或者您的最终结果应该是什么(为什么要将表中的列附加到已经包含该列的表上?)。
  • @AlexisOlson 感谢您的回复,问题已解决,请查看答案。

标签: powerbi powerquery m


【解决方案1】:

我的要求是使用 list.generate 将列名动态附加到表中,并从中生成值列表。

我能够使用双引号解决该问题 3 次。

"Table.Distinct(Table.FromList(#"&"""Sheet2 (2)"""&"["&#"Col Names"{i}&"], Splitter.SplitByNothing(), null, null, ExtraValues.Error))"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多