Forum Discussion

gary_connolly's avatar
gary_connolly
Advocate II
9 years ago
Solved

SAMEPERIODLASTYEAR for a filter date range based on FISCAL YEAR

 

I am trying to create a bar chart with sum fact this year versus sum fact for the same period last year, based on a filter date range set by the user. 

 

I was able to get it working using a separate measures table with calculated aggregations, but this meant that the user couldn't filter on any other facts in the data table, without breaking the measures table.

 

I have taken the calculated measures back into the data table, and am using a contiguous date table. Essentially the table below gives me the data I want for my chart from July 2016 to June 2017; but I can only get it here using the ALLEXCEPT feature, which gives me all periods, not the ones the user has filtered for.

 

Total Cost LY = CALCULATE( [Total Cost], SAMEPERIODLASTYEAR('Dates Table'[Calendar Date].[Date]),ALLEXCEPT('Dates Table','Dates Table'[Calendar Date]))

 

 

 

  • HI gary_connolly,

     

    have you tried to have the ALLSELECTED something like this:

    Total Cost LY =
    CALCULATE (
        [Total Cost],
        SAMEPERIODLASTYEAR ( 'Dates Table'[Calendar Date].[Date] ),
        ALLSELECTED ( 'Dates Table'[Calendar Date] )
    )

     

    Or then use the DATEADD function:

    Total Cost LY =
    CALCULATE (
        [Total Cost],
        DATEADD ( ALLSELECTED ( 'Dates Table'[Calendar Date] )-1YEAR )
    )

     

     

    Regards,

    MFelix

     

     

  • MFelix's avatar
    MFelix
    9 years ago

    Hi gary_connolly,

     

    Why don't you try to use this formula:

     

    Total Cost LY =
    CALCULATE (
        [Total Cost],
        DATEADD ( 'Dates Table'[Calendar Date], -1, Year)
    )

    Regards

    MFelix

4 Replies

  • HI gary_connolly,

     

    have you tried to have the ALLSELECTED something like this:

    Total Cost LY =
    CALCULATE (
        [Total Cost],
        SAMEPERIODLASTYEAR ( 'Dates Table'[Calendar Date].[Date] ),
        ALLSELECTED ( 'Dates Table'[Calendar Date] )
    )

     

    Or then use the DATEADD function:

    Total Cost LY =
    CALCULATE (
        [Total Cost],
        DATEADD ( ALLSELECTED ( 'Dates Table'[Calendar Date] )-1YEAR )
    )

     

     

    Regards,

    MFelix

     

     

    • gary_connolly's avatar
      gary_connolly
      Advocate II

      Unfortunately when I use the Select function it means if I use any other Filters the chart errors

      • MFelix's avatar
        MFelix
        Super User

        Hi gary_connolly,

         

        Why don't you try to use this formula:

         

        Total Cost LY =
        CALCULATE (
            [Total Cost],
            DATEADD ( 'Dates Table'[Calendar Date], -1, Year)
        )

        Regards

        MFelix