Advanced DAX: Problem, Design, Solution [Heavy Demo]

Поділитися
Вставка
  • Опубліковано 20 чер 2024
  • In this demo-heavy session, we will walk through the process of solving some specific business problems using the DAX language. Additionally, you will learn how to use common DAX function to solve complex business problems.
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - - - - - -
    Next step on your journey:
    👉 On-Demand Learning Courses FREE Trial: www.pragmaticworkstraining.co...
    🔗Pragmatic Works On-Demand Learning Packages: pragmaticworks.com/pricing/
    🔗Pragmatic Works Boot Camps: pragmaticworks.com/boot-camps/
    🔗Pragmatic Works Hackathons: pragmaticworks.com/private-tr...
    🔗Pragmatic Works Virtual Mentoring: pragmaticworks.com/virtual-me...
    🔗Pragmatic Works Enterprise Private Training: pragmaticworks.com/private-tr...
    🔗Pragmatic Works Blog: blog.pragmaticworks.com/
    Let's connect:
    ✔️Twitter: / pragmaticworks
    ✔️Facebook: / pragmaticworks
    ✔️Instagram: / pragmatic.works
    ✔️LinkedIn: / pragmaticworks
    ✔️UA-cam: / pragmaticworks
    Pragmatic Works
    7175 Hwy 17, Suite 2 Fleming Island, FL 32003
    Phone: (904) 413-1911
    Email: training@pragmaticworks.com

КОМЕНТАРІ • 24

  • @thievingpanda
    @thievingpanda 4 місяці тому +3

    You should provide a download of the data you're working with so viewers can follow along. People learn best by doing not watching.

  • @parkashupadhyay4439
    @parkashupadhyay4439 4 роки тому +2

    Great stuff... hope we'll have more such advance sessions on DAX.........

  • @mohammed333suliman
    @mohammed333suliman 3 роки тому +1

    Thank you, great stuff

  • @NaraMeerammaTrust
    @NaraMeerammaTrust 4 роки тому

    Very very useful video. Thank you

  • @florina-vq1db
    @florina-vq1db 5 місяців тому

    That is very well explained!! Thank you very much! 😇

  • @SSM_33
    @SSM_33 3 роки тому

    many thanks

  • @KayMuslimeen
    @KayMuslimeen 4 роки тому

    Super informative webinar. Many thanks for that.

  • @danieldelgado-lw9br
    @danieldelgado-lw9br 2 роки тому +1

    Really good video, I am learning a lot with this chanell

  • @mounirkhaleq7589
    @mounirkhaleq7589 3 місяці тому +1

    can you plese provide us the dataset used in the video

  • @this.is.lapc506
    @this.is.lapc506 4 роки тому +2

    Why are you using MAX function at 23:15 to select the Affected Departments column? Isn't it a text value?

    • @vinayarali
      @vinayarali 3 роки тому

      Answered at 56:06. CALCULATE need first parameter as aggregate and beauty of MAX is it ignores non-numeric values and returns same value.

  • @ajaypatil6862
    @ajaypatil6862 Рік тому +2

    where is student file for this video? please help me out

  • @kimsanov
    @kimsanov 2 роки тому

    Why you've used MAX inside UPPER in second argument of FIND?

  • @thealchemist6133
    @thealchemist6133 2 роки тому

    can we get a copy of pbix ?Thanks

  • @rahulmukhnerjee5y136
    @rahulmukhnerjee5y136 Рік тому

    can i get the dataset ?

  • @dariuszspiewak5624
    @dariuszspiewak5624 3 роки тому

    The first example with dynamic measures... is almost correct. Why so? Well, instead of changing the individual measures, you should have created one generic measure that would use the other ones in its body with SWITCH. I don't know if you noticed but the way you did it makes the visual incorrect. How? Well, if you only select one of the measures in the slicer, one measure is producing its line but - AND THIS IS WHERE IT'S WRONG - the legend still shows the colors for all the measures! It's very misleading because the other measures do not appear in the graph, so one might think that the measures are BLANK or 0. With your setup this is the side-effect of how you code. As I said, you should have created one measure that would show the correct measure's values based on what's selected in the slicer. This will then work the way it should: non-visible measures will be removed TOGETHER with their legend entries. But the example is not the greatest for one other reason. You are changing perfectly good measures to just work with one visual. This is a no-no. It's brittle, it's ugly, it's not maintainable. On the other hand, creating a composite measure that would use the ones that already work OK is the only good way to go. You've got one place to change if a change is needed. Secondly, it's a measure that has a very concrete goal in life and if you need make changes to the other measures, they'll be reflected in the composite one automatically. Think about what's more maintainable: to have to change 20 measures because of your needs for the graph or... to have to change just one measure?
    The second example does demonstrate how to use FIND but such a function should almost never be used in a well-designed model. What you have is something that calls for a many-to-many relationship. Correctly coded, no FIND is needed, only relationships, which will be sooooooo much faster and cleaner. I do appreciate showing how to use FIND but I think you should also have showed how to build the model correctly, thus avoiding the ugly and not too performant FIND.

    • @TT-oy1rp
      @TT-oy1rp 3 роки тому

      How would you do to create a generic measure? What the generic measure would look like?

    • @olemew
      @olemew 2 роки тому

      You are v-e-r-b-o-s-e, my friend. I'll summarize the issue with the first example and provide a better explanation of how to solve it:
      - Problem: when you select one measure in the slicer, that measure produces its line, ok, BUT the legend still shows the names and colors for all the measures, which can be misleading (a new user might think that they are BLANK or 0). A second problem is that
      - Alternative solution: create just one measure that contains a SWITCH statement based on SELECTEDVALUE(user_table[measures]). This is also much easier to maintain: the logic is centralized and you dedicate this special measure to a specific visual.

    • @dariuszspiewak5624
      @dariuszspiewak5624 2 роки тому

      @@olemew What's wrong with verbosity, my friend?

    • @olemew
      @olemew 2 роки тому

      @@dariuszspiewak5624 time is limited

    • @dariuszspiewak5624
      @dariuszspiewak5624 2 роки тому

      @@olemew Do not exaggerate. You lose so much time during the day that you should be ashamed to even write out such rubbish like "time is limited."