Forum Discussion

Qualube's avatar
Qualube
Helper II
7 years ago
Solved

SAMEPERIODLASTYEAR()

Hi

 

I have created a measure as below which gives me the total sales from the 1st April up to today

 

TOTALSALES = CALCULATE(SUM(SALES[LINEAMOUNT]),
    FILTER(SALESLINE,SALESLINE[Depot] = "Depot 1"),
    DATESBETWEEN(SALESLINE[DELIVERY DATE], 
    DATE(2018,4,1), 
    TODAY() 
  ))

 

Then I want to get the same sales from the exact period last year so have created a further measure

 

LY SALES = CALCULATE([TOTALSALES],
                 SAMEPERIODLASTYEAR('DATE'[Date]))

 

I cannot figure out why it won't work!! I am sure the SAMEPERIODLASTYEAR is the correct function but it won't give me any result.

 

Any help would be appreciated.

  • Hi Qualube,

     

    The SAMEPERIODLASTYEAR needs a Date context. But the previous measure can't provide that. How did you use the measure? Please try the measure like below.

     

    TOTALSALES =
    CALCULATE (
        SUM ( SALES[LINEAMOUNT] ),
        FILTER ( SALESLINE, SALESLINE[Depot] = "Depot 1" ),
        DATESBETWEEN (
            SALESLINE[DELIVERY DATE],
            DATE ( 2017, 4, 1 ),
            EDATE ( TODAY (), -12 ) // "today" of last year.
        )
    )
    

     

    Best Regards,
    Dale

2 Replies

  • v-jiascu-msft's avatar
    v-jiascu-msft
    Microsoft Employee

    Hi Qualube,

     

    The SAMEPERIODLASTYEAR needs a Date context. But the previous measure can't provide that. How did you use the measure? Please try the measure like below.

     

    TOTALSALES =
    CALCULATE (
        SUM ( SALES[LINEAMOUNT] ),
        FILTER ( SALESLINE, SALESLINE[Depot] = "Depot 1" ),
        DATESBETWEEN (
            SALESLINE[DELIVERY DATE],
            DATE ( 2017, 4, 1 ),
            EDATE ( TODAY (), -12 ) // "today" of last year.
        )
    )
    

     

    Best Regards,
    Dale

    • Qualube's avatar
      Qualube
      Helper II

      Hi Dale

       

      Sorry for the delay, the EDATE works (not sure why but I will find out).

       

      Thanks for your help.