Combine Data from Multiple Excel Files with Inconsistent Column Names

Sdílet
Vložit
  • čas přidán 5. 07. 2024
  • Check out our newly launched M Language course ↗️ - goodly.co.in/learn-m-powerquery/
    In this video, we will learn how we can combine data from multiple excel files which contain different column names. We will also learn how to create a mapping table & plug that as the rename the inconsistent column names!
    ===== ONLINE COURSES =====
    ✔️ Mastering DAX in Power BI -
    goodly.co.in/learn-dax-powerbi/
    ✔️ Power Query Course-
    goodly.co.in/learn-power-query/
    ✔️ Master Excel Step by Step-
    goodly.co.in/learn-excel/
    ✔️ Business Intelligence Dashboards-
    goodly.co.in/learn-excel-dash...
    ===== LINKS 🔗 =====
    Blog 📰 - www.goodly.co.in/blog/
    Corporate Training 👨‍🏫 - www.goodly.co.in/training/
    Need my help on a Project 💻- www.goodly.co.in/consulting/
    Download File - goodly.co.in/combine-data-fro...
    ===== CONTACT 🌐 =====
    Twitter - / chandeep2786
    LinkedIn - / chandeepchhabra
    Email - goodly.wordpress@gmail.com
    ===== CHAPTERS =====
    0:00 Intro
    0:20 Explanation of the Problem & Data
    1:27 Understanding the Logic
    3:55 Getting all the Column Names
    8:01 Creating the Mapping Table in Excel
    9:28 Combining the Data & plugging in the Mapped Table
    15:47 Testing the Query
    17:41 My Courses
    ===== WHO AM I? =====
    A lot of people think that my name is Goodly, it's NOT ;)
    My name is Chandeep. Goodly is my full-time venture where I share what I learn about Excel and Power BI.
    Please browse around, you'd find a ton of interesting videos that I have created :) Cheers!
    - - - - -
    Music By: "After The Fall"
    Track Name: "Tears Of Gaia"
    Published by: Chill Out Records
    - Source: goo.gl/fh3rEJ​
    Official After The Fall CZcams Channel Below
    czcams.com/channels/GQE.html...
    License: Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
    Full license here: creativecommons.org/licenses
  • Věda a technologie

