• Skip to main content
  • Skip to header right navigation
  • Skip to site footer

My Online Training Hub

Learn Dashboards, Excel, Power BI, Power Query, Power Pivot

  • Courses
  • Pricing
    • Free Courses
    • Power BI Course
    • Excel Power Query Course
    • Power Pivot and DAX Course
    • Excel Dashboard Course
    • Excel PivotTable Course – Quick Start
    • Advanced Excel Formulas Course
    • Excel Expert Advanced Excel Training
    • Excel Tables Course
    • Excel, Word, Outlook
    • Financial Modelling Course
    • Excel PivotTable Course
    • Excel for Customer Service Professionals
    • Excel for Operations Management Course
    • Excel for Decision Making Under Uncertainty Course
    • Excel for Finance Course
    • Excel Analysis ToolPak Course
    • Multi-User Pricing
  • Resources
    • Free Downloads
    • Excel Functions Explained
    • Excel Formulas
    • Excel Add-ins
    • IF Function
      • Excel IF Statement Explained
      • Excel IF AND OR Functions
      • IF Formula Builder
    • Time & Dates in Excel
      • Excel Date & Time
      • Calculating Time in Excel
      • Excel Time Calculation Tricks
      • Excel Date and Time Formatting
    • Excel Keyboard Shortcuts
    • Excel Custom Number Format Guide
    • Pivot Tables Guide
    • VLOOKUP Guide
    • ALT Codes
    • Excel VBA & Macros
    • Excel User Forms
    • VBA String Functions
  • Members
    • Login
    • Password Reset
  • Blog
  • Excel Webinars
  • Excel Forum
    • Register as Forum Member

Changing Column types dynamically in a query|Power Query|Excel Forum|My Online Training Hub

You are here: Home / Changing Column types dynamically in a query|Power Query|Excel Forum|My Online Training Hub
Avatar
sp_LogInOut Log In sp_Registration Register
sp_Search Search
Advanced Search|Last Search Results
Search
Forum Scope




Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
sp_Search Search
sp_RankInfo
Lost password?
sp_CrumbsHome HomeExcel ForumPower QueryChanging Column types dynamically i…
sp_PrintTopic sp_TopicIcon
Changing Column types dynamically in a query
Avatar
jaryszek
Member
Members
Level 0
Forum Posts: 183
Member Since:
February 1, 2019
sp_UserOfflineSmall Offline
1
September 21, 2021 - 7:49 pm
sp_Permalink sp_Print sp_EditHistory

hi Guys,

i am using this code to change all columns of table to type "text":

Table2 query:

let
Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
#"Changed Type" = List.Accumulate(Table.ColumnNames(Source), Source, (state, current) => try Table.TransformColumnTypes(state,{{current, type text}}) otherwise state)
in
#"Changed Type"

But what i have to is to provide exactly from another table column types and use it in function to get proper columns types in Table2.

ColumnTypes table:

TableNameColNameColumnType

Table2 Col1 text
Table2 Col2 Int64.Type
Table2 Col3 number

So from this table i have to get that Col1 is text, Col2 is Int64.Type and apply into my query for Table2. 

How can i achieve this ?

Thank you for help,
Jacek

sp_AnswersTopicSeeAnswer See Answer
Avatar
Catalin Bombea
Iasi, Romania
Admin
Level 10
Forum Posts: 1810
Member Since:
November 8, 2013
sp_UserOfflineSmall Offline
2
September 23, 2021 - 5:24 pm
sp_Permalink sp_Print

Build a custom function to get the type. If the name of the new function is GetType, replace:
{current, type text}

with:

{current, type GetType(current)}

