【问题标题】:Is there any way how to refer actual column name as variable in Power Query有什么方法可以在 Power Query 中将实际列名作为变量引用
【发布时间】:2021-12-08 11:08:15
【问题描述】:

我是 Power Query 的新手,我想请教更有经验的人。

我正在尝试解决 Text.Combine 的问题,我想将特定列中的值和实际单元格的列名组合在一起。

你有什么想法吗?

我的想法是类似这样的公式:

=Text.Combine({[kod], Column.Name},";")

非常感谢您的回答。

托马斯

编辑 8.12.2021:

@horseyride

我实际上尝试使用以下格式的数据自动填充列,其中第一部分将是来自实际行和实际列名的值:

例如:

8M0183:F01A0101.B 在第一行第二列,

8M0182:F01A0102.A 在第二行第一列

下面提到的表格示例。

非常感谢您的所有回答。

【问题讨论】:

    标签: powerquery


    【解决方案1】:

    看看这是否适合你。对于未命名为 KOD 的每一列,它将 KOD 列与列名组合到每个空单元格中

    它会找到所有未命名为 KOD 的列。它将这些转换为文本。它用占位符替换所有空值,这里是“xxx”。我们将所有内容都集中到三列。然后,如果单元格内容等于占位符,我们将列标题和单元格内容合并。旋转以恢复原始格式

    let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    ColumnList=List.Difference(Table.ColumnNames(Source),{"KOD"}),
    ConvertToText=  Table.TransformColumnTypes (Source,List.Transform(ColumnList, each {_ , type text})),
    ReplaceNullsWithPlaceholder = Table.ReplaceValue(ConvertToText,null,"xxx",Replacer.ReplaceValue,ColumnList),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(ReplaceNullsWithPlaceholder, {"KOD"}, "Attribute", "Value"),
    CombineColumnAndRow = Table.AddColumn(#"Unpivoted Other Columns", "Value2", each if [Value]="xxx" then [Attribute]&":"&[KOD] else [Value]),
    #"Removed Columns" = Table.RemoveColumns(CombineColumnAndRow,{"Value"}),
    #"Pivoted Column1" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[Attribute]), "Attribute", "Value2")
    in #"Pivoted Column1"
    

    【讨论】:

    • 我已经用更多细节更新了主要问题。你能看看吗?非常感谢。
    • 为你重做答案
    • 非常感谢!我真的很感激!
    猜你喜欢
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 2017-11-03
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多