Komentáře • 283

  • @attaturk87
    @attaturk87 Před rokem +97

    I don't understand why this channel isn't bigger, seeing that the solutions he gives is by far explained in such a way that most people understand. Keep up the good work Sir.

    • @GoodlyChandeep
      @GoodlyChandeep  Před rokem +1

      Glad you think so!

    • @rajendratiwari5321
      @rajendratiwari5321 Před rokem

      Very true, I learnt about this channel few weeks back only. Great!!

    • @azizahmedkhan669
      @azizahmedkhan669 Před rokem

      absolutely true, i too believe this.

    • @ankeshankesh
      @ankeshankesh Před rokem

      I can't agree more!! Great work delivered seamlessly

    • @EciekPeciek
      @EciekPeciek Před rokem +1

      I agree. Goodly is Godly in what is he doing. Helped me many, many times

  • @shyamadasgupta9423
    @shyamadasgupta9423 Před 3 měsíci +5

    I am sure this is helpful to the excel experts. As a layman, I wanted step by step solution. Like starting right with the mapping tables. Everything was already created earlier, so i could not understand anything.

  • @richardmartin7904
    @richardmartin7904 Před 8 měsíci

    Wanted to let you know this proved useful to me. My case was far more complex and I had to debug somethings...but it worked! Saves me like 90 minutes of work.

  • @katiegordham872
    @katiegordham872 Před rokem

    This was an EXCELLENT tutorial, thank you so much.

  • @mangixism
    @mangixism Před rokem

    Hey Chandeep, thanks for the really good videos. It's really fun to listen to you and above all you explain everything really well. Keep up the good work!

  • @rajugsg
    @rajugsg Před rokem

    You are a MASTER of excel. Glad that I found your channel and is really informative/educational and highly useful.
    This channel deserves a millions of subscribers 🎉❤😊

  • @emilmubarakshin49
    @emilmubarakshin49 Před rokem

    This is soo amazingly helpful! Thank you!

  • @robkingston4518
    @robkingston4518 Před 3 měsíci

    This rocks! Thank you for a great explanation on this topic!

  • @maryjavasilyevna861
    @maryjavasilyevna861 Před rokem

    Thank you so much! Easy and effective solution .

  • @VirgilioAlbertoCardonaFajardo

    You're a lifesaver, I'm just getting started into Query logic and your channel has been tremendously helpful!

  • @kuuuyajim
    @kuuuyajim Před 3 měsíci

    Thank you for this tutorial...it's the perfect solution to the issue we are having with 100+ columns.

  • @calpoltab4681
    @calpoltab4681 Před 3 měsíci

    wonderful really, I had a tough time playing around inconsistent columns. A big thankyou 🙂

  • @anilb5836
    @anilb5836 Před 11 měsíci

    Thank you very much. I was working on such exercise since last 2 weeks and struggle a lot , referred many You tube videos but.... Hats up to you dear ...which helped to proceed further ..Very well explained ....

  • @excelemployeeleavetracker1274

    This was great as always. I have been doing this another way without Table.Combine and List function.I need to wrap my head around Table.Combine and List as this would make it more dynamic.

  • @emanuelecostantinocatanzar3042

    This video is really GREAT. Thank you Chandeep for your outstanding way to explain the solutions.

  • @jawadahmadehssan6251
    @jawadahmadehssan6251 Před rokem

    Thank you Chandeep. This is a common challenge faced while working with different data sets.

  • @the_creator99
    @the_creator99 Před 11 měsíci

    Been looking for this recently!
    Saved my life! 🎉

  • @cjimmer4877
    @cjimmer4877 Před rokem

    I will add this to my favorites. I have seen many techniques to combine inconsistent column names. I like this one. The list accumulate method I do not understand or at least can't remember each time I need it. But this method is memorable.

  • @TheCraigie007
    @TheCraigie007 Před rokem

    Loved it ! A very smart solution to a very common issue.

  • @mrtfia
    @mrtfia Před rokem +3

    Your videos are brilliant and you're so inspirational. You make it easy to understand the logic and then the code to apply the logic. This video has really helped me and I'd like to say a big THANK YOU !

  • @jerrydellasala7643
    @jerrydellasala7643 Před rokem

    Agree, Outstanding. NOTE: The Sales Data folder in the Zip file has two temporary files - names starting with ~ that are hidden and causing an error in the M Code. Just delete them to fix it. Also, change the folder path in the FolderLocation query, not the Data Source.

  • @daveys
    @daveys Před rokem

    Excellent video. I don’t think I could manage to replicate this but I found it a useful example of using PQ for wrangling data.

  • @__HumanBeing
    @__HumanBeing Před rokem

    Excellent video Chandeep! Thank you very much!

  • @eslamfahmy87
    @eslamfahmy87 Před 8 měsíci

    Woow. You coverd every thing 😊 by easiest way

  • @santoshpv321
    @santoshpv321 Před rokem

    A godly solution to a problem i have been facing for so long....Super.

  • @mumabird
    @mumabird Před 6 měsíci

    Omgggggggg you just saved my life. Thank you SO much ❤❤❤

  • @Bhavik_Khatri
    @Bhavik_Khatri Před rokem

    Excellent video. Thank you m8.

  • @seamushand8439
    @seamushand8439 Před rokem

    Very impressive. YOu have an incredibly deep understanding of the data structure

  • @januszb4494
    @januszb4494 Před rokem

    Thank you, I really needed this solution! :)

  • @tiwarirr
    @tiwarirr Před rokem

    Simply Gold Content as always.

  • @martyc5674
    @martyc5674 Před rokem

    Brilliant stuff- the best M channel 👌

  • @bodhanandannhattuvetty3179

    Very helpful video. Simple solution for a very common issue. Thank you very much for your effort to teach us.

  • @wayneedmondson1065
    @wayneedmondson1065 Před rokem +1

    Another awesome lesson! Thanks for providing the sample files too. Thumbs up!!

  • @anilkakade5793
    @anilkakade5793 Před rokem

    Thanks a lot ! It’s very helpful ❤

  • @shyamgupta963
    @shyamgupta963 Před rokem

    Really the videos that you post would be very helpful to those who works in the corporate world especially who into data and makes their job much easier. Thanks for your efforts and wish your dreams come true and achieve heights.

  • @ahsaaah7247
    @ahsaaah7247 Před rokem +2

    Hi, thank you for such a clear explanation. I hope you can help, not many people talk about this, but can we load each table as a separate data table? Or is it possible to horizontally combine all the tables if the date column is the same in all tables loaded here?

  • @MunnaBhaiUSA
    @MunnaBhaiUSA Před rokem

    Life Saver Video!

  • @ratiram9556
    @ratiram9556 Před rokem

    Nice , I m being a regular viewer of your channel. keep the good work.

  • @sarikavaidya6681
    @sarikavaidya6681 Před 3 měsíci

    Your vedios r very very good I basic learner will watch all one by one

  • @regihamp0206
    @regihamp0206 Před rokem

    Wow that was hard work!! I used this on a folder full of csv files!! I followed you step by step and....it worked...OMG How do you know this stuff!! i would have never figured this out! thantks

    • @ighorfontaine5075
      @ighorfontaine5075 Před rokem

      I have the same issue but doesn’t work because of the excel workbook function on csv files. Did you change the code? Thanks

  • @sherinthomas801
    @sherinthomas801 Před rokem +1

    Another great video. We have all faced this issue sometime in our data combine journey. Thanks for laying it out so clearly. I would like to request you to create a video on setting up incremental refresh for files in sharepoint folder in Power BI. I have seen some solutions online but have never been able to get them to work. Thanks again!

  • @AlvaroFreireAF1
    @AlvaroFreireAF1 Před rokem

    Great video! You save my day with this awesome tutorial 😁😁

  • @Urgosandspirit
    @Urgosandspirit Před rokem +7

    Good solution, I like it
    What I can point out as improvement is the stability issue that you pointed out at 16:47
    Indeed, you need to redo all of that because the table will store records which are not absolute, but some kind of position oriented based on content of the query behind it. I would say this is generally not a good practice to combine query generated table and manual input. Imagine you have multiple tables like that - it is extremely hard to control and spot the difference between them as at least they would be of the same color.
    My solution to such stability issues:
    1. load the query table, but remain it intact - do not add anything to it manually
    2. create another table manually and use different color theme (blue for example) so it is different from the query format
    3. name this table and its columns absolutely same way and copy the query table content to your manual table - at this point you will have two tables which will be identical for its content
    4. create data validation in manual table columns referring to the query table columns as a dynamic range using =INDIRECT("Table1[Column1]") string - you need to do it column by column
    5. extend the manual table with new columns that you need - "rename" column in your example
    6. add the controls through LEFT and RIGHT OUTER joins between the original query table and manual blue table to check the consistency - i.e., that you did not forget to include all of the entries to your manual table. Outcome of joins can be count or non-blank count that produces outcome of a check table with a single cell
    7. merge the manual table with other query tables inside the query editor to achieve your goal
    Yes, it is much more than shown but it gives your control and automated ways to check the correctness of a process
    That's critical for a repeated exercise
    Thanks again!

    • @HachiAdachi
      @HachiAdachi Před rokem +2

      Good solution! I was also going to suggest a use of a manual table but didn't think of the data validation idea. Perhaps, your Step 6 can be an "exception" list which would display any items not present in the manual table so that it is clear what item(s) need to be added. Maybe with a dynamic array like this:
      =FILTER( OrigTbl[Column], ISERROR( XMATCH( OrigTbl[Column], ManualTbl[Column] ) ), "Mapping is complete" )

  • @user-ez5os8nm2z
    @user-ez5os8nm2z Před 4 měsíci

    Excellent presentation. Thanks

  • @Dipakbohora
    @Dipakbohora Před rokem

    I am a very big fan of this channel. Your teaching skill very good that even newbies can easily understand. Thank you very much for this trick.

  • @danag5717
    @danag5717 Před 20 dny +1

    This video is gold. ❤

  • @danieladoro
    @danieladoro Před rokem

    Thank you so much, this was very helpful

  • @karimallahwala7022
    @karimallahwala7022 Před rokem

    Very good content and very useful.Thank very much

  • @DK_85
    @DK_85 Před rokem

    Thanks a lot! Very well understandable :)

  • @chankokseng1030
    @chankokseng1030 Před 6 měsíci

    i have watched alot videos and you are the best

  • @suhaimiabdazais
    @suhaimiabdazais Před rokem

    Really well explanation.. Just subscribed...

  • @ExcelWorkshop.
    @ExcelWorkshop. Před rokem

    One of the best explanations

  • @tuomiallen3427
    @tuomiallen3427 Před rokem

    I'm going to try this in my next assignment! Thank you! For the potential risk of wrongly aligned mapping table after a new file with new headers getting added, I wonder if a better way of doing it is to create a mapping table to be left joined to the dynamic column header table? It will still shows empty if a new table with new header gets added, but at least it won't map to the wrong thing after refreshed.

  • @domarregala5932
    @domarregala5932 Před rokem

    one of the best tutorial keep on sharing

  • @sumardjo
    @sumardjo Před měsícem

    thanks tutorial and simple file
    to step by step
    thank you very much

  • @user-ju1it8wf2j
    @user-ju1it8wf2j Před rokem

    It is so clever to transpose and convert to list of lists! :)

  • @ubonguttah
    @ubonguttah Před rokem

    Amazing Work.

  • @simonsales
    @simonsales Před rokem

    Good lesson!

  • @mukeshkadkol4759
    @mukeshkadkol4759 Před 9 měsíci

    Superb ! Keep it up !

  • @Will.Tru8
    @Will.Tru8 Před rokem

    this is amazing.. Thank You!

  • @davidmora668
    @davidmora668 Před 10 měsíci +1

    Hi, thanks for your video, I was wondering if this method could be applied to combine csv files instead excel files.

  • @umeshsawant2007
    @umeshsawant2007 Před 7 měsíci

    This is really good .. got lot to learn

  • @happyheart9431
    @happyheart9431 Před 4 měsíci

    Million Thanks

  • @patrickkinbonso1809
    @patrickkinbonso1809 Před 6 měsíci

    I have applied the learning from this video to the task that I need completing and it works a treat, thank you Chandeep.
    One quick question. I have no problem doing this when I use Power Query in Excel. How do I do the same when I use Power Query from within Power BI please?
    Specifically, how do I load the "mapping" list from Power BI into Excel, so I can generate the "rename" column before loading the table back from Excel into Power BI to generate the "Renames" query?
    Thanks

  • @idaeinjaw2139
    @idaeinjaw2139 Před rokem

    very useful thanks!

  • @abhijeetshetye3764
    @abhijeetshetye3764 Před rokem

    Amazing and very useful video. Thnx sir

  • @franciscom.paredesarias2356

    Excellent solution to a recurring problem. Greetings from Chile

  • @shobhavenkatesh20
    @shobhavenkatesh20 Před 5 měsíci

    Very well explianed.

  • @abdulwahidtamboli5801

    Thanks a lot, the video helped

  • @andrewmorris8531
    @andrewmorris8531 Před 9 měsíci

    This video is super helpful as are all the videos. I've learned so much from this channel. Question I have, in this video you create a custom column to create a table so we can see all the sheets within a file. Is it possible to filter to a particular sheet at this step BEFORE expanding the custom column? I have multiple excel files and each has mutliple sheets. One sheet on each file is over 600,000 rows, and I'd like to avoid loading that sheet when i click expand.Is this possible to do?

  • @TheMoh148
    @TheMoh148 Před rokem +1

    Many thanks Chandeep,
    For mapping list of lists:
    It will be better to use Table.ToRows only
    Instead of
    table.Transpose + Table.ToColumns
    Regards
    Mohammed from Algeria.

  • @Ypurenete
    @Ypurenete Před 11 měsíci

    Thanks for this video, Chandeep. Congrats!!

  • @RamiAlhaddad
    @RamiAlhaddad Před rokem

    Brilliant!!!

  • @zoomingby
    @zoomingby Před 8 měsíci

    Hi there, thank you for this! What if the Excel sheets/files have different numbers of columns, which of course will have names not common to the other data sources/files?

  • @derekraghoonandan6750
    @derekraghoonandan6750 Před 4 měsíci

    excellently executed (MASTER)

  • @SP_Investments
    @SP_Investments Před rokem

    As usual great 👍

  • @ighorfontaine5075
    @ighorfontaine5075 Před rokem

    Very good, it’s a tricky method! I try it with csv files and it failed because of the excel workbook function. I’ll look for on my own but maybe you’ve already solved this problem. Thanks

  • @ktalwandi
    @ktalwandi Před rokem

    wow, generating a list of all distinct column names for mapping is really genius. I also noticed that you faced the same problem of power query inserting rows in partial columns when query is refreshed which messes up the table. I got around this problem by using only VBA to refresh and disabling Explicit refresh. I don't think Microsoft is ever going to fix that.

  • @AbhayGadiya
    @AbhayGadiya Před rokem

    awesome, thanks for sharing

  • @tnssajivasudevan1601
    @tnssajivasudevan1601 Před rokem

    Excellent. Very useful

  • @M4D5K1L2
    @M4D5K1L2 Před rokem

    This guy blows my mind every time

  • @daler.abdulloev
    @daler.abdulloev Před rokem +1

    Great solution Chandeep 👌 Could you please show solution for xls (not xlsx) files ? Looking for ways to automated conversion to xlsx or way to combine and use xls :)

  • @walkingonwter
    @walkingonwter Před rokem +1

    Thank you for another great view. i am struggling to keep source file name in the final output. is that possible to do ...could you please help

  • @Lyriks_
    @Lyriks_ Před rokem

    This guy is pure genius undiluted

  • @rajendrakumaroram9812

    Really helpful❤️

  • @vadnerepravin
    @vadnerepravin Před rokem

    Thank you 💗

  • @Sumanth1601
    @Sumanth1601 Před rokem

    Excellent content 😊

  • @zahoorsarbandi2982
    @zahoorsarbandi2982 Před rokem

    Superb!. Par Excellence.

  • @ramandeepsr
    @ramandeepsr Před 10 měsíci

    This is super and is of big help!! Thank you!!
    Just wanted to know can we add the files names column at the end as sometimes we have to collate the data of different region, months, companies which will be very difficult to segregate without classifying.

  • @Gonza2432
    @Gonza2432 Před rokem

    Thanks bro. Good video.

  • @cdey2010
    @cdey2010 Před 9 měsíci

    wow, love it

  • @lokesh221188
    @lokesh221188 Před rokem

    Amazing 😍

  • @__HumanBeing
    @__HumanBeing Před rokem

    Very good and very useful trick Chandeep! Thank you very much.
    I found that if we hardcode the rename values in a custom column with "ifs" and "List.AnyTrue", we can skip the manual rename each time the sources change.
    Even better, we can create a function for renaming, and use it and update it as needed 🤷‍♂️
    The thing is, the rename with 6-10 columns is very easy, but 30 and more.. uff 😥

  • @FRANKWHITE1996
    @FRANKWHITE1996 Před rokem

    Thanks for sharing ❤

  • @sankhlayashraj
    @sankhlayashraj Před rokem

    Thank you Chandeep for this lovely video. Is there a way you can share a link to the video (if you have made) where we do merge different tables from sharepoint with different headers.

  • @Anilkumarda4
    @Anilkumarda4 Před 8 měsíci

    Thanks sir

  • @Milhouse77BS
    @Milhouse77BS Před rokem

    Bravo!!

  • @sanjaykapadiya
    @sanjaykapadiya Před 2 měsíci

    amazing, thanks for detailed explanation, very easy to understand each step. Can you guide when new excel is added to source folder? How can those data automatically get loaded to Combined File?

    • @odallamico
      @odallamico Před 27 dny

      Hi. If you are getting data from folder option in PQ, it is automatic

  • @vamshimedishetty5624
    @vamshimedishetty5624 Před měsícem

    Good video
    If header names of columns are in random order, does it reorder automatically?

  • @hskalsi832
    @hskalsi832 Před rokem

    Genius ho bhai aap …