Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Next up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now

Reply
Qualube
Helper II
Helper II

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.

1 ACCEPTED SOLUTION
v-jiascu-msft
Microsoft Employee
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

Community Support Team _ Dale
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

2 REPLIES 2
v-jiascu-msft
Microsoft Employee
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

Community Support Team _ Dale
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Hi Dale

 

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

 

Thanks for your help.

Helpful resources

Announcements
New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

March Power BI Update Carousel

Power BI Community Update - March 2026

Check out the March 2026 Power BI update to learn about new features.