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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
Rngomoa
Frequent Visitor

grouping in a scalar value measure

Am trying to create a dashboard by counting the total patient_id (Greencard[patient_id]), for clients whose visit dates (Greencard[visit_date]) are less than the selected months (CalenderDate[dates]) and their visit dates are less than the exit date (Greencard[ExitDate1]).
 
 The first part of the dax works out fine. However, it has duplicates. So, my problem is the second part of the dax (i.e begining from COUNTX, which tries to remove those duplicates. Am getting an error. I would appreciate any assistance to remove the duplicates.
 
Thanks.
 
 
 
tx_curr =
var curdate=MAX(CalenderDate[dates])

var tx_curr2=CALCULATE(COUNT(Greencard[patient_id]),FILTER(Greencard,Greencard[visit_date]<=curdate && Greencard[visit_date]<=Greencard[ExitDate1]))

return

COUNTX(GROUPBY(Greencard,Greencard[patient_id],Greencard[mflcode],"Tx_curr3",maxx(CURRENTGROUP(),tx_curr2)),Greencard[patient_id])

 

1 ACCEPTED SOLUTION
BeaBF
Super User
Super User

@Rngomoa Hi!

The issue with the second part of your DAX formula is that the COUNTX function is trying to count the distinct patient IDs in the result of the GROUPBY function, but the GROUPBY function is not returning a table with distinct patient IDs because the MAXX function is being used as an aggregator.

 

tx_curr =
VAR curdate = MAX(CalenderDate[dates])
RETURN
COUNTX(
FILTER(
ADDCOLUMNS(
SUMMARIZE(
Greencard,
Greencard[patient_id],
Greencard[mflcode],
"tx_curr2", CALCULATE(COUNT(Greencard[patient_id]), Greencard[visit_date] <= curdate && Greencard[visit_date] <= Greencard[ExitDate1])
),
"tx_curr3", IF([tx_curr2] > 0, 1, 0)
),
[tx_curr3] > 0
),
DISTINCT(Greencard[patient_id])
)

 

BBF

View solution in original post

1 REPLY 1
BeaBF
Super User
Super User

@Rngomoa Hi!

The issue with the second part of your DAX formula is that the COUNTX function is trying to count the distinct patient IDs in the result of the GROUPBY function, but the GROUPBY function is not returning a table with distinct patient IDs because the MAXX function is being used as an aggregator.

 

tx_curr =
VAR curdate = MAX(CalenderDate[dates])
RETURN
COUNTX(
FILTER(
ADDCOLUMNS(
SUMMARIZE(
Greencard,
Greencard[patient_id],
Greencard[mflcode],
"tx_curr2", CALCULATE(COUNT(Greencard[patient_id]), Greencard[visit_date] <= curdate && Greencard[visit_date] <= Greencard[ExitDate1])
),
"tx_curr3", IF([tx_curr2] > 0, 1, 0)
),
[tx_curr3] > 0
),
DISTINCT(Greencard[patient_id])
)

 

BBF

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.