Forum Discussion
Modelado de datos para booleanos
- 4 years ago
Según su captura de pantalla, creo que debería haber dos tablas en su modelo de datos.
Tabla DimSubject:
Tabla de datos:
Puede probar estos códigos para crear medidas.
Count of Pass Subject = SWITCH ( MAX ( DimSubject[Subject] ), "Subject 1", CALCULATE ( COUNT ( 'Table'[Subject 1] ), FILTER ( 'Table', 'Table'[Subject 1] = "Pass" ) ), "Subject 2", CALCULATE ( COUNT ( 'Table'[Subject 2] ), FILTER ( 'Table', 'Table'[Subject 2] = "Pass" ) ), "Subject 3", CALCULATE ( COUNT ( 'Table'[Subject 3] ), FILTER ( 'Table', 'Table'[Subject 1] = "Pass" ) ) )M_Subject 1 = VAR _SELECTSubject = SELECTEDVALUE ( DimSubject[Subject] ) RETURN IF ( ISFILTERED ( DimSubject[Subject] ), IF ( _SELECTSubject = "Subject 1", CALCULATE ( MAX ( 'Table'[Subject 1] ), 'Table'[Subject 1] = "Pass" ), BLANK () ), MAX ( 'Table'[Subject 1] ) )M_Subject 2 = VAR _SELECTSubject = SELECTEDVALUE ( DimSubject[Subject] ) RETURN IF ( ISFILTERED ( DimSubject[Subject] ), IF ( _SELECTSubject = "Subject 2", CALCULATE ( MAX ( 'Table'[Subject 2] ), 'Table'[Subject 2] = "Pass" ), BLANK () ), MAX ( 'Table'[Subject 2] ) )M_Subject 3 = VAR _SELECTSubject = SELECTEDVALUE ( DimSubject[Subject] ) RETURN IF ( ISFILTERED ( DimSubject[Subject] ), IF ( _SELECTSubject = "Subject 3", CALCULATE ( MAX ( 'Table'[Subject 3] ), 'Table'[Subject 3] = "Pass" ), BLANK () ), MAX ( 'Table'[Subject 3] ) )El resultado es el siguiente.
Por defecto:
Seleccione "Tema 1" en el gráfico de columnas.
Saludos
Rico ZhouSi esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
@NSBS , Basado en lo que obtuve, debe despivot las asignaturas, y las asignaturas llegarán a la fila, luego puede usar el nombre, la asignatura y el estado de aprobación / reprobación en el eje según la necesidad
Gracias por su respuesta, sin embargo, la barra en la que se hizo clic aún no puede filtrar la tabla a continuación (consulte la captura de pantalla).
Lo que quiero es que si hago clic en la de la barra de asunto, se filtrará en el estado de aprobación de la columna de asunto correspondiente.
- Syndicate_Admin4 years agoAdministrator
Según su captura de pantalla, creo que debería haber dos tablas en su modelo de datos.
Tabla DimSubject:
Tabla de datos:
Puede probar estos códigos para crear medidas.
Count of Pass Subject = SWITCH ( MAX ( DimSubject[Subject] ), "Subject 1", CALCULATE ( COUNT ( 'Table'[Subject 1] ), FILTER ( 'Table', 'Table'[Subject 1] = "Pass" ) ), "Subject 2", CALCULATE ( COUNT ( 'Table'[Subject 2] ), FILTER ( 'Table', 'Table'[Subject 2] = "Pass" ) ), "Subject 3", CALCULATE ( COUNT ( 'Table'[Subject 3] ), FILTER ( 'Table', 'Table'[Subject 1] = "Pass" ) ) )M_Subject 1 = VAR _SELECTSubject = SELECTEDVALUE ( DimSubject[Subject] ) RETURN IF ( ISFILTERED ( DimSubject[Subject] ), IF ( _SELECTSubject = "Subject 1", CALCULATE ( MAX ( 'Table'[Subject 1] ), 'Table'[Subject 1] = "Pass" ), BLANK () ), MAX ( 'Table'[Subject 1] ) )M_Subject 2 = VAR _SELECTSubject = SELECTEDVALUE ( DimSubject[Subject] ) RETURN IF ( ISFILTERED ( DimSubject[Subject] ), IF ( _SELECTSubject = "Subject 2", CALCULATE ( MAX ( 'Table'[Subject 2] ), 'Table'[Subject 2] = "Pass" ), BLANK () ), MAX ( 'Table'[Subject 2] ) )M_Subject 3 = VAR _SELECTSubject = SELECTEDVALUE ( DimSubject[Subject] ) RETURN IF ( ISFILTERED ( DimSubject[Subject] ), IF ( _SELECTSubject = "Subject 3", CALCULATE ( MAX ( 'Table'[Subject 3] ), 'Table'[Subject 3] = "Pass" ), BLANK () ), MAX ( 'Table'[Subject 3] ) )El resultado es el siguiente.
Por defecto:
Seleccione "Tema 1" en el gráfico de columnas.
Saludos
Rico ZhouSi esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.