更改 table 中所有列的数据类型

Change data type of all columns in a table

如果我想转换table中所有列的数据类型(列的数量和名称将来可以更改)。 我找到了以下解决方案:

let
    Source = Excel.CurrentWorkbook(){[Name="YourTable"]}[Content],
    LSTHeaders = Table.ColumnNames(Source),
    HowMany = List.Count(LSTHeaders),
    Transformation = Table.TransformColumnTypes( Source, Table.ToRows(Table.FromColumns({LSTHeaders, List.Repeat({type number}, HowMany  )})))
in
    Transformation

它工作正常,但我不知道如何应用“en-US”数据格式。 我尝试了以下但没有奏效:

Transformation = Table.TransformColumnTypes( Source, Table.ToRows(Table.FromColumns({LSTHeaders, List.Repeat({type number}, "en-US"}, HowMany  )})))

有什么帮助吗?谢谢

您需要将文化作为 Table.TransformColumnTypes 函数的最后一个参数。

我通常是这样做的:

   typeAll = Table.TransformColumnTypes(Source, List.Transform(Table.ColumnNames(Source), each {_, type number}),"en-US")

但你可以修改你的:

Transformation = Table.TransformColumnTypes( Source, Table.ToRows(Table.FromColumns({LSTHeaders, List.Repeat({type number}, HowMany  )})),"en-US"),