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.
I am having trouble coming up with a measure to count the number of students who have attended a set of subjects in the below data table. For example, if I wanted to count the number of students who have attended all Calculus, History, and Writing subjects, I would want the measure to output only Charles, as he is the only student has met this criteria. I came up with the following:
Subject | Present | Student |
Physics | Yes | Charles |
Physics | Yes | Daryl |
Physics | Yes | John |
Physics | Yes | Jess |
Calculus | Yes | Daryl |
Calculus | Yes | Charles |
Calculus | Yes | Charles |
Calculus | Yes | Charles |
Calculus | Yes | Henry |
Calculus | Yes | Jess |
Calculus | Yes | Charles |
Calculus | Yes | Charles |
History | Yes | Lucas |
History | Yes | Charles |
History | Yes | Edgar |
History | Yes | Charles |
History | Yes | Charles |
History | Yes | Edgar |
History | Yes | Edgar |
History | Yes | Charles |
History | Yes | Tess |
Calculus | No | Charles |
History | No | Lucas |
History | No | Charles |
History | No | Edgar |
History | No | Charles |
History | No | Charles |
History | No | Edgar |
History | No | Edgar |
History | No | Charles |
History | No | Tess |
History | No | Edgar |
Writing | No | Daryl |
Writing | No | Edgar |
Writing | No | Tess |
Writing | No | Tess |
Writing | No | Edgar |
Writing | Yes | Tess |
Writing | Yes | Charles |
Writing | Yes | Edgar |
Writing | Yes | Edgar |
Solved! Go to Solution.
Hi @Anonymous
Please use the measure below:
Measure 2 =
VAR PassStudent =
FILTER (
SUMMARIZE (
CALCULATETABLE ( 'Table1', ALL ( 'Table1'[Subject] ) ),
Table1[Student],
"AllPass", IF (
CALCULATE (
COUNTROWS ( DISTINCT ( 'Table1' ) ),
FILTER (
'Table1',
'Table1'[Present] = "Yes"
&& 'Table1'[Subject] IN { "Calculus", "History", "Writing" }
)
) >= 3,
1,
0
)
),
[AllPass] = 1
)
RETURN
IF (
CALCULATE (
COUNTROWS ( 'Table1' ),
FILTER (
'Table1',
'Table1'[Present] = "Yes"
&& 'Table1'[Subject] IN { "Calculus", "History", "Writing" }
)
) > 0,
CALCULATE (
DISTINCTCOUNT ( 'Table1'[Student] ),
FILTER (
'Table1',
'Table1'[Student] IN SELECTCOLUMNS ( PassStudent, "Student", 'Table1'[Student] ) && 'Table1'[Subject] IN { "Calculus", "History", "Writing" } &&
'Table1'[Present] = "Yes"
)
),
BLANK ()
)
Pbix attached.
Hi @Anonymous
Please use the measure below:
Measure 2 =
VAR PassStudent =
FILTER (
SUMMARIZE (
CALCULATETABLE ( 'Table1', ALL ( 'Table1'[Subject] ) ),
Table1[Student],
"AllPass", IF (
CALCULATE (
COUNTROWS ( DISTINCT ( 'Table1' ) ),
FILTER (
'Table1',
'Table1'[Present] = "Yes"
&& 'Table1'[Subject] IN { "Calculus", "History", "Writing" }
)
) >= 3,
1,
0
)
),
[AllPass] = 1
)
RETURN
IF (
CALCULATE (
COUNTROWS ( 'Table1' ),
FILTER (
'Table1',
'Table1'[Present] = "Yes"
&& 'Table1'[Subject] IN { "Calculus", "History", "Writing" }
)
) > 0,
CALCULATE (
DISTINCTCOUNT ( 'Table1'[Student] ),
FILTER (
'Table1',
'Table1'[Student] IN SELECTCOLUMNS ( PassStudent, "Student", 'Table1'[Student] ) && 'Table1'[Subject] IN { "Calculus", "History", "Writing" } &&
'Table1'[Present] = "Yes"
)
),
BLANK ()
)
Pbix attached.
Try
CALCULATE(COUNTX(filter(SUMMARIZE(Student,"s1",COUNTROWS(FILTER('Table1',('Table1'[Subject] = "Calculus" || 'Table1'[Subject] = "History" || 'Table1'[Subject] = "Writing") && 'Table1'[Present] = "Yes"))),[s1]>=3),[s1]))
Appreciate your Kudos. In case, this is the solution you are looking for, mark it as the Solution. In case it does not help, please provide additional information and mark me with @
Thanks. My Recent Blog -
https://community.powerbi.com/t5/Community-Blog/Winner-Topper-on-Map-How-to-Color-States-on-a-Map-wi...
https://community.powerbi.com/t5/Community-Blog/HR-Analytics-Active-Employee-Hire-and-Termination-tr...
https://community.powerbi.com/t5/Community-Blog/Power-BI-Working-with-Non-Standard-Time-Periods/ba-p...
https://community.powerbi.com/t5/Community-Blog/Comparing-Data-Across-Date-Ranges/ba-p/823601
@Anonymous
Check out this thread and see if it solves your quest for a "measure":
How to count values that satisfy multiple conditions in a column
Proud to be a Super User!
Paul on Linkedin.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
107 | |
93 | |
77 | |
65 | |
53 |
User | Count |
---|---|
147 | |
106 | |
104 | |
87 | |
61 |