Forum Discussion

BItoken's avatar
BItoken
Helper III
5 years ago
Solved

Trailing 12 months DAX

Hi,   I have a Date column that is rolled up to the end of the quarter (Date) as per the attached image and the corresponding Fiscal Year ( Fiscal Qtr ). I am struggling with getting a trailing 12...
  • amitchandak's avatar
    5 years ago

    BItoken , You formula seems correct, you need use MAx of date. End of month will not apply in your case

     

    Trailing 12 Months = CALCULATE(SUM(Table[Sales]), DATESINPERIOD(Date[Date],Max(Date[Date]),-4,QUARTER))

    or

    Trailing 12 Months = CALCULATE(SUM(Table[Sales]), DATESINPERIOD(Date[Date],Max(Table[Date]),-4,QUARTER))

     

    Always use date table. As solution might work without that, but will create issue in future.

    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 :
    https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
    https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
    https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/

    Appreciate your Kudos.

  • Anonymous's avatar
    Anonymous
    5 years ago

    Hi BItoken ,

    I created a sample pbix file for you, please check if that is what you want.

    1. Create a calculated column to order by the data base on the fiscal quarter

    Rank = RANKX ( 'Sales', 'Sales'[Fiscal Qtr],, ASC, DENSE )

    2. Create a measure to get the rolling 4 quaraters sales

    Trailing 12 Months = 
    VAR _index = MAX ( 'Sales'[Rank] )
    VAR _date =  MAX ( 'Sales'[Date] )
    RETURN
        CALCULATE (
            SUM ( 'Sales'[Sales] ),
            FILTER (
                ALL ( 'Sales' ),
                'Sales'[Rank] >= _index - 3
                    && 'Sales'[Rank] <= _index
                    && 'Sales'[Date] <= _date
            )    )

    Best Regards

    Rena