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.
Hola
Tengo problemas con el cálculo de la tabla filtrada, mis dos tablas relacionadas Registro y Clase son los siguientes:
Registration
Student_ID | Clase |
A | C1 |
A | C3 |
B | C1 |
B | C2 |
B | C3 |
C | C1 |
C | C2 |
Class
Clase | Escuela |
C1 | S1 |
C2 | S1 |
C3 | S2 |
Ahora me gustaría calcular el porcentaje de estudiantes en S1 también matriculado en S2.
Como el ejemplo anterior, la respuesta será del 66,7% (A&B), y la fórmula debe ser:
• de los estudiantes registrados S1 & S2 / á de los estudiantes registrados S1
pero no pude filtrar dos condiciones en la misma columna, lo que significa que no podía agrupar a los estudiantes que se registraron en S1 y S2.
Mi script de dax orginal:
N.o de alumnos registrados S1 & S2
CALCULATE(
DISTINCTCOUNT('Registro'[Student_ID]),
FILTER('Class', AND(RELATED('Class'[School]) á "S1", RELATED('Class'[School]) á "S2"))
)
El resultado anterior debe ser 2, pero resultó ser incorrecto.
Espero que alguien pueda ayudarme con él y Gracias de antemano!
Solved! Go to Solution.
Hola @leo_chou
Prueba esto.
# of students registered S1 & S2 =
VAR __s1 = CALCULATETABLE( VALUES( Registration[Student_ID] ), ALL( Class ), 'Class'[School] = "S1" )
VAR __s2 = CALCULATETABLE( VALUES( Registration[Student_ID] ), ALL( Class ), 'Class'[School] = "S2" )
RETURN
DIVIDE(
COUNTROWS( INTERSECT( __s1, __s2 ) ),
COUNTROWS( __s1 )
)
@leo_chou , Unir ambas tablas en la clase un intento
countX(filter(summarize(Registration, Registration[Student_ID] , "_1", calculate(count(Registration[Class]), filter(Class, Class[School]="S1"))
, "_2", calculate(count(Registration[Class]), filter(Class, Class[School]="S2"))
), [_1]>0 && [_2] >0),[Student_ID])
Hola @leo_chou
Prueba esto.
# of students registered S1 & S2 =
VAR __s1 = CALCULATETABLE( VALUES( Registration[Student_ID] ), ALL( Class ), 'Class'[School] = "S1" )
VAR __s2 = CALCULATETABLE( VALUES( Registration[Student_ID] ), ALL( Class ), 'Class'[School] = "S2" )
RETURN
DIVIDE(
COUNTROWS( INTERSECT( __s1, __s2 ) ),
COUNTROWS( __s1 )
)
Hola @Mariusz: Realmente muchas gracias. y también tengo una pregunta de bonificación que queremos saber ¿hay alguna manera de que pueda simplemente filtrar a estos estudiantes de la tabla de registro original? Dado que la tabla de registro también incluía una columna de Asunto, necesito saber el número de estudiantes que se inscribió en S1 y S2 inscritos para cada asignatura.
Realmente muchas gracias por su respuesta, realmente funciona aunque no estoy familiarizado con algunos de la función 🙂
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 |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |