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

DAX help check for duplicates

Hi, thanks in advance for any help, we have the following requirements:

I've tried a few different methods to pull this together but all hit a memory issue, any suggestions on the best approach/script?

 

To identify duplicate clients based on email address:

1. For clients creating a new case in September, using email address how many have a different case same month

2. For clients creating a new case in September, using email address how many have a different case previous month(s)

 

Fields:

CaseSurrogateKey, Email, InteractionDate, FirstSessionYN

Check if the email address exists previously but with a different case

Example:

CrazyHorse66_0-1634119492437.png

 

Bob flagged as a duplicate client (based on email) with a new case same month

Ted flagged as a duplicate client (based on email) with a new case different month(s) - as has a case in Jul and Aug already

 

 

1 REPLY 1
ERD
Community Champion
Community Champion

Hi @CrazyHorse66 ,

As a general recommendation, please, provide a sample data as text, use the table tool in the editing bar. This will increase your chances to get an answer.

As for your case, you can try these measures:

firstSession = 
VAR currentEmail = SELECTEDVALUE ( T[Email] )
VAR currentCase = SELECTEDVALUE ( T[Case] )
VAR currentDate = SELECTEDVALUE ( T[Date] )
VAR firstSession =
    MINX (
        FILTER ( ALL ( T ), T[Case] = currentCase && T[Email] = currentEmail ),
        T[Date]
    )
RETURN
    IF ( currentDate = firstSession, "Y", "N" )
flag = 
VAR currentEmail = SELECTEDVALUE ( T[Email] )
VAR _t =
    ADDCOLUMNS (
        CALCULATETABLE ( ALLSELECTED ( T ), T[Email] = currentEmail ),
        "@month", CALCULATE ( MONTH ( MAX ( T[Date] ) ) )
    )
VAR _t2 = SUMMARIZE ( _t, [@month] )
RETURN
    SWITCH (
        TRUE (),
        [firstSession] = "Y" && COUNTROWS ( _t2 ) = 1, "same month",
        [firstSession] = "Y" && COUNTROWS ( _t2 ) > 1, "prev month",
        BLANK ()
    )

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

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

Check out my latest demo report in the data story gallery.

Stand with Ukraine!


Here are official ways you can support Ukraine financially (accounts with multiple currencies):
1) Support the Armed Forces of Ukraine: https://bank.gov.ua/ua/about/support-the-armed-forces
2) Come Back Alive foundation: https://www.comebackalive.in.ua/

Thank you!

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

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.