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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
peluca
Regular Visitor

Problem with SAMEPERIODLASTYEAR

After creating a dimdate table I tried to calculate a measure by using SAMEPERIODLASTYEAR but it does not work.

 
calculate(([Unid Actual]),SAMEPERIODLASTYEAR((DimDate[Date])))
 
1 ACCEPTED SOLUTION
vivran22
Community Champion
Community Champion

Hello @peluca,

 

What is the structure of your data table? Also, I am hoping you have created the relationship between the date of your fact table and the calendar table.

 

I have recreated the scenario with a sample data:

data table.PNG

 

And created a calendar table:

Calendar =
ADDCOLUMNS (
    CALENDAR ( MIN ( dtTable[Order Date] ), MAX ( dtTable[Order Date] ) ),
    "Year", YEAR ( [Date] ),
    "Month", DATE ( YEAR ( [Date] ), MONTH ( [Date] ), 1 )
)

 

And mark it as a date table. 

 

Created the relationship:

Relationship.png

 

Created measures:

 

Total Orders = SUM(dtTable[Order Quantity])

PY Orders =
CALCULATE ( [Total Orders], SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )

 

Getting the results in visual:

 

Results.PNG

 

Regards,
Vivek

If it helps, please mark it as a solution

Kudos would be a cherry on the top 🙂

https://www.vivran.in/

View solution in original post

3 REPLIES 3
Anonymous
Not applicable

It does work if you do it as it should be done. @vivran22 has the right solution. For the time-intel functions to work correctly, you have to have a date table that has been marked in the model as DATE TABLE and connected to the facts/dims. Nothing more.
vivran22
Community Champion
Community Champion

Hello @peluca,

 

What is the structure of your data table? Also, I am hoping you have created the relationship between the date of your fact table and the calendar table.

 

I have recreated the scenario with a sample data:

data table.PNG

 

And created a calendar table:

Calendar =
ADDCOLUMNS (
    CALENDAR ( MIN ( dtTable[Order Date] ), MAX ( dtTable[Order Date] ) ),
    "Year", YEAR ( [Date] ),
    "Month", DATE ( YEAR ( [Date] ), MONTH ( [Date] ), 1 )
)

 

And mark it as a date table. 

 

Created the relationship:

Relationship.png

 

Created measures:

 

Total Orders = SUM(dtTable[Order Quantity])

PY Orders =
CALCULATE ( [Total Orders], SAMEPERIODLASTYEAR ( 'Calendar'[Date] ) )

 

Getting the results in visual:

 

Results.PNG

 

Regards,
Vivek

If it helps, please mark it as a solution

Kudos would be a cherry on the top 🙂

https://www.vivran.in/

Thanks so much for your help!!

I had an issue regarding the format of my dimdate table

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.