我正在Power BI的Power Query Editor中工作。
我有一个名为Source
的表,其中各列具有以下顺序:
| Country | Attribute | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 |
您可以在下图中看到表格:
我想将列类型从“ 2014”更改为“ 2021”。 我知道可以使用以下命令分别表示每一列:
= Table.TransformColumnTypes(
Source,
{{"2014", type number}, {"2015", type number}, {"2016", type number}, {"2017", type number}, {"2018", type number}, {"2019", type number}, {"2020", type number}, {"2021", type number}}
)
但是我想设置一个自动执行该命令的命令。我正在尝试做类似的事情:
= Table.TransformColumnTypes(
Source,
each( {List.Range(Table.ColumnNames(Source), 2, List.Count(Table.ColumnNames(Source)) as number),
type number} )
)
因此,我尝试为以下命令的“每个”值重复命令Table.TransformColumnTypes
:
List.Range(Table.ColumnNames(Source), 2, List.Count(Table.ColumnNames(Source)) as number)
基本上选择了从第三列到最后一列范围内的每个列标题名称。
我尝试通过多种方式将其写下来,也使用$(...).each(function(...))
或使用其他list.
函数,但是似乎都不起作用。
我该怎么办?
答案 0 :(得分:1)
借助Table.ColumnNames
功能,您处在正确的轨道上。
尝试一下:
= Table.TransformColumnTypes(
Source,
List.Transform(
List.RemoveFirstN(
Table.ColumnNames(Source),
2
),
each {_, type number}
)
)
List.RemoveFirstN
函数从列名称列表中删除前N = 2
列,然后将其余各列更改为type number
。