Luc*_*ola 2 columnname m powerquery powerbi
我在 Power BI 的 Power Query 编辑器中工作。我有一个名为的表Source,其中列的顺序如下:
| Country | Attribute | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 |
Run Code Online (Sandbox Code Playgroud)
您可以看到下图中的表格:
我想将列类型更改为从“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}}
)
Run Code Online (Sandbox Code Playgroud)
但我想设置一个以自动化方式执行此操作的命令。我正在尝试执行以下操作:
= Table.TransformColumnTypes(
Source,
each( {List.Range(Table.ColumnNames(Source), 2, List.Count(Table.ColumnNames(Source)) as number),
type number} )
)
Run Code Online (Sandbox Code Playgroud)
所以我试图Table.TransformColumnTypes为“每个”值重复命令:
List.Range(Table.ColumnNames(Source), 2, List.Count(Table.ColumnNames(Source)) as number)
Run Code Online (Sandbox Code Playgroud)
基本上选择从第三列到最后一列范围内的每个列标题名称。
我尝试以多种方式写下来,也$(...).each(function(...))使用或使用其他list.功能,但似乎都不起作用。
我能做什么?
您使用该Table.ColumnNames功能走在正确的轨道上。
试试这个:
= Table.TransformColumnTypes(
Source,
List.Transform(
List.RemoveFirstN(
Table.ColumnNames(Source),
2
),
each {_, type number}
)
)
Run Code Online (Sandbox Code Playgroud)
该List.RemoveFirstN函数N = 2从列名列表中删除第一列,然后将剩余的每一列更改为type number。
| 归档时间: |
|
| 查看次数: |
3912 次 |
| 最近记录: |