Si trabajáis con documentos de Qlikview con decenas de variables llegaréis a la conclusión de que la forma más óptima de su mantenimiento es utilizar un excel (por cierto, aprovecho para reivindicar a Qliktech que den una vuelta al diseño del panel de variables, bastante arcaico para la gestión…). La forma de cargar variables desde un excel a Qlikview es muy sencilla, sólo necesitamos dos cosas:
- Fichero excel con una tabla en la que indiquemos nombre de la variable y valor
- Modificar el script de carga del documento Qlikview
Excel con variables Qlikview
Como ejemplo práctico, imaginad que necesitáis utilizar la misma paleta de colores en todos los documentos Qlikview de la compañía. Lo más ágil es almacenarlos en variables, y un paso más allá, mantenerlo desde un fichero excel de forma que si en un futuro decidimos cambiar algún color, tendremos centralizado el cambio. La hoja excel deberá tener una tabla con al menos dos columnas, una para el nombre y otra para el valor o expresión (podemos añadir cuantas columnas queramos para complementar, luego no las cargaremos). En nuestro caso práctico, la columna A será el nombre de cada variable y la B la expresión que define los colores (utilizamos la función RGB de Qlikview). La columna C la usamos internamente, no se carga.
Carga en script
El segundo paso será cargar las variables automáticamente en el script de Qlikview. Como la idea es dejar el mantenimiento de las variables únicamente en el excel, prepararemos un algoritmo que recorra todas las filas con contenido, así si en un futuro añadimos un nuevo color, no tendremos que modificar el script en n documentos.
Con un simple loop de tipo for recorremos las filas con contenido de nuestro excel y almacenamos el contenido de la columna B «Expression» en una variable con el nombre indicado en la columna a «Variable». Os marco en rojo los parámetros que debéis modificar para personalizar el script en vuestro sistema.
/******* LIBRO DE ESTILOS COLORES *******/
Variables:
LOAD Variable,
Expression
FROM
[MiServidor\Libro Estilos\LIBRO_ESTILOS_QV.xlsx]
(ooxml, embedded labels, table is Hoja1);
Let vNumberOfRows = NoOfRows('Variables');
For vI = 0 to (vNumberOfRows - 1)
Let vVariable_Name = Peek('Variable',vI,'Expression');
Let [$(vVariable_Name)] = Peek('Expression',vI,'Expression');
Next
/*****************************************/
Tras recargar el documento, vemos que las variables se han grabado correctamente:
¡Hola!
Muy bueno el artículo, gracias. Yo las guardaba en un .txt, pero me parece más provechoso el excel.
Hago una consulta: tengo que mostrar diferentes gráficos de torta con «Sucursal» como dimensión. ¿Puedo asignar un color fijo a cada sucursal, para que en todos los gráficos me muestra siempre el mismo color para una misma sucursal?
Muchas gracias.
Saludos!
Ariel