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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
Sudharshan1919
Helper III
Helper III

Need Last Week data using DAX

Hi ,

 

I have a data of showing day wise incidents (ticket). We are maintaining this things in excel sheet. My Requirement is to show the last weeks data (not last 7 days). 

Can someone help how do we write the formula to get the last week data. Day begins from Mon to Sun.

 

Thanks,

Sudharshan

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @Sudharshan1919 ,

 

If you just want to compare data from the same year:

Measure =
CALCULATE (
    SUM ( 'table'[value] ),
    FILTER (
        ALLSELECTED ( 'table' ),
        YEAR ( 'table'[date] ) = YEAR ( MAX ( 'table'[date] ) )
            && WEEKNUM ( 'table'[date], 2 ) = WEEKNUM ( MAX ( 'table'[date] ), 2 )
    )
)

If you just want to compare data across years, you will need to create a year_week column then create a rank column based on it.

year_week = YEAR('table'[date])*100+WEEKNUM('table'[date],2)

_rank = RANKX('table','table'[year_week],,ASC,Dense)
Measure =
CALCULATE (
    SUM ( 'table'[value] ),
    FILTER ( ALLSELECTED ( 'table' ), 'table'[_rank] = MAX ( 'table'[_rank] ) - 1 )
)

 

Best Regards,

Jay

View solution in original post

2 REPLIES 2
Anonymous
Not applicable

Hi @Sudharshan1919 ,

 

If you just want to compare data from the same year:

Measure =
CALCULATE (
    SUM ( 'table'[value] ),
    FILTER (
        ALLSELECTED ( 'table' ),
        YEAR ( 'table'[date] ) = YEAR ( MAX ( 'table'[date] ) )
            && WEEKNUM ( 'table'[date], 2 ) = WEEKNUM ( MAX ( 'table'[date] ), 2 )
    )
)

If you just want to compare data across years, you will need to create a year_week column then create a rank column based on it.

year_week = YEAR('table'[date])*100+WEEKNUM('table'[date],2)

_rank = RANKX('table','table'[year_week],,ASC,Dense)
Measure =
CALCULATE (
    SUM ( 'table'[value] ),
    FILTER ( ALLSELECTED ( 'table' ), 'table'[_rank] = MAX ( 'table'[_rank] ) - 1 )
)

 

Best Regards,

Jay

Greg_Deckler
Super User
Super User

@Sudharshan1919 This is easiest if you create a Sequential week column. Then you don't have to worry about years and years having 52 or 53 weeks in them.

Sequential - Microsoft Power BI Community



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
Power BI Cookbook Third Edition (Color)

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

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

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.