each & underscore_ in Power Query Explained

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ม.ค. 2025

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

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

    The best part of your teaching is you deep dive and great explanation and make the things easier to understand

  • @MichaelBrown-lw9kz
    @MichaelBrown-lw9kz ปีที่แล้ว +5

    This is by far the best explanation I have seen regarding "each" and "_". I finally understand this. Thank you so much

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

    Thanks so much. It's good to know both the each syntax sugar and the declaring a variable like (r)=>. There are cases where you're nesting functions. Once you use each _ once, if you use it again , it overwrites the first one. So, be careful. If you must use each again, declare the variable.
    Example, Table.AddColumn(Source, "NewCol", each {_[Amount]} & List.Transform({2,3,4}, (x)=> x * _)).
    You can't use the each _ in the List.Transform function. You will overwrite the first _ and cause the functions to crash.

  • @EmpyrialArchangel
    @EmpyrialArchangel 8 หลายเดือนก่อน +2

    THANK YOU! I spent HOURS reading documentation, but all I needed was 10 minutes on TH-cam. You're my hero!

    • @dc2guy2
      @dc2guy2 3 หลายเดือนก่อน +1

      fr sometimes Microsoft's documentation seems intentionally unhelpful...dare I say obfuscated.

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

    Such an eloquent explanation of something I've been wondering for a while!

  • @konigkakfas3392
    @konigkakfas3392 6 หลายเดือนก่อน +4

    Short into the point - cool, thx!

  • @arunkumarkesavan6077
    @arunkumarkesavan6077 2 ปีที่แล้ว

    Now I cant say to anyone that I am good in Power BI after watching your vidoes!!! you're the person to say it...

  • @subjectline
    @subjectline 2 หลายเดือนก่อน

    Great work! The Microsoft documentation on this is very difficult to navigate and understand, and this is clear and practical.

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

    Great explanation of each and _ keywords and their applications. Thanks Chandeep 👍

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

    I watched this video a few months back and I listened to it now. Understood clearly.
    Thanks a lot.

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

    Love you man, I learned a lot from you and still learning

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

    Awesome explanation Chandeep! I think of each as shorthand for the function (myVar)=> and underscore as the variable myVar, as in (using your example): (myVar)=> myVar[Amount] to extract the amount from the record. I believe it is confusing to people because they experience each and _ before learning to formally declare functions. If they learned the formal way first and then learned the shorthand of each and _ it might be easier. Thanks for a great explanation.. alway good learning at Goodly! Thumbs up!!

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

      I am with you a 💯 percent. That is also because the UI generates the shorthand code and that is what people see and try to understand.😁
      Personally I feel the each _ is more humanly to read.

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

    Thanks for the interesting video. I wish someone had explained this so clearly when I first tried to work out what the each and _ were doing and how to use them.

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

    Fantastic video, Chandeep! Each, _, () and => have been so mysterious to me before viewing this video. This is a huge for me.

  • @larmondoflairallen4705
    @larmondoflairallen4705 2 ปีที่แล้ว

    My prayers have been answered. Thank you, Chandeep!!!!

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

    You are really good at explaining things… 👍

  • @zahoorsarbandi2982
    @zahoorsarbandi2982 2 ปีที่แล้ว

    The explanation of "each" and "_" has been been done in a very simple and effective way... zabar10

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

    I know very little about M, but how you explained this made a lot of sense. Thank you.

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

      Thanks Justin :)
      To learn more about M, You can refer to this video.
      th-cam.com/video/5s8Ky5r43uI/w-d-xo.html

  • @IvanCortinas_ES
    @IvanCortinas_ES 2 ปีที่แล้ว

    Superb explanation. It can't be explained better. Thank you Chandeep!!!

  • @williamarthur4801
    @williamarthur4801 2 ปีที่แล้ว

    Thank you, its' about time soneone tackled this topic, I rememeber when I first started looking at M being very cofused by the Fuction (_, , that I would see. I still find there use confusing / interesting in that sometimes using a named function eg (A)=> A[whatever], will work whereas each [whatever] , might not.
    Thank you for all your work in putting these videos together.

  • @ajieapen
    @ajieapen 2 ปีที่แล้ว

    ah... I've been waiting for this since ages... No words to thank you, Chandeep... :)

  • @GF86123
    @GF86123 5 หลายเดือนก่อน

    This is, which is nothing, but a great video!!

  • @elikent78
    @elikent78 2 ปีที่แล้ว

    spent an hour trying to understand this from someone else's lesson yesterday, and couldn't get it. but you, in ten minutes, done. fantastic, chandeep.

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

      Hey Eli, I spent an hour in planning the video to explain in 10 mins 😁
      I am glad it helped.
      Cheers

  • @Hello-bn2yc
    @Hello-bn2yc ปีที่แล้ว

    Finally I was able to get it... Thank you so much Chandeep.

  • @johnfunet
    @johnfunet 2 ปีที่แล้ว

    Very interesting video, thanks for the excellent way you explain step by step. Very professional.

  • @oscarmendez-roca9181
    @oscarmendez-roca9181 2 ปีที่แล้ว +5

    Great video and explanation with simple examples. I suggest to continue with the use of double "each" in case of working with arrays (List of a List). Thanks Chandeep!!

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

      Yes, please. I'm struggling to know how to work with 'each' row of a table, say, if one is added from a merge, for example. How do I access the "outside" underscore?

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

      @@Vandalfoe If you name your variables, you can access both, ex:
      = Table.AddColumn(
      s, "n",
      (row) => List.Select(
      l, each _ = row[Name]
      ), type any )

  • @rpopecpa
    @rpopecpa 9 หลายเดือนก่อน

    Thank you for this video!! A simple bit of valuable information to add to my knowledge base.

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

    I’m a power query amateur, just playing around in my spare time, trying to find solutions to various data problems (mostly accounting.) I have spent many hours looking at your videos over and over again. At first most of them didn’t make sense, but I’ve suddenly had many “eureka” moments rewatching a lot of your videos. This has given me a lot of confidence to try more challenging problems. Thanks for some great lessons.

  • @karimallahwala7022
    @karimallahwala7022 2 ปีที่แล้ว

    You teach great Knowledge. Very helpful thank so much.

  • @anais4766
    @anais4766 3 หลายเดือนก่อน

    wow! eye opening! Thank you!

  • @isidreb
    @isidreb 2 ปีที่แล้ว

    A great explanation, using examples that are easy to understand. Thanks for sharing!!

  • @komanguy
    @komanguy 2 ปีที่แล้ว

    Great! Very well explained, the meaning of the underscore and how to define a function. Thank you very much.

  • @skimpylemon8034
    @skimpylemon8034 2 ปีที่แล้ว

    Fantastic video with a excellent explanation! Thank you Chandeep!

  • @vacilando86
    @vacilando86 2 ปีที่แล้ว

    Finally, It's understood 😄 , Thanks for your endless effort.

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

    Thank you Chandeep. Very simple to follow and remember.

  • @EricHartwigExcelConsulting
    @EricHartwigExcelConsulting 2 ปีที่แล้ว

    Great video and really detailed explanation in the use of the "each" and "_".
    Thank you for making this video!

  • @anilyadav-rt4sr
    @anilyadav-rt4sr 2 ปีที่แล้ว

    Thanks Your power query video is too good

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

    Clear and neat. Thank you for the explanation

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

    I have a lot of difficulty creating a conditional transformation that involves more than one column. I would really like a video about it.

  • @jaymehta3320
    @jaymehta3320 2 ปีที่แล้ว

    Thanks for sharing this. Haven't used each and _ that much but this helps to encourage and see where I can use it to make the queries more efficient/effective.

  • @kiran521
    @kiran521 2 ปีที่แล้ว

    Thanks Chandeep, please make video on problems occur in bidirectional direction and why it is not feasible

  • @OdelLeal
    @OdelLeal 2 ปีที่แล้ว

    Great job and very helpful your information. Súper.

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

    each seconds of this video is great :)

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

    Grazie.😀

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

      Thank you so much 💖

  • @seamushand8439
    @seamushand8439 2 ปีที่แล้ว

    Thank you Chandeep, very well explained

  • @Faisal63045
    @Faisal63045 2 ปีที่แล้ว

    Thank you for sharing this info if there's any example from the real world scenario it would be great

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

    Hi. I loved your way of explaining and I have learned lot of stuff from your video’s.
    I have strucked some part of the work like dynamically comes column headers from the row data. In power BI. Could you please help me on the same.

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

    Love your content and short explanations. Pls let me know if u have got discount for ur courses!!

  • @ΠαναγιώτηςΧατζηαντωνίου-ι7θ
    @ΠαναγιώτηςΧατζηαντωνίου-ι7θ 10 หลายเดือนก่อน

    Hi, thanks for the great explanation. A little crazy question... Is there any way to turn PQ editor in black theme as you did?

  • @briandelaney6354
    @briandelaney6354 2 ปีที่แล้ว

    Thanks for this explanation - very clearly explained 👊

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

    hats off. thanks for great content.

  • @bhaveshh5786
    @bhaveshh5786 2 ปีที่แล้ว

    Hey Chandeep, i want to calculate turn around time if a transaction received after 3pm it should consider next day to calculate it with close date. Also it should only consider the business days excluding Saturday and Sunday. Thanks in advance.

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

    Well Done

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

    Excellent explanation, thank you!
    I have a question: is it possible to change the value of a simple item in a column, based (table.transformRows, each , if, then, else) on another column, without adding a new column?
    example: [Name] = a,b,c and [Years] = 10,20,30
    if [Name ] = c then [Years] = 40 .
    (without using "table.addcollumns", that is, changing directly on column [Years]?)
    If yes, Is it possible create a video about it?

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

    Very informative. Thanks!

  • @brij26579
    @brij26579 2 ปีที่แล้ว

    Awesome explanation & clarity 👌👍

  • @pmsocho
    @pmsocho 2 ปีที่แล้ว

    Great explanateion! Thanks!

  • @90hsilva
    @90hsilva ปีที่แล้ว

    very clear as usual mate, thanks :)

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

    Great explanation!

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

    Thanks for you time to help us along. I have an each and underscore that I'm trying to resolve. and maybe getting myself twisted up: I'm working on a sheet, and I want to change every occurrence of a character (% in my case) to a VALUE (Happens to be the Column header). I have the column names to which I'm applying the transformation in a list (Collist), and think I want to apply a process like
    List.Transform(Collist, each {_, each Text.Replace(_,"%", XXX)}))
    But I want the XXX to be represented by the same value from Collist.
    In my test sample Collist contains 3 values:
    When I change XXX to a literal, the process works, and all the "%" values are changed to "XXX".....but in real like I have a number of nested tables, with varying number/names of columns over which I need to perform the transformation:
    Sorry long winded question

  • @joaovasconcelos5360
    @joaovasconcelos5360 3 หลายเดือนก่อน

    Amazing, thank you!

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

    Most awaited Video, Thank you so much that you created video on this topic and very nicely explained each and "_" keyword. It will help us to understand complicated M code..I appreciate your dedication towards teaching us..we would expect other basic videos like this from you.. Please make video on how to create custom functions in power query from scratch..

  • @cooolbreeze
    @cooolbreeze 2 ปีที่แล้ว

    Really well explained.

  • @RobertoStaltari
    @RobertoStaltari 2 ปีที่แล้ว

    This video deserves a double thumb up!

  • @balakrishnaj1713
    @balakrishnaj1713 2 ปีที่แล้ว

    This video is very helpful, thanks a ton 😀

  • @pmajoros
    @pmajoros 4 หลายเดือนก่อน +1

    once you have nested each's, power query starts to get confused about what you mean by _, so you better start using named functions

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

    I wish I had seen this video when I first started trying to use Power Query.

  • @kennethstephani692
    @kennethstephani692 2 ปีที่แล้ว

    Great Video as usual, Chandeep!!

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

    Great. You should have 320.000 subscribers instead of 32.000.

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

    Thank you very much, excellent and very clear explanation. Your videos are very beautiful and really helpful for everyone.
    But please try to speak SLOWER, your spoken English is too fast, sometimes the words overlap and it is not clear what you mean. Thank you

  • @mohitupadhayay1439
    @mohitupadhayay1439 2 ปีที่แล้ว

    Chandeep praji
    Real time DAX scenario ki playlist bana dijye for interview.

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

    You are a crack, regards from Cali Colombia

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

    can you put certain columns in a record and use it to show info on a regular tooltip? I wanted to show certain info depending on type of data, i had to concatenate columns based on conditions and even set titles for the data, like for data A "info1: " & "[info1)] & " " & "info2: "& [info2]... and so on.

  • @FRANKWHITE1996
    @FRANKWHITE1996 2 ปีที่แล้ว

    Thanks for sharing ❤

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

    Awesome Chandeep

  • @matheussvs
    @matheussvs 2 ปีที่แล้ว

    Thanks man! Youre amazing

  • @nocturneuh
    @nocturneuh 26 วันที่ผ่านมา

    Thank you 🙏

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

    Awesome video

  • @Faisal63045
    @Faisal63045 2 ปีที่แล้ว

    Thank you for sharing this, is there a way to track values changes after refresh a power query in excel

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

    Very well explained thank you😊. When you declared (r) as a variable, could you have declared other variables that *don’t* represent the current record value? How complex can the functions used be? Does the variable always have to represent the current record? 🙏

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

      The variable name can be anything but you can only declare a single variable while you are working with records in a table.

    • @Vandalfoe
      @Vandalfoe 2 ปีที่แล้ว

      I believe that in the content of list.Xform and table.addColumn, that third parameter is being "fed" each (no pun intended) row/item of the first parameter.
      Therefore, whatever variable name you use, it will be loaded with 'each' item. @Goodly, is that about right?

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

      table: `_` is the record of the current row
      List: `_` is the current list item when looping
      Table.SelectRows: `_` is the record of the current row
      You can write your own functions, that validate better
      Here's two examples that assume your table has a column named "Number" which is a number
      = Table.AddColumn(
      Source, "Enforce Text",
      (row) as text =>
      Text.From( row[Number] ) & " ending", type text)
      = Table.AddColumn(
      Source, "Enforce Int",
      (row) as number =>
      row[Number] + 100, type number)
      the `as number` is a type assertion. Either the result is a number, else, that row throws an error.
      plus the columns datatype is correct! It doesn't reset to type any, because `each` is what caused it to lose the type

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

    Super explanation

  • @kebincui
    @kebincui 2 ปีที่แล้ว

    Well explained👍

  • @vadnerepravin
    @vadnerepravin 2 ปีที่แล้ว

    Question regarding power query
    I have many coulmn like Printing and Stationary 18%, repairing 18%, Consultancy 18% like that
    I want to Addition all this coulmn in Net 18%
    I have more than 200 ledger above said example. I have made table mentioned all ledger in left side like (consultancy 18%) and summation in coulmn right side like (Net18%)
    How can we dynamically addition above coulmn

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

    General question: any idea how to turn on in MacOs the syntax helper?

  • @KirillBezzubkine
    @KirillBezzubkine 2 ปีที่แล้ว

    I was wondering what "_" means. But actually i found more convenient to use " (x) =>" construction

  • @seamushand8439
    @seamushand8439 3 หลายเดือนก่อน

    Hi Chandeep, I am importing a PDF file from an old accounting package and, using some of your other tutorials, I am able to strip out the tables in the PDF. However some of the tables contain only report data, eg the Date the report is issued, report name etc. For now i have been simply using table append to stacl them all together and then i manually delete the columns with the report data. I would like to be able to dynamically iterate through each of the tables ( using each), test if the data in the first record contains "Date" ( or similliar trigger word) and if so delete the table, leaving only legitimate tables for me to append. Can you point me to anything that would help with this ? Thanks. Seamus

    • @GoodlyChandeep
      @GoodlyChandeep  3 หลายเดือนก่อน

      Parts of this video might be useful th-cam.com/video/pTpx9jeIDx8/w-d-xo.html

    • @seamushand8439
      @seamushand8439 3 หลายเดือนก่อน

      @@GoodlyChandeep Thank you so much

  • @mmuthuvel6829
    @mmuthuvel6829 2 ปีที่แล้ว

    Very clear explanation. Do you have any course in Udemy?

  • @sunnygala7972
    @sunnygala7972 2 ปีที่แล้ว

    Great video! Do you cover all these concepts in your Power query course?

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

      working on an exclusive M Language course. Should be out soon :)

  • @gennarocimmino
    @gennarocimmino 2 ปีที่แล้ว

    Thanks very much

  • @Moellz
    @Moellz 2 ปีที่แล้ว

    Hello Chandeep,
    great video. I really like the short explanations about one topic that you're posting recently.
    One question: Why does "r" in the section about alternate to each_ hold every record of the table? Is it because of the name?

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

      the variable name could be anything (r, x, abc, _)
      the variable holds the value of each item of the object (table, list etc..) and can be retrieved using a function =>
      So all of the following are valid
      = Table.AddColumn(Table, "ColName", (abc) => abc)
      = Table.AddColumn(Table, "ColName", (_) => _)
      = Table.AddColumn(Table, "ColName", (myrecord) => myrecord)

  • @Геннадій-ц8э
    @Геннадій-ц8э ปีที่แล้ว

    Great!

  • @thebhaskarjoshi
    @thebhaskarjoshi 2 ปีที่แล้ว

    amazing thanks!

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

    Thanks for sharing. Would you mind telling me how could you get amount without using the name 'Amount', just by position?

  • @PawanKumar-nh3pi
    @PawanKumar-nh3pi 9 หลายเดือนก่อน

    1:45

  • @nishant77goel
    @nishant77goel 2 ปีที่แล้ว

    Help needed!
    Selected Parameter = maxx(filter('Date Value', 'Date Value'[Date Value Order] = SELECTEDVALUE('Date Value'[Date Value Order])), 'Date Value'[Date Value Fields])
    This returns the name of selected column name based on the selected Parameter.
    Now based on the selected column name wants to calculate dates that falls in last 180 days on that partcular column.
    Last 180 days = IF([Selected Parameter] > (TODAY()-180),"1","0") This is giving error that the values/ Format are not matched one is date and other is text.
    As of now the dates column are in date time format.

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

      try wrapping the VALUE function around TODAY()
      VALUE ( TODAY () ) -180 ....

    • @nishant77goel
      @nishant77goel 2 ปีที่แล้ว

      @@GoodlyChandeep this is not working. Value coming from selected parameter is not considered as column but is considered as text. So it's not matching up with today()-180 days condition. If I directly consider column the formula is working fine

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

    Can I add ‘ and null to return a list of lists?

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

    Why can I use the _ as a shorthand for the column name in this formula if the _ holds the whole record?
    = Table.ReplaceValue(Source, each [Colum1], each if [Column1] = "AAA" then _ else "123" ,Replacer.ReplaceText,{"Column1"})

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

    hello godly
    I didn't understand something in a video I watched.
    th-cam.com/video/WxWL3i05hZ0/w-d-xo.html)
    In the section after 09:54, he creates (OutherTable) and (InnerTable) functions in the formulas he uses.
    How can I write the same formula entirely using each without creating a function?
    = Table.AddColumn(Source,"TableCol", (OutherTable)=> Table.SelectRows(Source, (InnerTable)=> InnerTable[Amount] > OutherTable[Amount]))
    What code do I need to write when I use each instead of (InnerTable)=>?
    I would be glad if you can help
    Thanks

  • @surjaa.c
    @surjaa.c 2 ปีที่แล้ว

    Thanks a lot for this video! My question is, are each and _ always used together like you have shown or can there be cases where only one of the two is used?

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

      the underscore can be used in isolation if you're writing a function.
      But if you've used the each keyword, it will always be followed by _

    • @surjaa.c
      @surjaa.c 2 ปีที่แล้ว

      @@GoodlyChandeep thanks a lot! Please continue the 'good' work you are doing! 😁

  • @gopalnaidu1103
    @gopalnaidu1103 2 ปีที่แล้ว

    I have one unsolved query .could you please help me out .if the column contains the data as names and Gmail IDs and #twitter IDs ,and some other like diffent delimeters data .how to seperate the only names to one column and all Gmail IDs ,#twiiter IDs and delimeter data in to other column