CALCULATE in DAX #09: VALUES vs. KEEPFILTERS

Ғылым және технология

Learn the difference between using VALUES and KEEPFILTERS in CALCULATE.
How to learn DAX: www.sqlbi.com/guides/dax/?aff=yt
The definitive guide to DAX: www.sqlbi.com/books/the-defin...
CALCULATE function: dax.guide/calculate/?aff=yt

Пікірлер: 77

  • @dawnkernen3961
    @dawnkernen39613 жыл бұрын

    Four days of my life gone. 4 minutes with Alberto - solved. Thank you!

  • @ikar2k

    @ikar2k

    Жыл бұрын

    You're happy man. I've lost four years to catch how it's works 😅 DAX is enjoying))

  • @tangtom2478
    @tangtom24783 жыл бұрын

    This is so advanced, I never figured out how to use values, now finally understand a bit! Thank you!

  • @aburnett04
    @aburnett043 жыл бұрын

    Values has been one of the more challenging DAX functions to understand. Thanks for explaining it !!

  • @Jam-Ryu88
    @Jam-Ryu883 жыл бұрын

    3 days i've been stuck! you're a genius, thank you!

  • @danielsiffredi8403
    @danielsiffredi84033 жыл бұрын

    That was ... simply put AWESOME! - I personally was wondering how to do something like that , and quite struggled to grasp filters precedence (if any). This is something I'll be implementing on my calculations for sure. Thanks for these great videos.

  • @Kmsbi
    @Kmsbi3 жыл бұрын

    You are awesome Alberto. Thanks for sharing wonderful knowledge.

  • @MrSammy1188
    @MrSammy11883 жыл бұрын

    Legend, got stuck with this issue today, luckily remembered this video

  • @leonardobrondani924
    @leonardobrondani9243 жыл бұрын

    Excelente Video Alberto; de esta manera en segundo argumento de calculate "values" actúa como argumento de filtro y "removefilters" actúa como un modificador de la estructura original del contexto de filtro. Saludos desde Argentina

  • @HugoVenturini
    @HugoVenturini3 жыл бұрын

    Bravo, Alberto!!!!!

  • @aspacsa1
    @aspacsa13 жыл бұрын

    Excellent and simple explanation!!!!

  • @jaikumardaiya4503
    @jaikumardaiya45033 жыл бұрын

    You are the real boss of DAX

  • @user-wx3dn3il2f
    @user-wx3dn3il2f3 жыл бұрын

    this is very helpful for me to understand a applying values fuction in calculate exactly, i have been always confused "Values".

  • @user-sb5vf7qq1e
    @user-sb5vf7qq1e3 жыл бұрын

    Thank you so much for the videos. Informative, easy to understand. Big big fan from China !

  • @ajithkumar1870

    @ajithkumar1870

    3 жыл бұрын

    Is power bi used in China at all?

  • @yeraldo05
    @yeraldo053 жыл бұрын

    Mind-blowing!!!

  • @jameszhou162
    @jameszhou1623 жыл бұрын

    Thank you so much Master Ferrari

  • @mrgreenteatime2987
    @mrgreenteatime29873 жыл бұрын

    I found dax to be very powerful, but also quite unintuitive language to grasp. Thank you for the video

  • @KR-good
    @KR-good3 жыл бұрын

    I love DAX so much.

  • @kebincui
    @kebincui2 жыл бұрын

    Thanks Alberto 👍👍🌹🌹

  • @Unbox747
    @Unbox7473 жыл бұрын

    Thank you!

  • @mehdihammadi6145
    @mehdihammadi61453 жыл бұрын

    Great demonstration of combining removefilter and values

  • @danjarupath
    @danjarupath3 жыл бұрын

    I love your vdo

  • @szpyrkowski
    @szpyrkowski2 жыл бұрын

    Alberto, I think I'm in love.. wtih DAX

  • @deepakbhattacharya6363
    @deepakbhattacharya63633 жыл бұрын

    Very nice video. I am actually facing issue with removefilter. It was working just fine, after I close the file and reopen it is not working. It won't ignore the filter, it was working just fine in another file with the same dax. Any idea what could be causing it ?

  • @arnaumartin6700
    @arnaumartin67003 жыл бұрын

    Hi! Amazing lecture! Unfortunately, I'm doing step-by-step your process but, even in the first step (once you remove filters) I get 100% for each row instead the % per the grand Total. Any idea, why this is hapenning? Thanks in advance!

  • @judeLondon
    @judeLondon3 жыл бұрын

    Cool stuff. Thanks for that Mr Russo. Did you create your 'Sales' home table from using the "Enter data" method (remove the dummy col). Or is there a better method these days ?

  • @feucht38

    @feucht38

    3 жыл бұрын

    Mr Ferrari I believe :)

  • @souhasghaier7797
    @souhasghaier77973 жыл бұрын

    Thank you very much for this video! could you put a link to the report used in this video please ? Thanks.

  • @SQLBI

    @SQLBI

    3 жыл бұрын

    This is the standard Contoso example we use in many other demos. Most of the articles on www.sqlbi.com use the same data.

  • @supersayan9888
    @supersayan98883 жыл бұрын

    Hi Alberto, Amazing video! This is advance stuff, but I am learning. if you dont add Values(date[year]), you can see that the total is 100 procent. This is not correct because adding all the percentages would not lead to 100 procent. How would you tackle this if you want to show the correct total percentage using remove filters only.

  • @QasimAli-gy3nb
    @QasimAli-gy3nb11 ай бұрын

    Can you do a detailed video on this topic 4:23 Alberto, please

  • @NaraMeerammaTrust
    @NaraMeerammaTrust3 жыл бұрын

    Excellent. Very good alternative approach. I think we can still get the expected result with the combination of all and keep filters. what do you think?

  • @SQLBI

    @SQLBI

    3 жыл бұрын

    The goal of the video is to explain the semantic difference of the two approaches. However, if you include ALL, it remove the filters so KEEPFILTERS will not have any filter to keep. Check out the order of evaluation of CALCULATE arguments: dax.guide/calculate/

  • @granand
    @granand2 жыл бұрын

    Sir, if i have to test this out, I understand this is Contasso table, so which tables do you use for these short videos please

  • @elrevesyelderecho
    @elrevesyelderecho3 жыл бұрын

    Thanks. So, if I want to have correct percentage within each Q - 2007, should I include another line with VALUES ( 'Date' [Quater] )?

  • @SQLBI

    @SQLBI

    3 жыл бұрын

    It would be ideal to use VALUES ( 'Date'[YearQuarter] ) like in the demo, if you have a column with just Q1/Q2/Q3/Q4, you don't have a difference between different years and including both VALUES (one for year, one for quarter) might include wrong combinations in complex reports.

  • @1yyymmmddd
    @1yyymmmddd3 жыл бұрын

    Great video. If we were not using REMOVEFILTERS would CALCULATE respect Month - Year filter in the table before calculating sum of sales ?

  • @SQLBI

    @SQLBI

    3 жыл бұрын

    If you apply a filter over Date[Date] *AND* the Date table is marked as a Date table, a REMOVEFILTERS ( Date ) is applied automatically, otherwise you have to manually remove the filters from the Date columns where you have a filter, if you want to do that.

  • @1yyymmmddd

    @1yyymmmddd

    3 жыл бұрын

    @@SQLBI Thanks!

  • @hillarymushi2227
    @hillarymushi22273 ай бұрын

    Please help me understand. If the filters over the date column have been removed why is the sales displaying individual percentages for each row in the matrix visual? Please anyone

  • @Bharath_PBI
    @Bharath_PBI3 жыл бұрын

    Yes Agree. Thank you. Is there any DAX function that compare two tables? Scenario: Var tbl1 = calculate table( previous month filter applied) Var tbl1 = calculate table (current month filter applied) Goal is to compare the change in active status and other parameters from previous month to current month. Any suggestion?

  • @SQLBI

    @SQLBI

    3 жыл бұрын

    It depends on many detail - you could use NATURALINNERJOIN or similar functions, and perform the comparison - but you have to carefully manage the data lineage so if you are not comfortable with these concepts, you should rely on easier approaches such as using FILTER functions iterating the table to compare.

  • @Bharath_PBI

    @Bharath_PBI

    3 жыл бұрын

    @@SQLBI , yes I will try with natural inner join. I had used it in different scenario, during then it worked perfectly , wasn't sure for this scenario as I had join criteria on more than one column. Enjoying DAX with SQLBI. 👍

  • @LSiebra
    @LSiebra6 ай бұрын

    Why when you use "RemoveFilters" and in the row context has the Quarter-Year, why all the numberrs aren't the same? Which filter is being applied?

  • @sass520
    @sass520 Жыл бұрын

    Can someone help me to understand the value part?

  • @oybekdavronov5638
    @oybekdavronov56383 жыл бұрын

    i think allexcept gives the same result as it is , good to know

  • @wojtekmzks

    @wojtekmzks

    3 жыл бұрын

    Yes, but allexcept will not work when you use Date Hierarchy in a table visual. When you use 2 separated columns like Year, Month it works, but with hierarchy it calculates for all time. The one with values works in both cases.

  • @robertocardenosa493
    @robertocardenosa4933 жыл бұрын

    In that VALUES argument, could you type ('Date') instead of ('Date'[Year])? Would it work the same?

  • @SQLBI

    @SQLBI

    3 жыл бұрын

    No, it would be a different meaning (more columns and a different cardinality)

  • @sravankumar1767
    @sravankumar17673 жыл бұрын

    i am not able to understand , why should we use values function here, when you add values function automatically percentage also changed, what is the importance of values function here. values function single column of unique values.

  • @singhrakeshr
    @singhrakeshr3 жыл бұрын

    In a scenario when all the measures are non additive ( aggregation type = none) is there a way to override filter context of current date to be a date from previous quarter or year? But with all other existing filters applied?

  • @SQLBI

    @SQLBI

    3 жыл бұрын

    Yes, read this article: www.sqlbi.com/articles/semi-additive-measures-in-dax/

  • @singhrakeshr

    @singhrakeshr

    3 жыл бұрын

    @@SQLBI thanks but my measure is non additive - a percentage field pre calculated and stored in datasource table. So aggregation type is none

  • @SQLBI

    @SQLBI

    3 жыл бұрын

    The approach for overriding the Date column is the same. The difference for a non-additive measure is what you want to do toward other filters - but this is specific to the data model, cannot be described in a generic way.

  • @zxccxz164
    @zxccxz1645 ай бұрын

    how can year not be in filter context? If you have a calendar table q1-2007 would be in year 2007

  • @noahhadro8213
    @noahhadro82133 жыл бұрын

    could I use "ALL" instead of "Remove filters".... what is the difference?

  • @SQLBI

    @SQLBI

    3 жыл бұрын

    no differences, REMOVEFILTERS is more clear when used as a CALCULATE modifier whereas ALL can be used also a table function.

  • @user-yv2fw3cb8p
    @user-yv2fw3cb8p3 жыл бұрын

    dear teacher , is it like allexcept ?

  • @SQLBI

    @SQLBI

    3 жыл бұрын

    No, there is a difference explained here: www.sqlbi.com/articles/using-allexcept-versus-all-and-values/

  • @stephanweaver1960
    @stephanweaver19603 жыл бұрын

    I would explain it very very differently myself - but thanks.

  • @krdhuri
    @krdhuri3 жыл бұрын

    hi I am using Direct Query mode for almost 1 billion rows , I want to apply filter on a column location here but when i create a measure i need to ignore filter. I have used ALL function like CALCULATE(SUM(Sales[Amount], ALL(Sales[Location])) but it is taking 30-40 seconds. Is there any way i can optimize this DAX?

  • @SQLBI

    @SQLBI

    3 жыл бұрын

    You should look at the SQL query generated - can it be optimized? If yes, you have to figure out whether there is a DAX syntax that can generate a better query plan. If not, you have to optimize SQL. Or just import the data - there are models with a larger amount of rows imported.

  • @krdhuri

    @krdhuri

    3 жыл бұрын

    @@SQLBI can you please suggest any optimized dax for this?

  • @SQLBI

    @SQLBI

    3 жыл бұрын

    No - read the previous answer - thanks!

  • @NL-tq1yr
    @NL-tq1yr2 жыл бұрын

    Yeah... wouldn't allexcept(dates, year) as a filter get you the same result? Or maybe filter(all(dates), Dates[year] = Max (dates[year]))? I usually go for these solutions.

  • @SQLBI

    @SQLBI

    2 жыл бұрын

    Read this article: www.sqlbi.com/articles/using-allexcept-versus-all-and-values/

  • @juanpablorvvv
    @juanpablorvvv7 ай бұрын

    Why VALUES instead of CALENDAR[Year]=MAX(CALENDAR[Year])?

  • @salmanj786
    @salmanj786 Жыл бұрын

    Could we have replaced VALUES with DISTINCT here? Can we always use DISTINCT and never use VALUES?

  • @SQLBI

    @SQLBI

    Жыл бұрын

    It depends, they are not the same. See www.sqlbi.com/articles/blank-row-in-dax/

  • @sid5201
    @sid52013 жыл бұрын

    ALLEXCEPT

  • @danjarupath
    @danjarupath3 жыл бұрын

    Ciao

  • @sayananalytics3445
    @sayananalytics34453 жыл бұрын

    It is really disgusting to see 3 dislikes..Just want to see their faces..

  • @Wzxxx
    @Wzxxx Жыл бұрын

    I never meet tool which is so counterintitiive and complex to get simple results. Every basic and simple math calculations takes hours to figure out a solution. I really hate dax. Values gives a unique years table so how can data be filtered by all years if all are present?

  • @SQLBI

    @SQLBI

    Жыл бұрын

    You can use the ALL function, see this article: www.sqlbi.com/articles/using-allexcept-versus-all-and-values/ In general (because you said you don't like DAX), read this: qr.ae/pvfjDc You also may want to watch this: www.sqlbi.com/tv/dax-by-examples/

  • @MentalCycle
    @MentalCycle2 жыл бұрын

    Putting KEEPFILTERS into the name and not even mentioning it in the video 👎

  • @SQLBI

    @SQLBI

    2 жыл бұрын

    KEEPFILTERS is mentioned in the video, the syntax is not shown because it wouldn't be helpful for the purpose of the calculation. The video explains how to use VALUES instead of KEEPFILTERS assuming you already know how to use KEEPFILTERS. You can see a video specific for KEEPFILTERS here: kzread.info/dash/bejne/dZ5q1KtplrWpkbQ.html

Келесі