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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

Checking for different values in duplicates

Good day all,

 

I have a table in Power Bi that looks similar to this:

Randolph_0-1615880899618.png

What I need to get is a column called Age_Check that would output 1 if for every group of records with the same name where there is a difference in age. 

 

Bassicaly, Age_Check should output 0 for all records that do not have a Name repeating (i.e Name_Count is 1) and only process those records that have duplicate names (i.e Name_Count >1). For those duplicates that have different value for Age, the Age_Check should be equal to 1.

1 ACCEPTED SOLUTION

@Anonymous , Seem like missed age logic, Try this

 

Age_check =
var _1 = countx(filter(Table,table[Name] = earlier(Table[Name])),Table[Name])
var _2 = countx(filter(Table,table[Name] = earlier(Table[Name]) && table[Age] = earlier(Table[age])),Table[Name])
return
if(_1 >1 && _1<> _2 ,1,0)

View solution in original post

6 REPLIES 6
amitchandak
Super User
Super User

@Anonymous , create a new column like

new column = if(countx(filter(Table,table[Name] = earlier(Table[Name])),Table[Name])>1,1,0)

Anonymous
Not applicable

@amitchandak Please could you input the column names I used in my Example data.

@Anonymous , You have used a name, I used the same

Age_check = if(countx(filter(Table,table[Name] = earlier(Table[Name])),Table[Name])>1,1,0)

 

or we can use ID

 

Age_check = if(countx(filter(Table,table[ID] = earlier(Table[ID])),Table[ID])>1,1,0)

Anonymous
Not applicable

@amitchandak Thank you for the solution, but it does not address the Age factor. I have tested it and what your solution does is to mark all records with duplicate Name as 1. However I need it to check if Age is the same for all cases where Name is duplicated. As I explained, if Name is duplicated it should check all instaces of age and if there is a difference in the age then it should record 1 for all the affected records. 

@Anonymous , Seem like missed age logic, Try this

 

Age_check =
var _1 = countx(filter(Table,table[Name] = earlier(Table[Name])),Table[Name])
var _2 = countx(filter(Table,table[Name] = earlier(Table[Name]) && table[Age] = earlier(Table[age])),Table[Name])
return
if(_1 >1 && _1<> _2 ,1,0)

Anonymous
Not applicable

This worked! Appreciate the support

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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