Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more

Reply
Anonymous
Not applicable

Help! Is the Name repeated? then if calculate a date difference if so

Column1: id

Column2: person

Column3: Date of event

 

This is my table above, i want to identify if the person is duplicated in the table if so, is the date difference less that 30 days. 

 

i have a few ways to approach this but i cannot seem to get something to work. 

 

 

Any help is appreciated. 

 

Thanks 

1 ACCEPTED SOLUTION
v-frfei-msft
Community Support
Community Support

Hi @Anonymous ,

 

One sample for your reference, here we can create two calculated columns as below.

 

index per person = 
RANKX (
    FILTER ( Table1, Table1[person] = EARLIER ( Table1[person] ) ),
    'Table1'[Date of event],
    ,
    ASC,
    DENSE
)
result = 
VAR index1 = Table1[index per person] - 1
VAR date1 =
    CALCULATE (
        MAX ( 'Table1'[Date of event] ),
        FILTER (
            Table1,
            Table1[person] = EARLIER ( Table1[person] )
                && Table1[index per person] = index1
        )
    )
VAR difference =
    DATEDIFF ( date1, 'Table1'[Date of event], DAY )
RETURN
    IF (
        ISBLANK ( difference ),
        "not duplicated",
        IF ( difference > 30, "more than 30 days", "less that 30 days" )
    )

Capture.PNG

 

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

View solution in original post

1 REPLY 1
v-frfei-msft
Community Support
Community Support

Hi @Anonymous ,

 

One sample for your reference, here we can create two calculated columns as below.

 

index per person = 
RANKX (
    FILTER ( Table1, Table1[person] = EARLIER ( Table1[person] ) ),
    'Table1'[Date of event],
    ,
    ASC,
    DENSE
)
result = 
VAR index1 = Table1[index per person] - 1
VAR date1 =
    CALCULATE (
        MAX ( 'Table1'[Date of event] ),
        FILTER (
            Table1,
            Table1[person] = EARLIER ( Table1[person] )
                && Table1[index per person] = index1
        )
    )
VAR difference =
    DATEDIFF ( date1, 'Table1'[Date of event], DAY )
RETURN
    IF (
        ISBLANK ( difference ),
        "not duplicated",
        IF ( difference > 30, "more than 30 days", "less that 30 days" )
    )

Capture.PNG

 

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

Helpful resources

Announcements
March PBI video - carousel

Power BI Monthly Update - March 2025

Check out the March 2025 Power BI update to learn about new features.

March2025 Carousel

Fabric Community Update - March 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors