Forum Discussion

AleFVG's avatar
AleFVG
Icon for Helper I rankHelper I
5 years ago
Solved

Sum Groupby only for current year

Hello guys!

 

i have this dax formula:

 

ABC by Year = GROUPBY('Fact','Fact'[Supplier],"Spend",SUMX(CURRENTGROUP(),'Fact'[Spend]))

 

 

how can i change it because i only sum the values of the current year (with time intelligence)? and not, like the written formula, sum all the values for the years present in the fact table.

 

many thanks

 

 

 

  • Anonymous's avatar
    Anonymous
    5 years ago

    Hi AleFVG ,

    Here is my data sample and pbix file.

    2020-1-11
    2019-1-12
    2019-1-13
    2018-2-24
    2018-3-25
    2020-1-16

     

    In my test, your GROUPBY() formula returns a new table like this:

    According to my understand, you want to calculate the sum of each year, or just the current year(2020) , right?

    You could use the following formula:

    Measure =
    CALCULATE (
        SUM ( 'Table1'[Value] ),
        FILTER ( ALL ( 'Table1' ), 'Table1'[Year] = MAX ( 'Table1'[Year] ) )
    )
    SumCurrentYear =
    IF (
        MAX ( 'Table1'[Year] ) = YEAR ( TODAY () ),
        CALCULATE (
            SUM ( 'Table1'[Value] ),
            FILTER ( ALL ( 'Table1' ), 'Table1'[Year] = YEAR ( TODAY () ) )
        )
    )

    Or create a column

    Column =
    CALCULATE ( SUM ( 'Table1'[Value] ), ALLEXCEPT ( Table1, Table1[Year] ) )

    My visualizations are shown below:

    Did I answer your question ? Please mark my reply as solution. Thank you very much.
    If not, please upload some insensitive data samples and expected output.

     

    Best Regards,
    Eyelyn Qin

4 Replies

  • AleFVG , With a date table with time intelligence

    example

    YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD('Date'[Date],"12/31"))
    Last YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-1,Year),"12/31"))
    This year Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR('Date'[Date]),"12/31"))
    Last year Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR(dateadd('Date'[Date],-1,Year)),"12/31"))

     

    //Can work with year table too

    This Year = CALCULATE(sum('order'[Qty]),filter(ALL('Date'),'Date'[Year]=max('Date'[Year])))
    Last Year = CALCULATE(sum('order'[Qty]),filter(ALL('Date'),'Date'[Year]=max('Date'[Year])-1))

     

    To get the best of the time intelligence function. Make sure you have a date calendar and it has been marked as the date in model view. Also, join it with the date column of your fact/s. Refer :radacad sqlbi My Video Series Appreciate your Kudos.

    • AleFVG's avatar
      AleFVG
      Icon for Helper I rankHelper I

      thanks for your response amitchandak !

       

      I have date table, but i didn't understand how i should change my dax formula.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi AleFVG ,

    Here is my data sample and pbix file.

    2020-1-11
    2019-1-12
    2019-1-13
    2018-2-24
    2018-3-25
    2020-1-16

     

    In my test, your GROUPBY() formula returns a new table like this:

    According to my understand, you want to calculate the sum of each year, or just the current year(2020) , right?

    You could use the following formula:

    Measure =
    CALCULATE (
        SUM ( 'Table1'[Value] ),
        FILTER ( ALL ( 'Table1' ), 'Table1'[Year] = MAX ( 'Table1'[Year] ) )
    )
    SumCurrentYear =
    IF (
        MAX ( 'Table1'[Year] ) = YEAR ( TODAY () ),
        CALCULATE (
            SUM ( 'Table1'[Value] ),
            FILTER ( ALL ( 'Table1' ), 'Table1'[Year] = YEAR ( TODAY () ) )
        )
    )

    Or create a column

    Column =
    CALCULATE ( SUM ( 'Table1'[Value] ), ALLEXCEPT ( Table1, Table1[Year] ) )

    My visualizations are shown below:

    Did I answer your question ? Please mark my reply as solution. Thank you very much.
    If not, please upload some insensitive data samples and expected output.

     

    Best Regards,
    Eyelyn Qin

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi AleFVG ,

     

    Could you tell me if your problem has been solved? If it is, kindly Accept it as the solution. More people will benefit from it. Or you are still confused about it, please provide me with more details about your table and your problem or share me with your pbix file from your Onedrive for Business.

     

    Best Regards,
    Eyelyn Qin