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

Data Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more

Reply
Anonymous
Not applicable

Sameperiodlastyear, but only until the same date as this year

So earlier I posted a question because I can't get the KPI visual to work correctly and I still can't

https://community.powerbi.com/t5/Desktop/Can-t-get-the-KPI-visual-to-work-correctly/m-p/2184879

 

I've tried more than 30 calculations so far and I'm getting very close, but not quite there yet.

 

So first I'll expain what I want.

I want the KPI visual to display the total revenue of the current year (indicator)

RevenueYTD = TOTALYTD([Revenue],'Calendar'[Date],'Calendar'[Year]=YEAR(TODAY()))

 

And compare it to the total revenue of the previous year, but only for the exact same period of last year (goal / target). So for today that would mean only calculate the revenue of 01-01-2020 until 19-11-2020.

RevenueLYTD = TOTALYTD([Revenue],SAMEPERIODLASTYEAR('Calendar'[Date]),'Calendar'[Year]=YEAR(TODAY())-1)
The above function doesn't give me the result I want, because it sums the entire year 2020. I only want the same period of last year.
 

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

After a little bit of puzzling I managed to make it work, thanks for the inspiration amitchandak

 

RevenueLYTD =

var _min = date(year(today())-1,1,1)

var _max = date(year(today())-1,month(today()),day(today()))

return TOTALYTD([Revenue],SAMEPERIODLASTYEAR('Calendar'[Date]),'Calendar'[Date] >= _min && 'Calendar'[Date] <= _max)

View solution in original post

3 REPLIES 3
Anonymous
Not applicable

After a little bit of puzzling I managed to make it work, thanks for the inspiration amitchandak

 

RevenueLYTD =

var _min = date(year(today())-1,1,1)

var _max = date(year(today())-1,month(today()),day(today()))

return TOTALYTD([Revenue],SAMEPERIODLASTYEAR('Calendar'[Date]),'Calendar'[Date] >= _min && 'Calendar'[Date] <= _max)

amitchandak
Super User
Super User

@Anonymous , YTD and LYTD based on today, no filter selected

 

YTD Today=
var _min = date(year(today()),1,1)
var _day = today()
return
CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Date] >=_min && 'Date'[Date] <= _day) )

LYTD =
var _min = date(year(today())-1,1,1)
var _max = date(year(today())-1,month(today()),day(today()))
var _day = datediff(_min, _max,day)+1
return
CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Year] = year(Today())-1 && 'Date'[Day of Year] <= _max))

 

 

////////////with Date elements in group by , like daily YTD
YTD Today=
var _min = date(year(today()),1,1)
var _day = today()
return
CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Date] >=_min && 'Date'[Date] <= _day && 'Date'[Date] <=Max('Date'[Date] ) ) )

LYTD =
var _min = date(year(today())-1,1,1)
var _max = date(year(today())-1,month(today()),day(today()))
var _day = datediff(_min, _max,day)+1
return
CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Year] = year(Today())-1 && 'Date'[Day of Year] <= _max && 'Date'[Date] <= date(year(Max('Date'[Date] ))-1,month(Max('Date'[Date] )),day(Max('Date'[Date] )))))

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube
Anonymous
Not applicable

I don't have a [Day of Year] in my calender table yet. Can you help me with that?

Helpful resources

Announcements
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

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

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.