Forum Discussion

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

IFCONTAINS()

Hola, chicos

Tengo un problema único. Tengo una columna de valores que a veces devuelven 0 (debería ser así), sin embargo cuando devuelve cero, quiero mostrar el mensaje en el informe. Lo tengo trabajando con la siguiente fórmula:

Medida 35 - IF(CONTAINS('Krauti Kalij Traukiniai';' Krauti Kalij Traukiniai'[Valor];0); "PROBLEMA"; BLANK()) . Sin embargo, ahora antes del problema, me gustaría devolver el índice que estaba en la misma fila exacta que ese 0. ¿Alguna idea de cómo puedo hacer eso?
  • No @Gediminas12 ,

    "CONTAINS" comprobará si la columna tiene el valor,si sí,return true(),de lo contrario false(),ver abajo:

    v-kelly-msft_0-1611284661530.png

    si "0" es un número entero, le sugiero que utilice la siguiente expresión dax:

    Column = IF('Krauti Kalij Traukiniai'[Value]=0,'Krauti Kalij Traukiniai'[Index]&" "&"Problem",BLANK())

    Y verás:

    v-kelly-msft_1-1611284726981.png

    si "0" es texto, le sugiero que tome debajo de la expresión dax:

    Column = IF(FIND("0",'Table'[value],1,0)=1&&LEN('Table'[value])=1,'Table'[index]&" "&"Problem",BLANK())
    

    Y verás:

    v-kelly-msft_2-1611284946274.png

    Para el archivo .pbix relacionado, pls ver adjunto.

    Saludos
    Kelly

    ¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!

3 Replies

  • Sea más específico. ¿Qué quieres decir con índice? DAX no tiene un concepto de números de fila.

    Por lo general, no se puede devolver más de un resultado con una función DAX. Una posible solución alternativa es utilizar CONCATENATEX()

  • @Gediminas12 , como se ha dicho @lbendlin no se puede devolver más de una fila de una medida sin una función de agregación (como MAX, SUM o incluso SELECTEDVALUE)

    Suponiendo que tiene una columna para [Index] podría utilizar CONCATENATEX o SELECTEDVALUE con la columna Table[Index], por ejemplo:

    Medida 35 - IF(CONTAINS('Krauti Kalij Traukiniai';' Krauti Kalij Traukiniai'[Valor];0); CONCATENATEX(Tabla, Tabla[índice]) & " PROBLEMA"; BLANK())

  • No @Gediminas12 ,

    "CONTAINS" comprobará si la columna tiene el valor,si sí,return true(),de lo contrario false(),ver abajo:

    v-kelly-msft_0-1611284661530.png

    si "0" es un número entero, le sugiero que utilice la siguiente expresión dax:

    Column = IF('Krauti Kalij Traukiniai'[Value]=0,'Krauti Kalij Traukiniai'[Index]&" "&"Problem",BLANK())

    Y verás:

    v-kelly-msft_1-1611284726981.png

    si "0" es texto, le sugiero que tome debajo de la expresión dax:

    Column = IF(FIND("0",'Table'[value],1,0)=1&&LEN('Table'[value])=1,'Table'[index]&" "&"Problem",BLANK())
    

    Y verás:

    v-kelly-msft_2-1611284946274.png

    Para el archivo .pbix relacionado, pls ver adjunto.

    Saludos
    Kelly

    ¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!