Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
olguita2014
Creator
Creator

Editar color de dimensiones cuando haya errores

Hola a tod@s,

Quiero saber el código para poder modificar el colo del texto de una dimensión, cuando el valor sea mal ingresado.

Quiero hacerlo desde el script. Hay como?

1 Solution

Accepted Solutions
jer_2011
Creator II
Creator II

Hola

dentro del script solo puedes cargar información, y con ciertos procesos agregar reglas de negocios, ahora puedes identificar los errores pero hay que trabajar en tu modelo de datos, ojo solo se podrá identificar con una bandera mas no dar color a tu resultado, porque lo único que carga es la información, y el formato lo arreglas en los objetos que generes.

ahora para identificar tus posibles errores necesitas dos fuentes de información

1.- tu información general (carrera, estudiante)

2.- tabla de carreras (sintaxis correcta )

script de carga

datos1:  // nombre de primer tabla

load carrera,

        estudiante

from tabla.origen;

left join(datos1)

datos2: //segunda tabla, aquí puedes poner algo referente al contenido de la tabla, si no dejala asi

load carrera,

        bandera

from tabla.origen;      //puede ser una talba de Excel con las carreras correctas

supongamos que tu primer tabla tenga este contenido

Carrera                                  Estudiante

Ingeniería en Sistemas            Pepito

Ingeniería en Matemáticas.     Juan

Ing. en Sistemas                      Juano

Inge en Mate                            Pancho

la segunda tabla tenga el siguiente contedido

Carrera                                     bandera

Ingeniería en Sistemas            1

Ingeniería en Matemáticas.     1

Ingeniería en Telematica         1

que es lo que va hacer left join, es como si ocuparas buscarv en exccel, internamente va a realizar una búsqueda y al encontrar la palabra correcta pondrá el 1, y a lo que no encuentre similitud dejara vacio el campo, esto al final de tu carga tendrías una tabla con un campo extra, por o tanto los 1 son las carreras correctas

como quedaría al final tu tabla

Carrera                                  Estudiante         Bandera

Ingeniería en Sistemas            Pepito                1

Ingeniería en Matemáticas.     Juan                   1

Ing. en Sistemas                      Juano

Inge en Mate                            Pancho

ya en el qvw puedes agregar un objeto de lista, y en campo seleccionar expresión y pones lo siguiente =if(bandera <>null(),bandera,0) , esto es si los datos que contiene el campo es diferente de nulo, que sea el campo, pero si no 0, esto sirve para forzar el campo y convertir los valores nulos a 0, ya que tu tabla solo contenia 1, y con esto ya tendras la elección de elegir los 0 o los 1, ya si agregas un objeto de tabla y selecionas los 0 tendras como resultado tu información erronea

Espero que con este tip sea de ayuda.

saludos

View solution in original post

10 Replies
isorinrusu
Partner - Creator III
Partner - Creator III

Hola Olga,

¿Podrías concretar más tu pregunta por favor? No comprendo aquello del valor mal ingresado.

Saludos,

Sorin.

olguita2014
Creator
Creator
Author

Un ejemplo: Cargo una tabla de una base de datos:

Carrera                              Estudiante

Ingeniería en Sistemas          Pepito

Ingeniería en Matemáticas.     Juan

Ing. en Sistemas                    Juano

Ahora,

Al cargar a Qlik necesito que el registro Ing. en Sistemas se pinte de rojo, ya que es un dato mal ingresado y no esta estandarizado. Y como resultado:

Carrera                              Estudiante

Ingeniería en Sistemas           Pepito

Ingeniería en Matemáticas.      Juan

Ing. en Sistemas Juano

jer_2011
Creator II
Creator II

Hola,

te paso el siguiente ejemplo espero te sirva para tu solución,

dentro de las dimensiones podemos cambiar los colores de fondo y de texto con expresiones

EJEMPLO_171220142.png

en editar podemos agregar la expresión, esto es

= if ( A = B , RGB( 255,255,255) , RGB( 0, 0, 0 ) )

ya tu tendrías que ver tus parámetros que van a evaluarse

RGB( 255,255,255) blanco

RGB( 0, 0, 0 ) negro

puedes ver los códigos de colores, en algún botos de color, puede ser en un objeto de texto

coclores2.png

espero te sirva

olguita2014
Creator
Creator
Author

