Forum Discussion

luanamoreschi's avatar
luanamoreschi
Frequent Visitor
3 years ago
Solved

Returning the THIRD date - TOPN with equal values

Dear All,
I need to pull specifically the date of the third order of each customer due to a promotion. 

I'm using the solution provided by another user (https://community.powerbi.com/t5/DAX-Commands-and-Tips/Returning-the-THIRD-date/m-p/2741551#M84284). The problem is that the formula ignores sales with same dates.

last date of Top three ascending: = 
IF (
    HASONEVALUE ( Customer[Customer] ),
    MAXX ( TOPN ( 3, Data, Data[Order_Date], ASC ), Data[Order_Date] )
)

 

As you can see below:

 

Thank you!

 

  • Hi,

    I am not sure how your datamodel looks like, but please check the below picture and the attached pbix file.

     

     

     

     

    Last date of top three asc: =
    VAR _relatedtable =
        RELATEDTABLE ( Data )
    RETURN
        IF (
            HASONEVALUE ( Customer[Customer] ),
            MAXX (
                FILTER (
                    ADDCOLUMNS (
                        _relatedtable,
                        "@rank", RANKX ( _relatedtable, Data[Order_Date],, ASC )
                    ),
                    [@rank] <= 3
                ),
                Data[Order_Date]
            )
        )
    

     

1 Reply

  • Hi,

    I am not sure how your datamodel looks like, but please check the below picture and the attached pbix file.

     

     

     

     

    Last date of top three asc: =
    VAR _relatedtable =
        RELATEDTABLE ( Data )
    RETURN
        IF (
            HASONEVALUE ( Customer[Customer] ),
            MAXX (
                FILTER (
                    ADDCOLUMNS (
                        _relatedtable,
                        "@rank", RANKX ( _relatedtable, Data[Order_Date],, ASC )
                    ),
                    [@rank] <= 3
                ),
                Data[Order_Date]
            )
        )