Forum Discussion
Filtrado con ALLEXCEPT()
@bh21 , allexpect honrará esos filtros de la segmentación de datos / filtro y del contexto de la fila también ,
Puedes probar como
PRUEBA DE SUMA =
CALCULAR(
DISTINCTCOUNT(
TEST[Proyecto]
),
filter(allselected(TEST)
PRUEBA
TEST[Business] = max(TEST[Business]) &&
TEST[Cat] = max(TEST[Cat])
)
)
Además, ¿por qué el ALLEXCEPT en mi tabla de prueba no honra la cortadora que está vinculada a esa tabla, sino que la que está vinculada a la tabla real lo afecta?
- Syndicate_Admin4 years agoAdministrator
De acuerdo con su declaración, sé que su lógica de cálculo para obtener el costo de suma basado en todos los valores en el mismo negocio y categoría que el proyecto que seleccione. Hasta donde yo sé, ALLEXCEPT mantendrá el filtro de las columnas en él. Pero solo seleccionamos Proyecto, no Negocio o Categoría. Entonces, creo que no obtendrás el resultado que deseas.
Su medida básica debe verse como se muestra a continuación.
SUM TEST = VAR _SELECTBUSINESS = SELECTEDVALUE ( 'Table'[Business] ) VAR _SELECTCATEGORY = SELECTEDVALUE ( 'Table'[Cat] ) RETURN CALCULATE ( SUM ( 'Table'[Cost] ), FILTER ( ALL ( 'Table' ), 'Table'[Business] = _SELECTBUSINESS && 'Table'[Cat] = _SELECTCATEGORY ) )Luego desea mantener el filtro de [Fuente], [Fecha], [Progreso], así que agréguelos al filtro y cambie TODO a ALLEXCEPT.
SUM TEST = VAR _SELECTBUSINESS = SELECTEDVALUE ( 'Table'[Business] ) VAR _SELECTCATEGORY = SELECTEDVALUE ( 'Table'[Cat] ) RETURN CALCULATE ( SUM ( 'Table'[Cost] ), FILTER ( ALLEXCEPT ( 'Table', Table[Source], Table[Progress], Table[Date] ), 'Table'[Business] = _SELECTBUSINESS && 'Table'[Cat] = _SELECTCATEGORY ) )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.