(pass the current column name to the new function, that should return the type from your types table.

Avatar
jaryszek
Member
Members
Level 0
Forum Posts: 183
Member Since:
February 1, 2019
sp_UserOfflineSmall Offline
3
September 24, 2021 - 3:41 pm
sp_Permalink sp_Print

Thank you. 

So in this function just filtering table to get specific row? 

I have to get just an exact value , not list ?

Best Wishes,
Jacek

Avatar
Catalin Bombea
Iasi, Romania
Admin
Level 10
Forum Posts: 1810
Member Since:
November 8, 2013
sp_UserOfflineSmall Offline
4
September 24, 2021 - 4:18 pm
sp_Permalink sp_Print

Yes, filter to get to the row you need, then extract the value from the column you want.

Post your function here if you get stuck.

Avatar
jaryszek
Member
Members
Level 0
Forum Posts: 183
Member Since:
February 1, 2019
sp_UserOfflineSmall Offline
5
October 1, 2021 - 4:01 pm
sp_Permalink sp_Print sp_EditHistory

Hello,

i am getting back with function:, something like:

let
TabName = "Table2",
ColName = "Col2",
Source = ColumnTypes,
#"Filter" = Table.SelectRows(Source, each ([TableName] = TabName and [ColumnName]= "Name")){0}[ColumnType]
in
#"Filter"

the issue is that now i have to do something similar but from string:

{"DiskSize",Int64.Type}, {"DiskSizeGiB",type text} - i have exact strings in table which i should use as columns. 
Could i read the string and put in ChangedType statement somehow? 

Best,
Jacek

Avatar
jaryszek
Member
Members
Level 0
Forum Posts: 183
Member Since:
February 1, 2019
sp_UserOfflineSmall Offline
6
October 1, 2021 - 4:17 pm
sp_Permalink sp_Print

So Table4:

 

TableNameColumnTypes

Table2 {"Col1",type text}, {"Col2",type Int64.Type}, {"Col3", type number}

In attachment please find workbook example. 

Best,
Jacek

Avatar
Catalin Bombea
Iasi, Romania
Admin
Level 10
Forum Posts: 1810
Member Since:
November 8, 2013
sp_UserOfflineSmall Offline
7
October 4, 2021 - 2:45 pm
sp_Permalink sp_Print

See file attached for an example.

sp_AnswersTopicAnswer
Answers Post
Avatar
jaryszek
Member
Members
Level 0
Forum Posts: 183
Member Since:
February 1, 2019
sp_UserOfflineSmall Offline
8
October 5, 2021 - 11:24 pm
sp_Permalink sp_Print

You are thoe boss!!

 

Thank you,
Jacek

Avatar
look rider

New Member
Members
Level 0
Forum Posts: 1
Member Since:
November 28, 2022
sp_UserOfflineSmall Offline
9
November 28, 2022 - 9:43 pm
sp_Permalink sp_Print

What do I need to change in solution of #7 to make it work for the other types?

 

    #"Changed Type" = Table.TransformColumnTypes(Source,{
        {"Col_a", type number}, 
        {"Col_b", Currency.Type}, 
        {"Col_c", Int64.Type}, 
        {"Col_d", Percentage.Type}, 
        {"Col_e", type datetime}, 
        {"Col_f", type date}, 
        {"Col_g", type time}, 
        {"Col_h", type datetimezone}, 
        {"Col_i", type duration}, 
        {"Col_j", type text}, 
        {"Col_k", type logical}, 
        {"Col_l", type binary}})
Avatar
Catalin Bombea
Iasi, Romania
Admin
Level 10
Forum Posts: 1810
Member Since:
November 8, 2013
sp_UserOfflineSmall Offline
10
November 29, 2022 - 2:35 pm
sp_Permalink sp_Print

What other types you have in mind?

Should be easy to add new types in the list you mentioned, with any types you need.

sp_Feed
Go to top
Forum Timezone: Australia/Brisbane
Most Users Ever Online: 245
Currently Online: AndyC
Guest(s) 9
Currently Browsing this Page:
1 Guest(s)
Top Posters:
SunnyKow: 1432
Anders Sehlstedt: 871
Purfleet: 412
Frans Visser: 346
David_Ng: 306
lea cohen: 219
A.Maurizio: 202
Jessica Stewart: 202
Aye Mu: 201
jaryszek: 183
Newest Members:
Raj Mattoo
Mark Luke
terimeri dooriyan
Jack Aston
AndyC
Denise Lloyd
michael serna
mashal sana
Tiffany Kang
Leah Gillmore
Forum Stats:
Groups: 3
Forums: 24
Topics: 6219
Posts: 27276

 

Member Stats:
Guest Posters: 49
Members: 31903
Moderators: 3
Admins: 4
Administrators: Mynda Treacy, Philip Treacy, Catalin Bombea, FT
Moderators: MOTH Support, Velouria, Riny van Eekelen
© Simple:Press —sp_Information

Sidebar

Blog Categories

  • Excel
  • Excel Charts
  • Excel Dashboard
  • Excel Formulas
  • Excel PivotTables
  • Excel Shortcuts
  • Excel VBA
  • General Tips
  • Online Training
  • Outlook
  • Power Apps
  • Power Automate
  • Power BI
  • Power Pivot
  • Power Query
microsoft mvp logo
trustpilot excellent rating
Secured by Sucuri Badge
MyOnlineTrainingHub on YouTube Mynda Treacy on Linked In Mynda Treacy on Instagram Mynda Treacy on Twitter Mynda Treacy on Pinterest MyOnlineTrainingHub on Facebook
 

Company

  • About My Online Training Hub
  • Disclosure Statement
  • Frequently Asked Questions
  • Guarantee
  • Privacy Policy
  • Terms & Conditions
  • Testimonials
  • Become an Affiliate

Support

  • Contact
  • Forum
  • Helpdesk - For Technical Issues

Copyright © 2023 · My Online Training Hub · All Rights Reserved. Microsoft and the Microsoft Office logo are trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries. Product names, logos, brands, and other trademarks featured or referred to within this website are the property of their respective trademark holders.