Data e IAEmergentes

Conceptos básicos de Qlik para desarrolladores de Power BI (III): Sentencias de script de Qlik Sense

4 Mins de lectura

Descubre cómo podemos ayudarte a aprovechar el potencial de los datos.

En el ámbito de Business Inteligence y el análisis de datos, Power BI y Qlik Sense se destacan como dos de las plataformas más utilizadas. Sin embargo, presentan grandes diferencias en su enfoque y funcionalidades, como hemos visto en artículos anteriores.

Una de las diferencias más notables entre Power BI y Qlik Sense es el lenguaje de manipulación de tablas que utilizan. Power BI se basa en una interfaz de Power Query para realizar la transformación y manipulación de datos, aunque por detrás trabaja en lenguaje M.

Por otro lado, Qlik Sense utiliza su propio lenguaje de script, lo que puede presentar un desafío significativo durante los procesos de migración de una plataforma a otra. Mientras que el lenguaje de Qlik tiene similitudes con SQL, incluye también sentencias y funciones únicas que requieren un conocimiento específico para su correcta implementación y que analizaremos en este artículo.

 

Sentencias de script de Qlik Sense

Store

Esta sentencia crea un archivo QVD, CSV o TXT con los datos almacenados en una tabla. Si ya existiera el fichero, lo sobrescribiría.

