有什么方法可以在 Power Query 中将实际列名引用为变量
Is there any way how to refer actual column name as variable in Power Query
我是Power Query的新手,想请教更多有经验的人。
我正在尝试解决 Text.Combine 的问题,我想将特定列中的值和实际单元格的列名称组合在一起。
你有什么想法吗?
我的想法是类似这样的公式:
=Text.Combine({[kod], Column.Name},";")
非常感谢您的回答。
托马斯
编辑 2021 年 12 月 8 日:
@horseyride
我实际上尝试使用以下格式的数据自动填充列,其中第一部分将是实际行和实际列名称的值:
例如:
8M0183:F01A0101.B 第一行第二列,
8M0182:F01A0102.A 第二行第一列
Table 下面提到的例子。
非常感谢您的所有回答。
看看这是否适合您。对于未命名为 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"
我是Power Query的新手,想请教更多有经验的人。
我正在尝试解决 Text.Combine 的问题,我想将特定列中的值和实际单元格的列名称组合在一起。
你有什么想法吗?
我的想法是类似这样的公式:
=Text.Combine({[kod], Column.Name},";")
非常感谢您的回答。
托马斯
编辑 2021 年 12 月 8 日:
@horseyride
我实际上尝试使用以下格式的数据自动填充列,其中第一部分将是实际行和实际列名称的值:
例如:
8M0183:F01A0101.B 第一行第二列,
8M0182:F01A0102.A 第二行第一列
Table 下面提到的例子。
非常感谢您的所有回答。
看看这是否适合您。对于未命名为 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"