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

Conditional Column based on the presence of two other columns having a value (grouped by patient ID)

I want a list of patients that take 2 (Or more) medication types at the same time.  The table would be;

 

Name                     Benzos____________Opioids___________Medication

Patient A                 Y                               N                         Xanax

Patient B                 Y                               N                         Xanax

Patient C                 Y                               N                         Xanax

Patient C                 N                              Y                         Lortab

Patient D                N                               Y                          Lortab

Patient E                Y                                N                         Xanax

Patient E                N                               Y                          Hydrocodone

 

 

Ideally, my visual would only display Patient C and Patient E (Those patients that had both a Benzo and Opioid medication, although different rows).  I can't group by--as that will break the rest of my report.  If I try a new Conditional Column (Or custom column with an IF statement), since it evaluates row by row without grouping by Patient--I end up with the same issue.  Thanks for any help!

1 ACCEPTED SOLUTION
PattemManohar
Community Champion
Community Champion

@AgeOfEgos Please try this using "New Column" option

 

MultiMedicationFlag = 
IF(AND(PatMedication[Benzos]="Y",PatMedication[Opioids]="Y"),"Y",
IF(AND(PatMedication[Benzos]="Y",COUNTROWS(FILTER(ALL(PatMedication),PatMedication[Opioids]="Y" && PatMedication[Name] = EARLIER(PatMedication[Name])))>0),"Y",
IF(AND(PatMedication[Opioids]="Y",COUNTROWS(FILTER(ALL(PatMedication),PatMedication[Benzos]="Y" && PatMedication[Name] = EARLIER(PatMedication[Name])))>0),"Y","N")
)
)

image.png





Did I answer your question? Mark my post as a solution!

Proud to be a PBI Community Champion




View solution in original post

2 REPLIES 2
PattemManohar
Community Champion
Community Champion

@AgeOfEgos Please try this using "New Column" option

 

MultiMedicationFlag = 
IF(AND(PatMedication[Benzos]="Y",PatMedication[Opioids]="Y"),"Y",
IF(AND(PatMedication[Benzos]="Y",COUNTROWS(FILTER(ALL(PatMedication),PatMedication[Opioids]="Y" && PatMedication[Name] = EARLIER(PatMedication[Name])))>0),"Y",
IF(AND(PatMedication[Opioids]="Y",COUNTROWS(FILTER(ALL(PatMedication),PatMedication[Benzos]="Y" && PatMedication[Name] = EARLIER(PatMedication[Name])))>0),"Y","N")
)
)

image.png





Did I answer your question? Mark my post as a solution!

Proud to be a PBI Community Champion




That was brilliant, thank you!

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.