Tenemos que ir con cuidado con esta sentencia al recargar los datos de una aplicación en el espacio de trabajo ya que podemos reemplazar los ficheros que usan otras aplicaciones. Por eso, recomendamos comentar este tipo de sentencias (usando una doble barra //) cuando se estén realizando pruebas en el espacio de trabajo o no se tenga un buen conocimiento de la herramienta.

La sintaxis de la sentencia sería la siguiente:

STORE * FROM Nombre_Tabla INTO ‘lib://Path/File.qvd’ (qvd);

Sintaxis de la sentencia STORE. sentencias de script de Qlik Sense

Sintaxis de la sentencia STORE.

 

Drop

Esta sentencia se utiliza para eliminar tablas o campos del modelo de datos de una aplicación. Por eso, no tiene impacto sobre el resto de las aplicaciones si la utilizamos en el espacio de trabajo.

La sintaxis de la sentencia para tablas es:

DROP TABLE Nombre_Tabla [, Nombre_Tabla2 …]

Sintaxis de la sentencia DROP para tablas.

Sintaxis de la sentencia DROP para tablas.

Y para campos:

DROP FIELD Nombre_Campo [, Nombre_Campo2 … FROM Nombre_Table]

Sintaxis de la sentencia DROP para campos.

Sintaxis de la sentencia DROP para campos.

Esta sentencia existe en SQL, pero elimina la tabla de la base de datos, no del modelo de datos de la aplicación.

 

Sentencias de script de Qlik Sense. Sentencia Exit Script

Esta sentencia finaliza la ejecución del script de la aplicación. Puede ser muy útil a la hora de estudiar los diferentes pasos en la transformación de datos o el funcionamiento de cierta sección de código. Tampoco afecta fuera del entorno de nuestra aplicación.

 

Load * Inline [ ]

Esta sentencia permite cargar una tabla introduciendo los valores manualmente. La primera fila de registros introducida se utilizará siempre como nombre de los campos.

Podemos ver un ejemplo de sintaxis al crear una tabla con dos campos, Especie y Tamaño, con registros para varios peces.

FACT_PECES:

LOAD * INLINE [

Especie, Tamaño,

Lubina, XL,

Gallo, M,

Carpin, S];

Ejemplo de sintaxis para la sentencia LOAD INLINE.

Ejemplo de sintaxis para la sentencia LOAD INLINE.

La tabulación es opcional pero facilita mucho la lectura del código.

Esta sentencia resultaría en la creación de la siguiente tabla:

Tabla resultado de la sentencia ejemplo LOAD INLINE.

Tabla resultado de la sentencia ejemplo LOAD INLINE.

 

Resident

Esta sentencia permite cargar los datos de una tabla previamente ya cargada. De esta forma, no hace falta que todas las tablas se carguen desde archivos QVDs o CSVs.

Siguiendo el ejemplo que estamos utilizando, si quisiéramos crear una tabla con los datos de los peces a mano, escribiríamos:

TABLA_RESIDENT:

LOAD

*

RESIDENT FACT_PECES;

Ejemplo de sintaxis de la sentencia RESIDENT.

Ejemplo de sintaxis de la sentencia RESIDENT.

De esta forma, la sentencia crearía la siguiente tabla:

Resultado de la sentencia ejemplo RESIDENT.

Resultado de la sentencia ejemplo RESIDENT.

 

ApplyMap

Esta sentencia une el campo que le pasamos con una tabla de dos columnas previamente cargada. Si encuentra el registro en la primera columna, devuelve el valor en la segunda columna. En caso contrario, devuelve por defecto un nulo o, de forma opcional, un parámetro.

Para cargar anteriormente la tabla que se usa para mapear debemos definirla con la sentencia MAPPING LOAD.

La sintaxis es la siguiente:

ApplyMap(‘Nombre_Tabla_Map’,Expresión, [Parametro]).

Sintaxis de la sentencia ApplyMap. sentencias de script de Qlik Sense

Sintaxis de la sentencia ApplyMap.

Podemos ver un ejemplo práctico con los datos que estábamos utilizando. Imaginemos que, desde origen, el tamaño de los peces se expresa utilizando su abreviación en letra (como las camisetas), pero queremos que aparezca el nombre en palabras.

Tabla original para el ejemplo de ApplyMap.

Tabla original para el ejemplo de ApplyMap.

Una opción sería concatenar una gran cantidad de IF ELSE hasta cumplir todas posibilidad. Sin embargo, lo óptimo sería utilizar un ApplyMap. Para ello, primero cargamos a mano una tabla que actúe como diccionario:

MAP_TALLA:

MAPPING LOAD * INLINE [

Talla, Nombre

XS, Muy Pequeño

S, Pequeño

M, Mediano

L, Grande

XL, Muy Grande

XXL, Muuuy Grande

];

Ejemplo de sintaxis MAPPING LOAD. sentencias de script de Qlik Sense

Ejemplo de sintaxis MAPPING LOAD.

Y luego, utilizamos el ApplyMap para añadir el campo adicional a la tabla ya cargada con el tamaño de los peces, que funcionaría como una tabla auxiliar.

FACT_PECES:

LOAD

*,

ApplyMap(‘MAP_TALLA’,Tamaño,’Sin Asignar’) AS [Tamaño text]

RESIDENT AUX_PECES

Ejemplo de sintaxis ApplyMap.

Ejemplo de sintaxis ApplyMap.

Así, crearíamos una nueva tabla con la columna Talla en formato texto. Si aparecieran nuevos registros que no hemos definido en el mapeo, llevarían el valor por defecto de “Sin asignar».

Resultado de la sentencia de ejemplo Apply Map.

Resultado de la sentencia de ejemplo Apply Map.

 

¡Y hasta aquí nuestra serie sobre Conceptos básicos de Qlik para desarrolladores de Power BI! Espero que haya resuelto vuestras dudas y os permita adentraros en este fascinante universo. ¡No olvidéis leer los artículos anteriores para aprender más sobre la herramienta y las funciones de Qlik Sense!

 

La diferencia entre entornos es abismal, lo cual dificulta en muchas ocasiones los procesos de migración entre plataformas. En hiberus, tenemos equipos especialistas en Data & Analytics que dominan ambas tecnologías con experiencia en la migración de aplicaciones de Qlik a Power BI. Si quieres saber más, no dudes en contactar con nosotros. ¡Estaremos encantados de resolver tus dudas!

¿Quieres más información sobre nuestros servicios de Data & Analytics?

Contacta con nuestro equipo de expertos en Data & Analytics

     

    5 posts

    Sobre el autor
    Data Analyst en hiberus
    Artículos
    Artículos relacionados

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    ¡No te pierdas nada!

    Te mantenemos al dia de tendencias y novedades sobre el futuro del trabajo, formas de hacer crecer tu negocio, liderazgo digital y muchas cosas más..

    Newsletter