The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hi,
I need to transform the data type of all columns in a table (the number and the name of the columns can change in the future).
In another post I found the following solution:
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 )})))
It works fine but I don't know how to apply "en-US" data format.
I tried the following but didn't work:
Transformation = Table.TransformColumnTypes( Source, Table.ToRows(Table.FromColumns({LSTHeaders, List.Repeat({
{type number}, "en-US"}, HowMany )})))
Any help? Thanks
Solved! Go to Solution.
or this (not tested)
Transformation = List.Accumulate(LSTHeaders,Source, (s,c)=>Table.TransformColumnTypes( s, {c,type number}, "en-US")
try this
Transformation = Table.TransformColumnTypes( Source, Table.ToRows(Table.FromColumns({LSTHeaders, List.Repeat({
{type number}}, HowMany )})), "en-US")
or this (not tested)
Transformation = List.Accumulate(LSTHeaders,Source, (s,c)=>Table.TransformColumnTypes( s, {c,type number}, "en-US")
Thanks a lot
Transformation = Table.TransformColumnTypes(Source, List.Transform(LSTHeaders,each {_, type number}),"en-US")
or this
Thanks Rocco, this works like a charm