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
。
我在 Power BI 的 Power Query 编辑器中工作。
我有一个名为 Source
的 table,其中列的顺序为:
| Country | Attribute | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 |
您可以在下图中看到table:
= 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
。