Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
2 years ago

COUNTBLANK & IF

Estoy tratando de devolver una cadena que dice "No en blanco" o "En blanco" si las 3 columnas que tengo en una tabla están TODAS en blanco, pero me estoy encontrando con un pequeño obstáculo al intentar usar una instrucción IF con COUNTBLANK.

Estado en blanco =
SI(
COUNTBLANK('TablaA'[Columna1] > 0 ||
COUNTBLANK('TablaA'[Columna2] > 0 ||
COUNTBLANK('TablaA'[Columna3] > 0,
"En blanco",
"No está en blanco",
)

Lo anterior no parece funcionar (estoy recibiendo demasiados argumentos, se pasaron a la función COUNTBLANK, el recuento máximo de argumentos es 1.

¿Hay alternativas?

Gracias

8 Replies

  • Faltan paréntesis de cierre antes de cada ">" y tiene una coma adicional antes del último paréntesis.

    BlankStatus =
    IF (
        COUNTBLANK ( 'TableA'[Column1] ) > 0 ||
        COUNTBLANK ( 'TableA'[Column2] ) > 0 ||
        COUNTBLANK ( 'TableA'[Column3] ) > 0,
        "Blank",
        "Not Blank"
    )

    Sin embargo, no creo que esta sea necesariamente la lógica que quieres. ¿Está escribiendo una medida o una columna calculada?

    Esto debe decirse como una medida para contar el número de filas en las que las columnas 1, 2 y 3 están en blanco en las mismas filas.

    BlankCount =
    COUNTROWS (
        FILTER (
            'TableA',
            ISBLANK ( 'TableA'[Column1] ) &&
            ISBLANK ( 'TableA'[Column2] ) &&
            ISBLANK ( 'TableA'[Column3] )
        )
    )
    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      Gracias

      BlankCount =
      COUNTROWS (
          FILTER (
              'TableA',
              ISBLANK ( 'TableA'[Column1] ) &&
              ISBLANK ( 'TableA'[Column2] ) &&
              ISBLANK ( 'TableA'[Column3] )
          )
      )

      Creo que lo anterior es lo que necesito, pero no obtengo valores devueltos con esto, aunque sé con certeza que hay filas que cumplen con este criterio.

      Necesito que el conteo sea si ALGUNA de las tres columnas tiene un 0 o un espacio en blanco.

      por ejemplo, columna A = 0, columna B = 2, columna C = 3

      La medida debe contar esto como un registro de fila en blanco.

      Lo siguiente NO debe contarse como un registro de fila en blanco:

      Columna A = 1, Columna B = 2, Columna C = 3

      Sin embargo, no parece funcionar

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Administrator

        Si desea comprobar si ANY está en blanco en lugar de ALL está en blanco, cambie el operador AND "&&" por el operador OR "||". Dado que BLANK() = 0 se evalúa como TRUE, debería poder hacer lo siguiente para comprobar si hay filas con espacio en blanco o cero.

        RowsWithBlankOrZero =
        COUNTROWS (
            FILTER (
                'TableA',
                'TableA'[Column1] = 0 ||
                'TableA'[Column2] = 0 ||
                'TableA'[Column3] = 0
            )
        )