基于部分标题的Table.TransformColumns

时间:2019-02-06 09:03:25

标签: excel powerquery

我有一张表,其中每个客户端都有一个DATA列和一个RETURN列,每个客户端中的值都需要除以一个值。由于我不知道每个月获得源工作簿时有多少客户,因此我唯一的常数是DATA(m)和RETURN标头。

我试图将标题的标题为“ DATA(m)”的每一列分开。因为原始标头是客户名称,所以我已经调换了表格,交换了列并调换了数据以切换2行。然后,我将“ DATA(m)”和“ RETURN”提升到标题中,因为每个客户端有1个;添加后缀以避免重复的标题。 我只需要一种基于每个标题的前缀来完成转换列的方法。

#"DATADivide" = Table.TransformColumns (#"Transposed Table1", {{"DATA (m)", each _ / 1000, type number}})

我希望对于在标题中出现该短语的每个实例,将“ DATA(m)”列中的值除以1000(并且可以复制相同的代码以在Return上工作)。

非常感谢

1 个答案:

答案 0 :(得分:0)

这会将列名称中包含“ Data(”的所有列除以1000

let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
ColumnList = List.Select(Table.ColumnNames(Source), each Text.Contains(_, "Data (")),,
Divide= Table.TransformColumns(Source, List.Transform(ColumnList, each {_, (inner) => inner / 1000, type number}))
in Divide