cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
AdityaPowerBI
Helper II
Helper II

Finding last completed month latest non blank value

Hi All,

I am working on a report where I need to fetch last value of previous month based on calendar. If current month is June it should fetch May's last value.  Currently I am using this calculation. Based on the day of the last date I fetch the last working date.  Since the working days are Monday to Friday. If the last date is Sunday or Saturday I fetch last friday else the last working day.

Last Month End =
SWITCH (
[Last Month End Day],
1, ( EOMONTH ( TODAY (), -1 ) - 2 ),
7, ( EOMONTH ( TODAY (), -1 ) - 1 ),
( EOMONTH ( TODAY (), -1 ) )
)

Value LM =
CALCULATE (
SUM ( Amount),
FILTER (
'Table',
'Table'[Date] = [Last Month End]
)
)

But the issue with this logic is if last working day(between Monday - Friday) is a holiday then it gives blank values. Is there a way I can fetch the last non blank value. Based on the below data if current month is June I want output as 200.

May Data 
27th May100
28th May200
31st MayBLANK(because of holiday)
1 ACCEPTED SOLUTION
v-stephen-msft
Community Support
Community Support

Hi @AdityaPowerBI ,

 

Try this measure

Last Month End =
VAR _date =
    CALCULATE (
        MAX ( 'Table'[Date] ),
        FILTER (
            ALL ( 'Table' ),
            [Value] <> BLANK ()
                && [Date] <= EOMONTH ( TODAY (), -1 )
        )
    )
RETURN
    CALCULATE ( SUM ( 'Table'[Value] ), FILTER ( 'Table', [Date] = _date ) )

Screenshot 2021-06-04 171024.png

 

Best Regards,

Stephen Tao

 

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-stephen-msft
Community Support
Community Support

Hi @AdityaPowerBI ,

 

Try this measure

Last Month End =
VAR _date =
    CALCULATE (
        MAX ( 'Table'[Date] ),
        FILTER (
            ALL ( 'Table' ),
            [Value] <> BLANK ()
                && [Date] <= EOMONTH ( TODAY (), -1 )
        )
    )
RETURN
    CALCULATE ( SUM ( 'Table'[Value] ), FILTER ( 'Table', [Date] = _date ) )

Screenshot 2021-06-04 171024.png

 

Best Regards,

Stephen Tao

 

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

 

amitchandak
Super User
Super User

@AdityaPowerBI ,  Try a measure like

 

maxx(filter(Table, not(isblank(Table[Data])) && eomonth(Table[date],0) = eomonth(today(),-1)),Table[Date])

Did I answer your question? Mark my post as a solution! Appreciate your Kudos!! !!
Dashboard of My Blogs !! Connect on Linkedin
Want To Learn Power BI
Learn Power BI Beginners !! Advance Power BI Concepts !! Power BI For Tableau User !! Learn Power BI in Hindi !!
Proud to be a Super User!
!! Subscribe to my youtube Channel !!

Helpful resources

Announcements
Microsoft Build 768x460.png

Microsoft Build is May 24-26. Have you registered yet?

Come together to explore latest innovations in code and application development—and gain insights from experts from around the world.

charticulator_carousel_with_text (1).png

Charticulator Design Challenge

Put your data visualization and design skills to the test! This exciting challenge is happening now through May 31st!

May UG Leader Call Carousel 768x460.png

What difference can a User Group make for you?

At the monthly call, connect with other leaders and find out how community makes your experience even better.

Power BI Release May 2022 768x460.png

Check it out!

Click here to read more about the May 2022 updates!