PowerBI:同时将类型更改为多列

PowerBI: Change type to multiple columns at the same time

我在 Power BI 的 Power Query 编辑器中工作。 我有一个名为 Source 的 table,其中列的顺序为:

| Country | Attribute | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 |

您可以在下图中看到table:

我想将列类型更改为从“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} )
  )

所以我正在尝试为 "each" 值重复命令 Table.TransformColumnTypes

List.Range(Table.ColumnNames(Source), 2, List.Count(Table.ColumnNames(Source)) as number)

基本上 select 从第三列到最后一列的每一列 header 名称。

我尝试以多种方式写下来,也使用 $(...).each(function(...)) 或使用其他 list. 函数,但其​​中 none 似乎有效。

我能做什么?

您的 Table.ColumnNames 功能是正确的。

试一试:

= Table.TransformColumnTypes(
      Source,
      List.Transform(
          List.RemoveFirstN(
              Table.ColumnNames(Source),
              2
          ),
      each {_, type number}
      )
  )

List.RemoveFirstN 函数从您的列名称列表中删除前 N = 2 列,然后您将每个剩余的列更改为 type number