有啥方法可以在 Power Query 中将实际列名作为变量引用
Posted
技术标签:
【中文标题】有啥方法可以在 Power Query 中将实际列名作为变量引用【英文标题】: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 在第二行第一列
下面提到的表格示例。
非常感谢您的所有回答。
【问题讨论】:
【参考方案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"
【讨论】:
我已经用更多细节更新了主要问题。你能看看吗?非常感谢。 为你重做答案 非常感谢!我真的很感激!以上是关于有啥方法可以在 Power Query 中将实际列名作为变量引用的主要内容,如果未能解决你的问题,请参考以下文章
Power BI:如何在 Power Query 编辑器中将 Python 与多个表一起使用?
Power Query 中是不是有一种方法可以根据基于文本值重置的两列计算运行总计?