Forum Discussion

ValeriaBreve's avatar
ValeriaBreve
Post Partisan
3 years ago
Solved

transform a column type based on column name

Hello,

I need to change the column type of my table based on a text they contain.

 

So I have my list with all the columns that should be converted to the type Currency.Type:


filter_type_names =
List.Select(
Table.ColumnNames( #"Removed Columns"),
each

List.ContainsAny(
{_},
ListColCurrency,
(x, y) => Text.Contains(x, y, Comparer.OrdinalIgnoreCase))
)

 

And I would like now to apply it. Now the below code does not work - I guess it's because I am giving the list of column names altogether instead of giving column by column (so item by item of the list)?

 

FinalTransformedColumns=Table.TransformColumnTypes( #"Removed Columns",{filter_type_names,Currency.Type})

 

How should I modify it?

 

Thanks a lot!

Kind regards

Valeria

 

 

  • Hi Valeria,

     

    does this work?

     

    FinalTransformedColumns = Table.TransformColumnTypes( #"Removed Columns", List.Transform( filter_type_names, each {_,Currency.Type}))

2 Replies

  • Jakinta's avatar
    Jakinta
    Solution Sage

    Hi Valeria,

     

    does this work?

     

    FinalTransformedColumns = Table.TransformColumnTypes( #"Removed Columns", List.Transform( filter_type_names, each {_,Currency.Type}))
    • ValeriaBreve's avatar
      ValeriaBreve
      Post Partisan

      Jakinta yes it does! Thank you so much! I had tried a List.Zip with "Currency.Type" as second argument for every column, but powerBI would not accept it not recognizing the text input "Currency.Type" as a type.

      Thanks again!