Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
josemaria
Creator II
Creator II

Poner color a toda una fila por una condicion.

Hola a tod@s,

Estoy trabajando en un informe y estoy bloqueado en un punto, a ver si me podéis ayudar.

Tengo una tabla que me indica lo que tengo en producción, almacén, servido y pedido y me saco el % de lo que tengo en almacén.

Ahora lo que quiero es que con una condición me pinte en diferentes colores.

si en producción >0 y %Almacén >50% y Fecha Salida no esta informada color azul.

si en producción =0 y %Almacén >50% y Fecha Salida no esta informada color amarillo

si en producción >0 y %Almacén >50% y Fecha Salida informada color verde.

Seria algo como esta imagen.

os adjunto documento Qv.

Gracias por vuestra ayuda

1 Solution

Accepted Solutions
Joaquin_Lazaro
Partner - Specialist II
Partner - Specialist II

Yo creo que los dos primeros deberían ser False y el tercero True, pero no estoy seguro si alguna fila cumple la tercera condición

=if(Produccion>0 and (sum(Almacen)/sum([Cant Pedida]))>=0.5 and IsNum([Fecha Salida])=False(),Yellow(),
if(Produccion=0 and (sum(Almacen)/sum([Cant Pedida]))>=0.5 and IsNum([Fecha Salida])=False(), Green(),
if(Produccion>0 and (sum(Almacen)/sum([Cant Pedida]))>=0.5 and IsNum([Fecha Salida])=True(), LightCyan(), White() ))) .

View solution in original post

14 Replies
Joaquin_Lazaro
Partner - Specialist II
Partner - Specialist II

Hola José María:

Tanto en la lista de dimensiones utilizadas como en la lista de expresiones tienes un signo más; pulsa sobre él en la lista que se abre selecciona color de fondo ... ahora en la expresión pones tu IF.

IF ( producción >0 y %Almacén >50% and IsNull(Fecha Salida), Blue() ,

IF ( producción =0 y %Almacén >50% and IsNull(Fecha Salida), Yellow() ,

IF ( producción >0 y %Almacén >50% and IsNull(Fecha Salida) = False(), Green() , White() )))

Como idea para empezar suficiente, tienes que ajustar la comparación con el 50% y quizá el IsNull = False

También puedes usar RGB(xxx, xxx, xxx) en lugar de los colores.

Saludos

Joaquín

Joaquin_Lazaro
Partner - Specialist II
Partner - Specialist II

Hola otra vez:

No había visto el anexo. Te dejo una parte, el resto lo trabajas tú

= IF (Produccion>0 and (sum(Almacen)/sum([Cant Pedida]))>=0.5 and IsNum([Fecha Salida])=False(), LightCyan())

Saludos

Joaquín

josemaria
Creator II
Creator II
Author

Hola Joaquin,

En primer lugar gracias por la rápida respuesta, no se si estoy haciendo algo mal pero con la expresión que pongo solo me lo pinta en LightCyan.

=if(Produccion>0 and (sum(Almacen)/sum([Cant Pedida]))>=0.5 and IsNum([Fecha Salida]),Yellow(),
if(Produccion>0 and (sum(Almacen)/sum([Cant Pedida]))>=0.5 and IsNum([Fecha Salida]), Green(),
if(Produccion>0 and (sum(Almacen)/sum([Cant Pedida]))>=0.5 and IsNum([Fecha Salida])=False(), LightCyan(), White() )))

sabes por que puede ser?

Muchas gracias.

Saludos

sorrakis01
Specialist
Specialist

Hola Jose Maria,

porque las 3 primeras instrucciones de tu if anidado son  iguales? Te has dado cuenta?

Saludos,

Joaquin_Lazaro
Partner - Specialist II
Partner - Specialist II

Muy bien Jordi, tienes buena vista jajajajajaja.

José María, el IsNum sería lo contrario a IsNull. Atendiendo a tu pregunta porque tus datos únicamente cumplen la última condición y sale por su respuesta positiva.

Saludos

Joaquín

josemaria
Creator II
Creator II
Author

Jajajajaja, estoy tan cegado con el tema que no lo veía....

La expresión la he rectificado y ahora me sale el color Yellow y Green pero la ultima condición no me sale.

=if(Produccion>0 and (sum(Almacen)/sum([Cant Pedida]))>=0.5 and IsNum([Fecha Salida])=False(),Yellow(),
if(Produccion=0 and (sum(Almacen)/sum([Cant Pedida]))>=0.5 and IsNum([Fecha Salida]), Green(),
if(Produccion>0 and (sum(Almacen)/sum([Cant Pedida]))>=0.5 and IsNum([Fecha Salida]), LightCyan(), White() ))) .

Joaquin_Lazaro
Partner - Specialist II
Partner - Specialist II

Yo creo que los dos primeros deberían ser False y el tercero True, pero no estoy seguro si alguna fila cumple la tercera condición

=if(Produccion>0 and (sum(Almacen)/sum([Cant Pedida]))>=0.5 and IsNum([Fecha Salida])=False(),Yellow(),
if(Produccion=0 and (sum(Almacen)/sum([Cant Pedida]))>=0.5 and IsNum([Fecha Salida])=False(), Green(),
if(Produccion>0 and (sum(Almacen)/sum([Cant Pedida]))>=0.5 and IsNum([Fecha Salida])=True(), LightCyan(), White() ))) .

sorrakis01
Specialist
Specialist

Hola,

La tercera expresion es igual que la primera!

Saludos!

Joaquin_Lazaro
Partner - Specialist II
Partner - Specialist II

Jordi, collons !!!!!!

Que no ves el False() y el True() ????