Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
5 years ago

CountRows con ALL & FILTER

Hola complejo,

Estoy teniendo dificultades para intentar crear una medida COUNTROWS que tenga ALL & FILTER. Esta es mi estructura de datos,

actividadNuevo/Continuaciónrol
ANuevomaestro
ANuevomaestro
BNuevoestudiante
Bcontinuaciónestudiante
CNuevoestudiante

Me gustaría contar sólo las filas "nuevas" y también ignorar los roles al ponerlo en una matriz que tiene roles en columnas. Algo como esto,

actividadmaestroestudiante
A20
B01
C01

Esta es mi medida actual, pero no ignora Roles cuando la coloqué en mi matriz:

Medida = CALCULATE(COUNTROWS(Actividad),
FILTER(Activity,Activity[New/Continuation]="Nuevo"),
ALL(Actividad[Rol]))
¿Podría hacerme saber lo que ha salido mal? Gracias.

2 Replies

  • Su problema se deriva del hecho de que hace algo que nunca debería hacer: poner una tabla completa como filtro en CALCULATE. No lo hagas nunca si quieres crear fórmulas correctas y mantenerte cuerdo. La regla de oro de DAX es la siguiente: nunca debe filtrar una tabla si puede filtrar una columna.

    [Measure] =
    CALCULATE(
        COUNTROWS( Activity ),
        KEEPFILTERS( Activity[New/Continuation] = "New" ),
        ALL( Activity[Role] )
    )

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      No @daxer

      Gracias por señalar mi error También realmente apreciar que explica el enfoque que debo tomar para evitar errores similares en el futuro!