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.
Espero estar redactando esto correctamente. Tengo una solicitud de datos para mostrar el porcentaje de estudiantes que obtuvieron una D o F en su última tarjeta de informe.
Quiero que el usuario final pueda usar un parámetro o algo así para que pueda seleccionar un umbral mínimo que calcule el porcentaje de alumnos que cumplen o superan ese umbral. Usando los datos de muestra a continuación, si el usuario final selecciona 2, entonces el gráfico de columnas apiladas del 100% mostraría que el 75% de los estudiantes tienen 2 o más Ds o Fs y el 25% no. Si se seleccionaran 3, entonces volvería a calcular para mostrar que el 50% tiene 3 o más Ds/Fs y el 50% no.
A continuación se muestra una copia de los datos de muestra y aquí un enlace al archivo pbix de muestra:
https://drive.google.com/file/d/1fPdCS7gRuaHimtxKiP7K9PktJmpKUVsT/view?usp=sharing
StudentID | Año escolar | Término | Marca | D/F |
1 | 2020 | S1 | A | 0 |
1 | 2020 | S1 | B | 0 |
1 | 2020 | S1 | A | 0 |
1 | 2020 | S1 | D | 1 |
1 | 2020 | S1 | F | 1 |
1 | 2020 | S1 | D | 1 |
2 | 2020 | S1 | A | 0 |
2 | 2020 | S1 | B | 0 |
2 | 2020 | S1 | D | 1 |
2 | 2020 | S1 | D | 1 |
2 | 2020 | S1 | F | 1 |
2 | 2020 | S1 | D | 1 |
3 | 2020 | S1 | A | 0 |
3 | 2020 | S1 | A | 0 |
3 | 2020 | S1 | A | 0 |
3 | 2020 | S1 | A | 0 |
3 | 2020 | S1 | A | 0 |
3 | 2020 | S1 | A | 0 |
4 | 2020 | S1 | C | 0 |
4 | 2020 | S1 | C | 0 |
4 | 2020 | S1 | C | 0 |
4 | 2020 | S1 | C | 0 |
4 | 2020 | S1 | D | 1 |
4 | 2020 | S1 | D | 1 |
Solved! Go to Solution.
Hola @adamwakatsuki. Prueba esto...
Percent Students With Failing Grades =
VAR TotalStudents =
CALCULATE(
DISTINCTCOUNT(Marks[StudentID]),
FILTER(
ALLSELECTED(Marks),
Marks[School Year] = SELECTEDVALUE(Marks[School Year]) &&
Marks[Term] = SELECTEDVALUE(Marks[Term])
)
)
VAR StudentTermSummary =
SUMMARIZE(
FILTER(
ALLSELECTED(Marks),
Marks[School Year] = SELECTEDVALUE(Marks[School Year]) &&
Marks[Term] = SELECTEDVALUE(Marks[Term])
),
Marks[StudentID],
Marks[School Year],
Marks[Term],
"FailingGrades",
CALCULATE(
COUNTROWS(Marks),
Marks[Mark] IN {"D", "F"}
) + 0
)
VAR StudentsWithFailingGrades =
CALCULATE(
DISTINCTCOUNT(Marks[StudentID]),
FILTER(
StudentTermSummary,
[FailingGrades] >= SELECTEDVALUE('Number of Failing Grades'[Number of Failing Grades])
)
)
RETURN
DIVIDE(
StudentsWithFailingGrades,
TotalStudents,
BLANK()
)
¡Espero que esto ayude! 🙂
Hola, @adamwakatsuki
Según tu descripción, puedo entender lo que quieres conseguir. Desea obtener un gráfico dinámico de columnas apiladas al 100% en función del valor seleccionado de la segmentación. Puedes probar mis pasos:
Students earned more than selected number =
var _summarize=
SUMMARIZE('Marks',[StudentID],"D/F",SUM(Marks[D/F]))
var _selectedvalue=SELECTEDVALUE('Number of Failing Grades'[Number of Failing Grades])
var _total=DISTINCTCOUNT('Marks'[StudentID])
var _count=
COUNTX(FILTER(_summarize,[D/F]>=_selectedvalue),[StudentID])
return
DIVIDE(_count,_total)
Students earned less than selected number =
1-[Students earned more than selected number]
Y puedes conseguir lo que quieras.
Puede descargar mi archivo pbix de prueba aquí
Saludos
Equipo de apoyo a la comunidad _Robert Qin
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@adamwakatsuki ¡Voy a necesitar que convenzas a mi esposa de eso! 😉
¡Me alegro de poder ayudar!
Hola @adamwakatsuki. Prueba esto...
Percent Students With Failing Grades =
VAR TotalStudents =
CALCULATE(
DISTINCTCOUNT(Marks[StudentID]),
FILTER(
ALLSELECTED(Marks),
Marks[School Year] = SELECTEDVALUE(Marks[School Year]) &&
Marks[Term] = SELECTEDVALUE(Marks[Term])
)
)
VAR StudentTermSummary =
SUMMARIZE(
FILTER(
ALLSELECTED(Marks),
Marks[School Year] = SELECTEDVALUE(Marks[School Year]) &&
Marks[Term] = SELECTEDVALUE(Marks[Term])
),
Marks[StudentID],
Marks[School Year],
Marks[Term],
"FailingGrades",
CALCULATE(
COUNTROWS(Marks),
Marks[Mark] IN {"D", "F"}
) + 0
)
VAR StudentsWithFailingGrades =
CALCULATE(
DISTINCTCOUNT(Marks[StudentID]),
FILTER(
StudentTermSummary,
[FailingGrades] >= SELECTEDVALUE('Number of Failing Grades'[Number of Failing Grades])
)
)
RETURN
DIVIDE(
StudentsWithFailingGrades,
TotalStudents,
BLANK()
)
¡Espero que esto ayude! 🙂
Dejé fuera una cosa... para su gráfico de columnas apiladas, necesitará una segunda medida.
Other Measure = 1 - [Percent Students With Failing Grades]
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 |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |