Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers!
Enter the sweepstakes now!Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.
Hi all,
I seem to be stuck with a problem, I asked previously but it seems I didn't phrase it properly as at that point I wasn't exactly sure how to approach the issue.
Anyhu, hears the issue.
I seem to be having a table containing students, courses and the grades they've gotten.
example,
Courses:
Name student enrolled Grade status
BBA A 50 not complete
BBA B 20 not complete
BBB A 20 not complete
BBC A 10 not complete
BBD A 100 done
BBG A 0 not complete
The courses have a parent module, and a student can be enrolled in multiple courses under a module, I'm currently getting their grades by doing an average on their progress, as shown below:
MODULE1 Module 2
Name COURSE AVG PERFORMANCE COURSE AVG PERFORMANCE
However, I'd love to show, the number of courses a student has enrolled in the module over the total, and then get the progress of the grade, regardless of the progress as shown below.
Module 1 Module 2
Name enrolled Progress enrolled Progress
A 3/5 t enrolled in three) Avg of grade() 1/1(Because the module only has one course)
Any help on how to achieve this would be highly appreciated, thanks.
Hi, @Dee
Based on your description, I created data to reproduce your scenario.
Courses:
ModuleCourse:
You may create two measures as below.
enrolled =
var _table =
SUMMARIZE(
Courses,
Courses[Names],
Courses[Student enrolled],
Courses[Grade],
"Ismodule1",
var _course = Courses[Names]
var _result =
CONTAINSSTRINGEXACT(
CALCULATE(
MAX(ModuleCourse[Courses]),
FILTER(
ALL(ModuleCourse),
ModuleCourse[Modules] = 1
)
),
_course
)
return
IF(
_result,
1,0
),
"Ismodule2",
var _course = Courses[Names]
var _result =
CONTAINSSTRINGEXACT(
CALCULATE(
MAX(ModuleCourse[Courses]),
FILTER(
ALL(ModuleCourse),
ModuleCourse[Modules] = 2
)
),
_course
)
return
IF(
_result,
1,0
)
)
var _stu = SELECTEDVALUE(Courses[Student enrolled])
var _module = SELECTEDVALUE(ModuleCourse[Modules])
return
IF(
ISFILTERED(Courses[Student enrolled]),
IF(
_module = 1,
COUNTROWS(
FILTER(
_table,
[Ismodule1] = 1&&
[Student enrolled] = _stu
)
)&"/"&
COUNTROWS(
FILTER(
ALL(Courses),
[Student enrolled] = _stu
)
),
IF(
_module = 2,
var _re =
COUNTROWS(
FILTER(
_table,
[Ismodule2] = 1&&
[Student enrolled] = _stu
)
)
return
IF(
_re=BLANK(),
0,
_re
)&"/"&
COUNTROWS(
FILTER(
ALL(Courses),
[Student enrolled] = _stu
)
)
)
)
)
Avg of grade =
var _table =
SUMMARIZE(
Courses,
Courses[Names],
Courses[Student enrolled],
Courses[Grade],
"Ismodule1",
var _course = Courses[Names]
var _result =
CONTAINSSTRINGEXACT(
CALCULATE(
MAX(ModuleCourse[Courses]),
FILTER(
ALL(ModuleCourse),
ModuleCourse[Modules] = 1
)
),
_course
)
return
IF(
_result,
1,0
),
"Ismodule2",
var _course = Courses[Names]
var _result =
CONTAINSSTRINGEXACT(
CALCULATE(
MAX(ModuleCourse[Courses]),
FILTER(
ALL(ModuleCourse),
ModuleCourse[Modules] = 2
)
),
_course
)
return
IF(
_result,
1,0
)
)
var _stu = SELECTEDVALUE(Courses[Student enrolled])
var _module = SELECTEDVALUE(ModuleCourse[Modules])
return
IF(
ISFILTERED(Courses[Student enrolled]),
IF(
_module = 1,
AVERAGEX(
FILTER(
_table,
[Ismodule1] = 1
),
[Grade]
)
,
IF(
_module = 2,
AVERAGEX(
FILTER(
_table,
[Ismodule2] = 1
),
[Grade]
)
)
)
)
Result:
Here is pbix .
Best Regards
Allan
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
@v-alq-msft Thank you for this.
However, from the measure it seems I'll have to manually add the modules as they increase. Is there a way toadjust the measure for it to automate that process.
This will be for the cases where I have module 3,4,5 and 6 added.
Than you.
@Anonymous ,
Sorry, I hadn't seen the attached PBIX.
It seems to be solving another issue, I had with my data a million thanks.
Will adjust the question to suit my dynamic data as need be, or maybe start a new thread.
Thanks
Check out the April 2025 Power BI update to learn about new features.
Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.
User | Count |
---|---|
72 | |
68 | |
67 | |
41 | |
39 |
User | Count |
---|---|
48 | |
43 | |
29 | |
28 | |
27 |