Gracias, pero lo puedo hacer mediante script, lo que pasa es que son varias tablas y no quisiera hacerlo dentro de la tabla

jer_2011
Creator II
Creator II

Hola nuevamente

no comprendo muy bien tu necesidad, lo que quieres es identificar solamente los datos incorrectos o corregir de raíz tu información, si es solamente identificar es como te mande el ejemplo, esto dentro de un grafico con una tabla simple, pero dentro del script lo único que realiza es la carga de información, el formato lo generas en los objetos ya en la aplicación, ahora si tu quieres que tu información ya sea corregida dentro de la carga podrias realizar esto:

// información de origen

datos_tmp:
LOAD * INLINE
[
Carrera, Estudiante

Ingeniería en Sistemas, Pepito

Ingeniería en Matemáticas., Juan

Ing. en Sistemas, Juano
]
;

NoConcatenate

//depuras tus datos
datos_final:
load if(Carrera='Ing. en Sistemas','Ingeniería en Sistemas',Carrera) as Carrera,
Estudiante
Resident datos_tmp;
drop table datos_tmp;

espero sea de utilidad y si pudieras explicar un poco mas te agradesco

saludos

olguita2014
Creator
Creator
Author

Hola,

En lugar de hacerlo dentro de cada grafico, en la parte de Dimension, quiero hacerlo en el script.

olguita2014
Creator
Creator
Author

Quiero identificar los datos incorrectos

isorinrusu
Partner - Creator III
Partner - Creator III

Olga, dudo mucho que se pueda hacer. La manera de pintar los datos pertenece a cada tipo de gráfico, no es dominio del script.

Lo que puedo recomendarte es que te hagas una tabla aparte con las filas no estandarizados (mediante flags en la carga de datos), y que no muestres en tus tablas aquellos datos erróneos.

Saludos,

Sorin.

jer_2011
Creator II
Creator II

Hola

dentro del script solo puedes cargar información, y con ciertos procesos agregar reglas de negocios, ahora puedes identificar los errores pero hay que trabajar en tu modelo de datos, ojo solo se podrá identificar con una bandera mas no dar color a tu resultado, porque lo único que carga es la información, y el formato lo arreglas en los objetos que generes.

ahora para identificar tus posibles errores necesitas dos fuentes de información

1.- tu información general (carrera, estudiante)

2.- tabla de carreras (sintaxis correcta )

script de carga

datos1:  // nombre de primer tabla

load carrera,

        estudiante

from tabla.origen;

left join(datos1)

datos2: //segunda tabla, aquí puedes poner algo referente al contenido de la tabla, si no dejala asi

load carrera,

        bandera

from tabla.origen;      //puede ser una talba de Excel con las carreras correctas

supongamos que tu primer tabla tenga este contenido

Carrera                                  Estudiante

Ingeniería en Sistemas            Pepito

Ingeniería en Matemáticas.     Juan

Ing. en Sistemas                      Juano

Inge en Mate                            Pancho

la segunda tabla tenga el siguiente contedido

Carrera                                     bandera

Ingeniería en Sistemas            1

Ingeniería en Matemáticas.     1

Ingeniería en Telematica         1

que es lo que va hacer left join, es como si ocuparas buscarv en exccel, internamente va a realizar una búsqueda y al encontrar la palabra correcta pondrá el 1, y a lo que no encuentre similitud dejara vacio el campo, esto al final de tu carga tendrías una tabla con un campo extra, por o tanto los 1 son las carreras correctas

como quedaría al final tu tabla

Carrera                                  Estudiante         Bandera

Ingeniería en Sistemas            Pepito                1

Ingeniería en Matemáticas.     Juan                   1

Ing. en Sistemas                      Juano

Inge en Mate                            Pancho

ya en el qvw puedes agregar un objeto de lista, y en campo seleccionar expresión y pones lo siguiente =if(bandera <>null(),bandera,0) , esto es si los datos que contiene el campo es diferente de nulo, que sea el campo, pero si no 0, esto sirve para forzar el campo y convertir los valores nulos a 0, ya que tu tabla solo contenia 1, y con esto ya tendras la elección de elegir los 0 o los 1, ya si agregas un objeto de tabla y selecionas los 0 tendras como resultado tu información erronea

Espero que con este tip sea de ayuda.

saludos