Unstacking Rows into Columns - Using M Code in Power Query

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ธ.ค. 2024

ความคิดเห็น • 90

  • @wayneedmondson1065
    @wayneedmondson1065 ปีที่แล้ว +7

    Good one Chandeep. After List.Split, I used Table.FromRows, as in:
    let
    Source = Excel.CurrentWorkbook(){[Name="Table18"]}[Content],
    ListBucket = List.Split(Source[Data],4),
    MakeTable = Table.FromRows(ListBucket,{"Name","City","Age","Phone"})
    in
    MakeTable
    Just another approach. Thumbs up!!

    • @user-mma173
      @user-mma173 ปีที่แล้ว +1

      Yes, this is better.

    • @joneskiller8
      @joneskiller8 ปีที่แล้ว +1

      💛Thank! I was scratching my head why isn't he using a Table.FromRows function, there has to be one!

    • @GoodlyChandeep
      @GoodlyChandeep  ปีที่แล้ว +3

      I tried using Table.FromRows but at the time of recording the video it returned some stupid error so I switched to creating a record and then a table. But I agree.. that is shorter approach.
      Thanks a lot!

  • @damionc
    @damionc ปีที่แล้ว +16

    Where do you learn this stuff? As usual mind blown.

    • @joedi
      @joedi ปีที่แล้ว

      I’ve seen this pattern in Matt Allington’s work but Chandeep has so much more to share. The bro rocks!

    • @GoodlyChandeep
      @GoodlyChandeep  ปีที่แล้ว +5

      All thanks to the shitty data that work with. 😀

  • @willm7994
    @willm7994 ปีที่แล้ว

    Dude Thank You!!!!! 😀😃😀 looking for this solution for a while thanks !!!!

  • @stretch233
    @stretch233 ปีที่แล้ว

    Brilliant as usual! I just had this type of data problem come my way so I’m glad I could use the M code version to solve it, thanks Chandeep!

  • @guilouback
    @guilouback ปีที่แล้ว

    man, you make sooooo usable tutorials. thank you!

  • @andrewsinha2785
    @andrewsinha2785 ปีที่แล้ว

    Peace and love to you. Thanks and good luck in your life.

  • @shrirajdeshpande8125
    @shrirajdeshpande8125 ปีที่แล้ว

    Always comes up with super fantastic approaches

  • @JohnAdair-k7j
    @JohnAdair-k7j ปีที่แล้ว

    What column did you pivot on at mm 2:00 (Pivoted Column1)?

  • @christophertauss3640
    @christophertauss3640 ปีที่แล้ว

    Very cool - both methods, but, of course, I was really impressed with the M code method. Great explanation and a great demo of how M code can easily process lists and tables. M Code, though not initially all that intuitive, is amazing in its elegance and what it can do. Well done, Microsoft and thanks for the great presentation, Goodly. You make me very glad that I am a subscriber.

  • @MrAbrandao
    @MrAbrandao 4 หลายเดือนก่อน

    once more your work is great.

  • @KuldeepSingh-nq1vi
    @KuldeepSingh-nq1vi ปีที่แล้ว

    You are really champ of Power Query❤❤❤

  • @mostafayeganeh6862
    @mostafayeganeh6862 6 หลายเดือนก่อน

    Thanks so much, borther! It is really helpful.

  • @danishnawaz7504
    @danishnawaz7504 ปีที่แล้ว

    Excellent, Plz post maximum videos on Power Query Vidoe..

  • @m.raedallulu4166
    @m.raedallulu4166 ปีที่แล้ว

    Beautifully Professional !

  • @TheMoh148
    @TheMoh148 ปีที่แล้ว

    Many thanks Chandeep.
    You can do it in two steps only
    List.Split & Table.FromRows
    Regards
    Mohammed from Algeria

  • @PavanKumar-vi7hd
    @PavanKumar-vi7hd ปีที่แล้ว

    Great Video Chandeep

  • @arne.munther
    @arne.munther ปีที่แล้ว

    Would love to see you solve more of these problems.
    Here I am thinging of the ones in Chapther 13 of the book Master you data.

  • @abhijeetshetye3764
    @abhijeetshetye3764 ปีที่แล้ว

    Again amazing video sir… thank you 😊

  • @enricomendiola9952
    @enricomendiola9952 ปีที่แล้ว

    Hello this is a great solution! I was wondering after converting all of those into individual records. When load it into excel sheet how to load the records only with the column headers values of records only. Thanks in advance

  • @anuradhaabewardana314
    @anuradhaabewardana314 ปีที่แล้ว

    Hey Chandeep, Is there a way to group this if the number of rows in the bucket vary. Thank you

  • @saikumarboga3383
    @saikumarboga3383 ปีที่แล้ว +1

    Hi, video is mind blowing, suppose if column is sorted like all texts are in upper records and all the numbers are started from end of text values, how to get the sort order which shown in the video from that?

  • @PurplePegasus2531
    @PurplePegasus2531 ปีที่แล้ว

    Omg I literally have a project I can use thus solution for right now!!!!

  • @josh_excel
    @josh_excel ปีที่แล้ว

    I tried doing something equivalent using some different formulas and I agree this seems to be the most efficient approach. It is possible to include the types in the Table.FromRecords step, but since the data is text, it won't properly convert it, so you'll need a separate step to convert to the correct data types.

    • @josh_excel
      @josh_excel ปีที่แล้ว

      let
      Source = null,
      T1 = #table({"Data"},{{"John Smith"}, {" 32"}, {" 1989-07-15"}, {" New York City"}, {"Maria Garcia"}, {" 25"}, {" 1996-02-23"}, {" Los Angeles"}, {"David Lee"}, {" 46"}, {" 1977-09-01"}, {" San Francisco"}, {"Emily Chen"}, {" 19"}, {" 2004-05-10"}, {" Toronto"}, {"Mark Johnson"}, {" 56"}, {" 1967-12-28"}, {" Chicago"}, {"Samantha Wilson"}, {" 41"}, {" 1982-06-18"}, {" London"}, {"Robert Nguyen"}, {" 28"}, {" 1995-11-07"}, {" Houston"}, {"Karen Davis"}, {" 37"}, {" 1984-03-29"}, {" Sydney"}, {"Michael Brown"}, {" 63"}, {" 1958-10-12"}, {" Miami"}, {"Grace Kim"}, {" 22"}, {" 2001-01-09"}, {" Seoul"}}),
      Custom1 = Table.FromRecords(List.Transform(List.Split(T1[Data],4), each Record.FromList(_, {"Name", "Age", "BDay", "City"}))),
      #"Changed Type" = Table.TransformColumnTypes(Custom1,{{"Name", type text}, {"Age", Int64.Type}, {"BDay", type date}, {"City", type text}})
      in
      #"Changed Type"

  • @rrrraaaacccc80
    @rrrraaaacccc80 ปีที่แล้ว

    Excellent 💯👍

  • @ArthurCapers
    @ArthurCapers ปีที่แล้ว +1

    HI Goodly, I love the approach, but I would like to use your approach on a huge data set. The loading into power query is the easy bit, but how to transform it into a list when the number of rows per record varies and each rows contains has different number of elements on it.
    name and id might be on row 1 or split over 2 rows. each record contains about 12 elements but extracting it across possible up to 8 rows.
    thanks for your insight.
    the data set is a mainframe extract

    • @excelworx8712
      @excelworx8712 ปีที่แล้ว +1

      Hi Chandeep, my query is the same - I have different numbers of rows per record. To make it even worse, my list has an additional column with related information. The first 2 columns have payables from a salary sheet and the next 2 columns have the deductions

    • @GoodlyChandeep
      @GoodlyChandeep  ปีที่แล้ว +2

      Send me a sample and expected output - goodly.wordpress@gmail.com

    • @wensesvincen4877
      @wensesvincen4877 ปีที่แล้ว +1

      @@GoodlyChandeep Waiting for this Reply....Can i send you my own dataset too?

    • @GoodlyChandeep
      @GoodlyChandeep  ปีที่แล้ว +1

      Yes sir, please!
      Thanks

    • @excelworx8712
      @excelworx8712 ปีที่แล้ว

      @@GoodlyChandeep I have done so, thanks in advance!

  • @johnedwards7024
    @johnedwards7024 8 หลายเดือนก่อน

    Chandeep, nice video. What would you do if the number of rows to unstack varied. I have an issue where I am unstacking an address. At time it has the first level and then immediately the city and state. at other times it has the first address, then say a suite number, and then the line with city and state. Therefore, it is at times three lines and at other times only two lines.

  • @tecwzrd
    @tecwzrd ปีที่แล้ว +2

    Love the Power Query tutorial. Using the TRANSPOSE formula also would have been a quick way to get the vertical data horizontally by counting out the lines in column B and creating an if statement in column C like =IF(B1=1,TRANSPOSE(A1:A4),"") and then filtering out the blank lines. Using Power query is cleaner though :) Love using custom columns. Last time I used Power Query was to duplicate lines based on a header reference as the value using a table within a table Table.Repeat(Table.FromRecords({[Col1=1]}),[#"header_reference"])

    • @arne.munther
      @arne.munther ปีที่แล้ว

      Do you mean Table.Transpose ?

    • @tecwzrd
      @tecwzrd ปีที่แล้ว +1

      @@arne.munther No, just the regular TRANSPOSE excel formula to make an array of data that is vertical to horizontal or vice versa. Sometimes diving into Power Query is more trouble than it's worth and simple regular formulas can do the job much quicker.

  • @ssurajkr1234
    @ssurajkr1234 ปีที่แล้ว +1

    DAX advanced course available? If yes link please

  • @sabarirajagopalan9688
    @sabarirajagopalan9688 ปีที่แล้ว

    You are just awesome 🎉

  • @Chris_in_fremantle
    @Chris_in_fremantle ปีที่แล้ว

    Very clever.👍

  • @ym10up
    @ym10up 11 หลายเดือนก่อน

    I do have a question, please.
    I was able to follow along the first method all the way till the pivot column part. When I clicked on the pivot column button, instead of giving me the table as your example, I got a table where the first batch of rows only contain value in the first column, then the next batch of rows only contain value in the second column, and so on. It appears that the pivot did not reference both the Module and Subtraction as index for columns and rows.
    My data has a slight difference than yours. Your data was in a single column and you added column headers later on. My data is in two columns, all the headings in one column and all the values in the other. I tried it with the headers column removed to mimic your data and it's worse than keeping the headers column and pivoting it.
    Could you please give me some pointers? Thank you.

  • @BhavyaGupta
    @BhavyaGupta ปีที่แล้ว +3

    Sir both the approaches are Awesome 👏 Thanks for making such tutorials 🙂
    In the second approach using M, can we directly use Table.FromRows after the split step, giving column names as list in second parameter ??

    • @GoodlyChandeep
      @GoodlyChandeep  ปีที่แล้ว +1

      I guess not.. Each list item needs to be separated with a comma to put it out in columns.

    • @TheMoh148
      @TheMoh148 ปีที่แล้ว +2

      Yes you can ❤

    • @BhavyaGupta
      @BhavyaGupta ปีที่แล้ว +5

      @@GoodlyChandeep I mean something like this -
      let
      Source = {"A", 25, "Mumbai", "B", 30, "Delhi", "C", 27, "Chennai"},
      tbl = Table.FromRows(List.Split(Source,3),{"Name","Age","City"})
      in
      tbl

    • @TheMoh148
      @TheMoh148 ปีที่แล้ว +1

      @@BhavyaGuptaGood

    • @BhavyaGupta
      @BhavyaGupta ปีที่แล้ว +1

      @@TheMoh148 Thank you :)

  • @pattyboy1233
    @pattyboy1233 ปีที่แล้ว

    kool. Very informative
    Would this method work with a uneven or random number fields, say a comment field or a 2nd phone number.
    How would you handle that?

  • @shanshines11
    @shanshines11 ปีที่แล้ว

    Given we do not have PQ and M code, can we still do this in plain Excel with formula?

  • @007lbp
    @007lbp ปีที่แล้ว

    Fantastic!

  • @natatdem
    @natatdem ปีที่แล้ว

    Que hago en este caso: tengo una lista D ,x1,x2 D c1,c2,c3, F d1,d2,d3,d4 y necesito que D,D y F me queden como otra columna al lado de la lista?? 0:09

    • @natatdem
      @natatdem ปีที่แล้ว

      [D,D],[D,x1] ,[D,x2], [D,D],[D,c1] ,[D,c2], [D,c3], [F,F],[F,d1] ,[F,d2], [F,d3],[F,d4] sería el resultado de la matriz

  • @nunolourenco1532
    @nunolourenco1532 ปีที่แล้ว

    Great approach, as usual, but... is it more efficient? Whenever I work with large set of data an use list functions I struggle to output the results!

    • @GoodlyChandeep
      @GoodlyChandeep  ปีที่แล้ว +1

      I doubt that lists are slowing down your query. It could be something else.
      I generally try to avoid pivoting, transposing, sorting, distinct count large tables

  • @megabuilds3007
    @megabuilds3007 ปีที่แล้ว

    Great, Thank you.

  • @marivicmawanay3246
    @marivicmawanay3246 ปีที่แล้ว

    Can you help how to code dynamically Multiple skills and proficiency pivoted

  • @Luciano_mp
    @Luciano_mp ปีที่แล้ว

    Thank you!👍

  • @michaelt312
    @michaelt312 ปีที่แล้ว

    May I ask what software you use for drawing on screen?

    • @GoodlyChandeep
      @GoodlyChandeep  ปีที่แล้ว +1

      Zoom it

    • @michaelt312
      @michaelt312 ปีที่แล้ว

      @@GoodlyChandeep, thank you! And from MS. Awesome. Looks like a great aide for classroom settings when training.

  • @VijayYadav-tx6ft
    @VijayYadav-tx6ft 3 หลายเดือนก่อน

    if i want to make list in base of blank row what is necessary changes

  • @amitsawant2577
    @amitsawant2577 ปีที่แล้ว

    Hi, please can you share the logic to show the week from Sunday to Saturday. If month ends in between week like on Tuesday or Wednesday, it should still consider the dates from next month till Saturday and consider those dates in previous month's last week

  • @sundarun
    @sundarun ปีที่แล้ว

    How would you do if there are 1-M rows under a heading

  • @ricckymishra
    @ricckymishra ปีที่แล้ว

    Sequence formula can now make it super quick.

  • @AzharKhan-kd9bf
    @AzharKhan-kd9bf ปีที่แล้ว

    Hi can any 1 share the M Code so that its easy to copy as noting it down from video causes troubles....

    • @GoodlyChandeep
      @GoodlyChandeep  ปีที่แล้ว

      You can get the M code from the description's downloadable file.

  • @piotrsiwiec4396
    @piotrsiwiec4396 ปีที่แล้ว

    Great video, nut I have a question, how applied this method to a data where number of information change for every person. For example Cecilia has 3 additional information, Iris has 7, Joanne has 5, Peter has 3 and so on.

  • @eslamfahmy87
    @eslamfahmy87 ปีที่แล้ว

    Shall be make a live steps for interface instead the recorded

  • @choiseunghyunify
    @choiseunghyunify 7 หลายเดือนก่อน

    What if you have many columns of data on the same spreadsheet?

  • @victor_wang_1
    @victor_wang_1 ปีที่แล้ว

    Afer List.Split, you could have simply used Table.FromRows. No need for records here :).

    • @GoodlyChandeep
      @GoodlyChandeep  ปีที่แล้ว +1

      I agree. During recording the video some error cropped so I switched to records.
      Thanks Victor!

  • @eslamfahmy87
    @eslamfahmy87 ปีที่แล้ว

    Actually, I left many of comments to you with appreciation or explanation but unfortunately you did not answer for any!

    • @GoodlyChandeep
      @GoodlyChandeep  ปีที่แล้ว

      I admire all your comments!
      Cheers :)