Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
RSANTOS
Contributor
Contributor

Mostrar en una tabla simple un valor de un campo si cumple con una condición de otro campo

Buenas, 

 

soy nuevo en QLIK, Necesito mostrar en una tabla simple un valor de un campo si cumple con una condición de otro.

 

 

6 Replies
ignacio_pena
Contributor III
Contributor III

Hola,

Lo que tendrías que hacer es crear una nueva expresión y utilizar un IF para comprobar si se cumple la condición. Te pongo un ejemplo de la expresión:

if(MES= 'Ene', MES, 'Sin mes')

En este caso, si se cumple la condición de que en el campo MES = 'Ene', devuelva el valor del campo MES y si no se cumple que ponga Sin mes.

Captura.PNG

Donde pone 'Sin mes', puedes poner otro campo o no poner nada (te devolverá un valor nulo).

Un saludo,

 

 

RSANTOS
Contributor
Contributor
Author

utilice la siguiente expresión 

if(Max(Date)=Date,[Campo2],[Campo1])

Pero me presenta todos los valores nulos.

ignacio_pena
Contributor III
Contributor III

Hola,

En principio debería de funcionar lo que indicas. Te aconsejaría que confirmaras que el campo DATE realmente esta cogiendo bien el formato fecha.

Por otro lado y si el campo DATE lo tienes como un campo de la tabla, te aconsejaría crear una variable con el MAX(DATE) y luego igualar el IF a esa variable.

Hice un ejemplo y a mi me funciono.

La expresión que utilizo es:

if(Fecha=VMaxDate,[Campo2],[Campo1])

Donde VMaxDate es la variable con el MAX(FECHA).

Captura.PNG

Un saludo,

 

RSANTOS
Contributor
Contributor
Author

Hi!,

 

No se el porque a mi no me funciona.

Inclusive lo intente con la siguiente expreción:

only({<Fecha={$(=Max(Fecha))}>}Main_Relay_Status) y no me funciona.

Existe otra forma?

 

RSANTOS
Contributor
Contributor
Author

discúlpame con la palabra "expreción" era "expresión".

 

ignacio_pena
Contributor III
Contributor III

Hola,

No te preocupes.

Quiza lo que deberías de probar es a poner la expresión más sencilla y comprobar que te funciona. Una vez que compruebes que funciona sin problema la puedes ir "complicando" paso a paso hasta que tenga todo lo que necesites.

Lo que yo haría es primero poner algo así en mi tabla:

if(Fecha='01/01/2019',[Campo2],'NO')

Poniendo la fecha con el formato que tu tengas y con un valor que sepas que existe. De tal manera que compruebes que eso te devuelve dato para al menos 1 registro (el que cumple la fecha y el resto debería de ser NO). Si todo te devolviera NO, es que el campo FECHA no tiene bien el formato. Posteriormente iría cambiando la expresión poco a poco hasta llegar a lo que busques. Por ejemplo, modificar el literal NO por otro campo, luego cambiaría el literal de fecha por una variable con el MAX(Fecha)...etc.

Esta es la única manera que conozco para ver si se cumple una condición.

Un saludo