Skip to main content
Announcements
See why Qlik is a Leader in the 2024 Gartner® Magic Quadrant™ for Analytics & BI Platforms. Download Now
cancel
Showing results for 
Search instead for 
Did you mean: 
sorrakis01
Specialist
Specialist

Problema métrica cuadro de texto usando Bundle

Buenas tardes a tod@s,

Tengo un cuadro de texto en formato imagen en que la expresión que os voy a añadir a continuación no me funciona:

=If(GetFieldSelections(Type)=SUBSTRINGCOUNT(Concat(GetFieldSelections(Type), '|'), 'OB'),'qmem://Img/obon','qmem://Img/oboff')

La idea es, que si Type tiene el campo OB activo me ponga la imagen obon y si no la oboff.

Lo curioso es que si hago lo mismo poniendo If(Type='OB','qmem://Img/obon','qmem://Img/oboff')  me funciona, pero no es lo que quiero.

Alguna idea?

Muchas gracias,

Un saludo.

1 Solution

Accepted Solutions
rubenmarin

Hola Jordi, GetFieldSelections() devuelve una cadena con los valores seleccionados y SubStringCount() devuelve el nº de veces que encuentra una cadena, es decir, que el If() siempre será falso.

Puede que solo necesites:

=If(SUBSTRINGCOUNT(Concat(GetFieldSelections(Type), '|'), 'OB'),'qmem://Img/obon','qmem://Img/oboff')

View solution in original post

3 Replies
rubenmarin

Hola Jordi, GetFieldSelections() devuelve una cadena con los valores seleccionados y SubStringCount() devuelve el nº de veces que encuentra una cadena, es decir, que el If() siempre será falso.

Puede que solo necesites:

=If(SUBSTRINGCOUNT(Concat(GetFieldSelections(Type), '|'), 'OB'),'qmem://Img/obon','qmem://Img/oboff')

sorrakis01
Specialist
Specialist
Author

Hola Ruben,

Pues tienes toda la razón, me he ofuscado un poco y no lo veía .

Muchas Gracias por tu ayuda.

Un saludo,

rubenmarin

Jeje, suele pasar, yo normalmente cuando busco una cadena usando concat añado un separador para buscar la palabra completa, sería así:

=If(SUBSTRINGCOUNT('|' & Concat(GetFieldSelections(Type), '|') & '|', '|OB|'),'qmem://Img/obon','qmem://Img/oboff')

Así solo será verdadero si encuentra el valor 'OB' seleccionado, de la otra forma puede que encuentre 'OB1' o 'SOB' y también lo de por correcto (porque ha encontrado el substring 'OB', aunque sea solo una parte del valor seleccionado).

Igual con tus datos no es necesario pero no está de más tenerlo en cuenta.

Saludos.