cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
KirilGeorge23
New Member

Power BI: Showing latest 3 dates for a group

Hello everyone, 

I have a problem. I want to show the latest 3 dates only for status "Completed" as illustrated bellow. Tried rankx, topN value and max values approaches, but didn't work out. Basically I need to return the 3 most recent dates just for "Completed" along with any number of results for "Overdue" and "Future" (e.g. regardless of the number of their dates for the latter). A measure must be generated. Any solutions will be highly appreciated.

KirilGeorge23_0-1669298993781.png

Thanks, KGeorge

 

1 ACCEPTED SOLUTION
CNENFRNL
Super User
Super User

CNENFRNL_0-1669320988776.png

 

A showcase of powerful Excel formula,

CNENFRNL_1-1669321063463.png


Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is beyond their comprehension!

DAX is simple, but NOT EASY!

View solution in original post

4 REPLIES 4
CNENFRNL
Super User
Super User

CNENFRNL_0-1669320988776.png

 

A showcase of powerful Excel formula,

CNENFRNL_1-1669321063463.png


Thanks to the great efforts by MS engineers to simplify syntax of DAX! Most beginners are SUCCESSFULLY MISLED to think that they could easily master DAX; but it turns out that the intricacy of the most frequently used RANKX() is beyond their comprehension!

DAX is simple, but NOT EASY!

tamerj1
Super User
Super User

Hi @KirilGeorge23 

please try

FilterMeasure =
VAR CurrentDate =
SELECTEDVALUE ( 'Table'[Date] )
VAR CurrentStatus =
SELECTEDVALUE ( 'Table'[Status] )
VAR T1 =
CALCULATETABLE ( VALUES ( 'Table'[Date] ), ALLSELECTED ( 'Table' ) )
VAR T2 =
TOPN ( 3, T1, 'Table'[Date], ASC )
RETURN
IF ( CurrentStatus = "Completed", IF ( CurrentDate IN T2, 1 ), 1 )

 

place this measure in the filter pane of the visual and select "is not blank" then spply the filter

FreemanZ
Solution Sage
Solution Sage

try to create a new table with the code below:

Table =
VAR Table1 =
    FILTER(
        TableName,
        TableName[Status] = "Completed"
    )
VAR Table2=
TOPN(
    3,
    Table1,
    TableName[Date]
)
RETURN Table2
 
I tried and it worked like this:
FreemanZ_0-1669301817242.png

Thank you very much for the response, I haven't specified that I need a measure , where the top 3 "Completed" will be shown along with the other status "Overdue","Future", regardless of both numbers of results.

 

 

Helpful resources

Announcements
November 2022 Update

Check it Out!

Click here to read more about the November 2022 updates!

Difinity Conference

Difinity Conference 2022

Difinity is the largest Microsoft Data, AI, Power BI, Power Platform and Business Applications Conference in New Zealand.

European Share Point Conference

European Share Point Conference

This conference returns live and in-person in Copenhagen this 28 November-01 December with 4 Microsoft Keynotes, 9 Tutorials, and 120 Sessions.

Microsoft 365 Conference â__ December 6-8, 2022

Microsoft 365 Conference - 06-08 December

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Top Solution Authors