Anónimo
@v-shex-msft
Gracias por su respuesta/esfuerzo pero no resuelve mi problema.
Como se mencionó, inicialmente proporcioné una descripción apresurada de lo que estoy tratando de lograr. Explicaré el problema enfrentado en detalle (como debería). Consulte el requisito detallado a continuación (sobrescribe la descripción apresurada inicial).
————————————————– —–
Tengo dos tablas de la siguiente manera:
refEsperado
refSCRIPT_VALIDACIÓN
El activo la relación entre las dos tablas es refExpected.Session = refSCRIPT_VALIDATION.Session_name. Hay un inactivo relación de refExpected.SessionQualification = refSCRIPT_VALIDATION.SessionQualification.
Hay dos filtros en el informe, que en primer lugar es refSCRIPT_VALIDATION.Session_name y en segundo lugar refSCRIPT_VALIDATION.Qualification. Bueno, en realidad estos filtros serán parámetros, pero hasta que resuelva este problema, los mantendré como filtros para simplificar.
El filtro Session_name es obligatorio y siempre se completará. El filtro de Calificación es opcional.
Tengo una tarjeta visual que muestra el valor de una medida. La última variación de mi medida es la siguiente:
mScriptsEsperados =
SI( ESTÁ FILTRADO( refSCRIPT_VALIDATION[Qualifications.Qualification] ),
CALCULAR(
SUMA( refEsperado[Expected] ),
ALLEXCEPT( refSCRIPT_VALIDATION, refSCRIPT_VALIDATION[SessionQualification] )
)
,
CALCULAR( SUMA( refEsperado[Expected] ), TODO EXCEPTO( refSCRIPT_VALIDATION, refSCRIPT_VALIDATION[session_name] ) )
)
Si solo se completa el filtro de sesión (junio de 2017), entonces necesito el valor total de refExpected.Expected para esa sesión; según la tabla refExpected anterior, el valor devuelto será 4545. requieren el total refExpected.Expected para junio de 2017 y GCSE, según la tabla anterior, será 1111.
He creado una relación inactiva basada en dos campos concatenados en caso de que la necesite.
¿Cómo puedo lograr lo que estoy tratando de hacer? ¿Necesito la relación inactiva que creé o puedo eliminarla?
Gracias por adelantado,
Anónimo
En respuesta a v-shex-msft
He resuelto esto yo mismo. Entonces, para ayudar a otros si lo necesitan, he colocado la fórmula de trabajo a continuación.
mScriptsEsperados =
SI( ESTÁ FILTRADO( refSCRIPT_VALIDATION[Qualifications.Qualification] ),
CALCULAR(
SUMA( refEsperado[Expected] ),
FILTRO( refEsperado, refEsperado[Session] = refSCRIPT_VALIDATION[ScriptSession] ),
FILTRO( refEsperado, refEsperado[Qualification] = refSCRIPT_VALIDATION[ScriptQualificaton] )
)
,
CALCULAR( SUMA( refEsperado[Expected] ), TODO EXCEPTO( refSCRIPT_VALIDATION, refSCRIPT_VALIDATION[session_name] ) )
)
v-shex-msft
HOLA @Anonimo,
Si quiere filtrar en varias columnas cuando filtra en la columna de Calificación, me gustaría sugerirle que agregue la sesión a la función allexcept para aplicar el efecto de filtro:
mScriptsExpected = IF ( ISFILTERED ( refSCRIPT_VALIDATION[SessionQualification] ), CALCULATE ( SUM ( refExpected[Expected] ), USERELATIONSHIP ( refSCRIPT_VALIDATION[SessionQualification], refExpected[SessionQualification] ), ALLEXCEPT ( refSCRIPT_VALIDATION, refSCRIPT_VALIDATION[SessionQualification], refSCRIPT_VALIDATION[session_name] ) ), CALCULATE ( SUM ( refExpected[Expected] ), ALLEXCEPT ( refSCRIPT_VALIDATION, refSCRIPT_VALIDATION[session_name] ) ) )
Si lo anterior no ayuda, comparta información más detallada para ayudarnos a aclarar su situación.
Cómo obtener una respuesta rápida a su pregunta
Saludos,
Xiaoxin-sheng
Anónimo
En respuesta a v-shex-msft
He resuelto esto yo mismo. Entonces, para ayudar a otros si lo necesitan, he colocado la fórmula de trabajo a continuación.
mScriptsEsperados =
SI( ESTÁ FILTRADO( refSCRIPT_VALIDATION[Qualifications.Qualification] ),
CALCULAR(
SUMA( refEsperado[Expected] ),
FILTRO( refEsperado, refEsperado[Session] = refSCRIPT_VALIDATION[ScriptSession] ),
FILTRO( refEsperado, refEsperado[Qualification] = refSCRIPT_VALIDATION[ScriptQualificaton] )
)
,
CALCULAR( SUMA( refEsperado[Expected] ), TODO EXCEPTO( refSCRIPT_VALIDATION, refSCRIPT_VALIDATION[session_name] ) )
)