Forum Discussion
afaherty
Helper V
3 years agoAssign students a pass/fail status based on how many tests they've passed
Hi All, I was hoping one of you talented forum members could help me. Here is an example of my data: Essentially, what I need to do is designate each student as Pass or Fail overall...
- 3 years ago
- 3 years ago
HI afaherty
I hope something like this would satisfy your requirements.Pass/Fail = VAR PassLimit = SELECTEDVALUE ( 'Pass Limit'[Pass Limit] ) VAR CurrentStudentTable = CALCULATETABLE ( 'Table', ALLEXCEPT ( 'Table', 'Table'[Student], 'Table'[Test] ) ) VAR Passes = FILTER ( CurrentStudentTable, 'Table'[Pass_Fail] = "Pass" ) VAR Result = IF ( DIVIDE ( COUNTROWS ( Passes ), COUNTROWS ( CurrentStudentTable ) ) >= PassLimit, "Pass", "Fail" ) VAR CurrentResult = SELECTEDVALUE ( 'Table'[Pass_Fail] ) RETURN IF ( HASONEVALUE ( 'Table'[Subtest] ), CurrentResult, Result )Result = IF ( ISINSCOPE ( 'Table'[Test] ) && ISINSCOPE ( 'Table'[Student] ), [Pass/Fail], SUMX ( SUMMARIZE ( 'Table', 'Table'[Student], 'Table'[Test] ), IF ( [Pass/Fail] = "Pass", 1 ) ) ) - 3 years ago
afaherty
Please refer to attachedPass/Fail = VAR PassLimit = SELECTEDVALUE ( 'Pass Limit'[Pass Limit] ) VAR CurrentStudentTable = CALCULATETABLE ( 'Table', ALLEXCEPT ( 'Table', 'Table'[Student], 'Table'[Test] ) ) VAR Passes = FILTER ( CurrentStudentTable, 'Table'[Pass_Fail] = "Pass" ) VAR Result = IF ( DIVIDE ( COUNTROWS ( Passes ), COUNTROWS ( CurrentStudentTable ) ) >= PassLimit, "Pass", "Fail" ) VAR CurrentResult = SELECTEDVALUE ( 'Table'[Pass_Fail] ) RETURN IF ( HASONEVALUE ( 'Table'[Subtest] ), CurrentResult, Result )Result = VAR T = SUMMARIZE ( 'Table', 'Table'[Student], 'Table'[Test] ) VAR Students = COUNTROWS ( T ) VAR Passed = SUMX ( T, IF ( [Pass/Fail] = "Pass", 1, 0 ) ) VAR PassedPCT = FORMAT ( DIVIDE ( Passed, Students ), "Percent" ) RETURN IF ( ISINSCOPE ( 'Table'[Test] ), IF ( ISINSCOPE ( 'Table'[Student] ), [Pass/Fail], "Passed " & Passed & " Student(s)" & UNICHAR ( 10 ) & "(" & PassedPCT & ")" ) )