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
adam_mac
Helper I
Helper I

DAX: Combinding lookupvalue with first non blank

Hi, i created a calculated column that returns the latest activity type by date. The issue that i am having is that sometimes there are multiple activity types on the same date. When this happens the lookupvalue formula returns nothing. 

 

What i would like the formula to do is to return the first or last activity (doesnt matter which) just so that something is being populated. 

 

Latest Activity Date2 = 

VAR Current_ID = AccountAddressCollection[Account.UUID]

VAR Max_Date = CALCULATE(MAX(MergedActivities[StartDateTime]), FILTER(MergedActivities,MergedActivities[AccountUUID]= Current_ID))

RETURN

LOOKUPVALUE(MergedActivities[Type],MergedActivities[AccountUUID],AccountAddressCollection[Account.UUID],MergedActivities[StartDateTime], Max_Date,"")

 

adam_mac_0-1627302599888.png

 

1 ACCEPTED SOLUTION
selimovd
Super User
Super User

Hey @adam_mac ,

 

you could as alternate result for the LOOKUPVALUE function (last argument) return the MAX or MIN Type for that combination with the following CALCULATE:

CALCULATE(
    MAX( MergedActivities[Type] ),
    MergedActivities[StartDateTime] = Max_Date && MergedActivities[Account.UUID] = Current_ID
)

 

So the measure could look like this:

Latest Activity Date2 =
VAR Current_ID = AccountAddressCollection[Account.UUID]
VAR Max_Date =
    CALCULATE(
        MAX( MergedActivities[StartDateTime] ),
        FILTER(
            MergedActivities,
            MergedActivities[AccountUUID] = Current_ID
        )
    )
VAR Alternate_Result =
    CALCULATE(
        MAX( MergedActivities[Type] ),
        MergedActivities[StartDateTime] = Max_Date
            && MergedActivities[Account.UUID] = Current_ID
    )
RETURN
    LOOKUPVALUE(
        MergedActivities[Type],
        MergedActivities[AccountUUID], AccountAddressCollection[Account.UUID],
        MergedActivities[StartDateTime], Max_Date,
        Alternate_Result
    )

 

If you need any help please let me know.
If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍
 
Best regards
Denis
 

 

View solution in original post

1 REPLY 1
selimovd
Super User
Super User

Hey @adam_mac ,

 

you could as alternate result for the LOOKUPVALUE function (last argument) return the MAX or MIN Type for that combination with the following CALCULATE:

CALCULATE(
    MAX( MergedActivities[Type] ),
    MergedActivities[StartDateTime] = Max_Date && MergedActivities[Account.UUID] = Current_ID
)

 

So the measure could look like this:

Latest Activity Date2 =
VAR Current_ID = AccountAddressCollection[Account.UUID]
VAR Max_Date =
    CALCULATE(
        MAX( MergedActivities[StartDateTime] ),
        FILTER(
            MergedActivities,
            MergedActivities[AccountUUID] = Current_ID
        )
    )
VAR Alternate_Result =
    CALCULATE(
        MAX( MergedActivities[Type] ),
        MergedActivities[StartDateTime] = Max_Date
            && MergedActivities[Account.UUID] = Current_ID
    )
RETURN
    LOOKUPVALUE(
        MergedActivities[Type],
        MergedActivities[AccountUUID], AccountAddressCollection[Account.UUID],
        MergedActivities[StartDateTime], Max_Date,
        Alternate_Result
    )

 

If you need any help please let me know.
If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍
 
Best regards
Denis
 

 

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.