Sunteți pe pagina 1din 37

MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

MANUAL DE CAPACITACIN
V. 2.0
QLIKVIEW - DESARROLLO
Setiembre de 2014, Lima - Per

Pgina 1 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

CONTENIDO

1. INTRODUCCIN 4
1.1. Inteligencia de Negocios (Business Intelligence) 4
1.2. Business Discovery 5
1.3. QlikView 5
1.4. QlikView Desktop 5
1.5. Materiales del Curso 7

2. DESARROLLO: SCRIPT BSICO 9


2.1. Entorno de QlikView Desktop 9
2.1.1. Pgina de Inicio 9
2.1.2. Barra de Herramientas 10
2.1.3. Barra de Mens 11
2.1.4. Barra Estndar 11
2.1.5. Barra Navegacin 12
2.1.6. Barra Diseo 12
2.1.7. Panel de Objetos del Servidor 12
2.1.8. Panel de Notas 13
2.1.9. Barra Hojas 13
2.1.10. Barra Marcadores 14
2.1.11. Barra de Estado 14
2.2. Editor de Script 15
2.2.1. Recarga 16
2.2.2. Depuracin 16
2.3. Carga de Archivo Planos 17

3. DESARROLLO: SCRIPT AVANZADO 21


3.1. Carga de Tablas de Bases de Datos 21
3.2. Carga de Tablas de Bases de Datos 22
3.3. Modelo de Datos Asociativo 24
3.4. Tablas Sintticas 24
3.5. Referencias Circulares 25
3.6. Sentencias QlikView 27
3.6.1. Sentencia Resident 27
3.6.2. Sentencia Join 27
3.6.3. Sentencia Keep 28
3.6.4. Sentencia Concatenate 29

4. DESARROLLO: SOLUCIONES 30

Pgina 2 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

4.1. Archivos QVD 30


4.2. Capas de Desarrollo 31
4.2.1. Extraccin 31
4.2.2. Transformacin 31
4.2.3. QlikMart 31
4.2.4. UI 31
4.3. Tipos de Modelamiento para mltiples tablas de hechos 32
4.3.1. Concatenated Table 33
4.3.2. Linked Table 33
4.3.3. Joining Table 34
4.4. Seguridad 34
4.4.1. Nivel Aplicativo 34
4.4.2. Nivel Reduccin de Datos 35
4.5. Cargas Incrementales 36
4.5.1. Insertar nuevos registros de un archivo de texto 36
4.5.2. Insertar 36
4.5.3. Insertar y actualizar 36
4.6. Buenas prcticas de Desarrollo 37

Pgina 3 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

1. INTRODUCCIN

Este captulo presenta una introduccin a conceptos de Business Intelligence y Business


Discovery; as como tambin a la plataforma QlikView que soporta dichos conceptos

1.1. Inteligencia de Negocios (Business Intelligence)

A continuacin un conjunto de definiciones:

- En 1958, Hans Peter Luhn (investigador de IBM) defini inteligencia de negocios


como La capacidad de comprender las interrelaciones de los hechos
presentados en tal forma como para orientar la accin hacia una meta deseada.

- En 1989, Howard Dresner (analista de Gartner Group) defini inteligencia de


negocios como un trmino general para describir los conceptos y mtodos para
mejorar la toma de decisiones empresariales mediante el uso de sistemas
basados en hechos de apoyo.

- Hoy en da, definimos Inteligencia de Negocios como un conjunto de


estrategias que busca incrementar el rendimiento, la competitividad y la
creacin de conocimiento sobre el negocio, a travs de la organizacin
inteligente y anlisis de los datos existentes de una empresa.

Este conjunto de herramientas presentan los siguientes beneficios:

- Accesibilidad a la informacin, donde los datos se transforman en informacin


que genera un conocimiento que permite tomar decisiones que se transforman
en mejores resultados y que generan nuevos datos.

- Visin nica, conformada, histrica, persistente y de calidad de toda la


informacin.

- Crear, manejar y mantener mtricas, indicadores clave de rendimiento (KPI, Key


Performance Indicator) e indicadores clave de metas (KGI, Key Goal Indicator)
fundamentales para la empresa

- Aportar informacin actualizada a nivel agregado como detallado.

- Agilidad en la toma de decisiones, donde los usuarios tienen acceso a


herramientas de anlisis que les permiten seleccionar la informacin que
necesiten.

Pgina 4 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

1.2. Business Discovery


Business Discovery es un concepto utilizado por la corporacin Qlik y se aplica en la
plataforma de anlisis de datos QlikView, que presenta una manera completamente
nueva de hacer las cosas que tiene como protagonistas a los usuarios. A diferencia
del Business Intelligence tradicional, en el que slo unas cuantas personas estn
implicadas en la creacin de conocimiento, el Business Discovery permite a todos
crear conocimiento, pues da acceso a los datos a cada grupo de trabajo,
departamento y unidad de negocio para que puedan tomar las mejores decisiones.

1.3. QlikView
QlikView es una plataforma que simplifica el anlisis para todos. Perteneciente a la
corporacin Qlik, la cual fue fundada en Lund (Suecia) en 1993.

QlikView es intuitivo y proporciona una rpida capacidad de anlisis, en memoria,


mediante la integracin y presentacin dinmica de los datos, procedentes de
mltiples fuentes o de un nico archivo Excel o archivo de texto.
Los archivos QlikView pueden enviarse por correo electrnico, desplegarse en un
documento Word o en hojas Excel; as como tambin en documentos PDF;
garantizando su seguridad de diversas maneras.

Los archivos QlikView pueden desplegarse mediante portales Web a los usuarios de
las compaas. Los medios de anlisis ms comunes para los archivos QlikView
incluyen AJAX (Asynchronous JavaScript And XML) Zero-FootPrint, un Plug-In para
Internet Explorer y clientes basados en Microsoft Windows.
Los archivos QlikView son creados mediante la herramienta QlikView Desktop y se
despliegan mediante QlikView Server o QlikView Publisher.

Los productos de QlikView son los siguientes:


- QlikView Desktop: Para construir aplicativos QlikView
- QlikView Clients: Para el uso de los usuarios finales en la visualizacin de
aplicativos QlikView
- QlikView Server: Para la administracin y despliegue de aplicativos QlikView
- QlikView Publisher: Para la creacin de tareas de recarga y distribucin de
aplicativos QlikView

1.4. QlikView Desktop

QlikView Desktop es la herramienta que permite el desarrollo de aplicativos


QlikView.
Un aplicativo QlikView tiene como extensin .qvw y est compuesto de los
siguientes elementos:

Pgina 5 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

- Script de Carga: Contiene el cdigo de extraccin hacia las diferentes fuentes de


datos
- Modelo de Datos: Corresponde al conjunto de entidades de datos cargadas
dentro del aplicativo representados mediante un modelo asociativo
- Datos: Conjunto de datos de las fuentes de datos cargadas; esto quiere decir,
que QlikView carga los datos y los mantiene dentro del mismo aplicativo,
evitando la necesidad de solicitar datos a la fuente en cada consulta realizada
por un usuario final.
- Diseo: Conjunto de objetos (de seleccin, grficos, tablas) que permiten el
anlisis de la informacin y constituyen la presentacin del aplicativo

Imagen 1 Elementos de Aplicativo QlikView

QlikView maneja la informacin imitando el funcionamiento del cerebro humano,


realizando conexiones asociativas de informacin que procesa. Esto sucede gracias
a la tecnologa AQL (Associative Query Logic), patentada por Qlik, donde los datos
fuente son retenidos y puestos a disposicin inmediatamente y fuera de lnea para
el anlisis, completamente hasta la transaccin individual

Como podemos visualizar en la siguiente imagen, tenemos al lado izquierdo una


estructura de datos SQL, la cual se muestra en filas y columnas. Luego, al lado
derecho, se representa cmo funciona la tecnologa AQL, la cual ubica los elementos
y guarda las asociaciones entre ellos permitiendo realizar consultas desde cualquier

Pgina 6 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

elemento y sin necesidad de partir de una estructura jerrquica. Entonces, decimos


que QlikView trata de imitar el funcionamiento del cerebro humano debido a que
en nuestra vida diaria, cuando recordamos algn evento, no lo hacemos pensando
en filas y columnas, sino, lo hacemos asociando eventos y elementos que nos
permiten obtener la informacin que necesitamos.

Imagen 2 AQL Associative Query Logic

1.5. Materiales del Curso


La presente capacitacin tiene como objetivo conocer las funcionalidades de carga
y modelamiento de datos en la herramienta QlikView Desktop, partiendo de fuentes
de datos del rea comercial de una empresa ficticia de Retail. Los materiales del
presente curso se entregaron en una carpeta DDS QlikView Desarrollo, la cual
contiene la siguiente estructura:

- DDS QlikView Desarrollo.docx, que corresponde al presente manual

- Comercial.mdb, Base de datos en MS Access, de una empresa ficticia de Retail


y contiene las siguientes tablas:

o Empleados
o Productos
o Categoras
o Courier
o Pedidos

Pgina 7 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

o PedidosDetalle

- Archivos Excel:

o Clientes.xlsx
o Oficinas.xlsx
o Cuota.xlsx

Imagen 3 Materiales del Curso

Para visualizar el aplicativo, seguiremos los siguientes pasos:

Ejercicio:
1. Hacer clic en el botn Inicio
2. Abrir la aplicacin QlikView
3. Crear un nuevo archivo utilizando el men Archivo opcin Nuevo
4. Ubicar el men Archivo y la opcin Guardar como, guardando el archivo dentro
de la carpeta QlikView Desarrollo

Pgina 8 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

2. DESARROLLO: SCRIPT BSICO

2.1. Entorno de QlikView Desktop

A continuacin vamos a revisar los elementos que conforman QlikView Desktop:

2.1.1. Pgina de Inicio

Cuando se inicia QlikView Desktop, aparece la Pgina de Inicio, como se


muestra en la siguiente imagen. Esto suceder por defecto; siempre y cuando
se encuentre marcada la opcin Mostrar pgina de Inicio al ejecutar
QlikView, que se encuentra en la parte inferior izquierda de la Pgina de
Inicio. Si no se encuentra marcada dicha opcin; se podr ubicar la Pgina de
Inicio haciendo clic en la opcin de Men Ayuda Mostrar Pgina de Inicio

Imagen 4 Pgina de Inicio

La pgina de inicio contiene las siguientes secciones:


- Ejemplos, que presenta aplicativos QlikView emitidos por Qlik,
provenientes de los archivos instalados de QlikView Desktop.
- Reciente, que presenta el historial de archivos QlikView abiertos desde
QlikView Desktop.
- Favoritos, que presenta los archivos QlikView que han sido nombrados
como Favoritos. Un archivo QlikView se puede agregar como Favorito, al
abrirlo y dar clic en la opcin de men Archivo Favoritos Aadir a
Favoritos.
- Informacin Adicional, que contiene elementos de aprendizaje y
entrenamiento proporcionado por Qlik
- Botn Nuevo documento, que permite crear un nuevo documento en

Pgina 9 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

QlikView.

2.1.2. Barra de Herramientas

Para configurar la barra de herramientas de QlikView Desktop, hacemos clic


derecho en la barra de herramientas que se encuentra en la parte superior de
la ventana y seleccionamos la opcin Personalizar

Imagen 5 Barra de Herramientas - Opciones

Luego podemos seleccionar las barras que se pueden activar dentro de


QlikView Desktop

Imagen 6 Barra de Herramientas - Personalizar

Pgina 10 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

2.1.3. Barra de Mens


QlikView Desktop est compuesto de un conjunto de opciones para la
navegacin y uso de las funcionalidades, ordenadas en el men, como se
muestra en la siguiente imagen

Imagen 4 Barra de Men

- Archivo: Se utiliza principalmente para crear un nuevo documento, Abrir,


Cerrar, Guardar, Recargar un documento QlikView.
- Editar: Contiene opciones de Edicin de los objetos de un documento
Qlikview, tales como Copiar, Cortar, Pegar, Activar, Buscar.
- Ver: Se utiliza principalmente para activar las opciones de visualizaciones
de elementos de QlikView Desktop, tales como las Barras de
Herramientas, Barra de Estado, Panel de Objetos de Servidor
- Selecciones: Contiene opciones para manejar las selecciones dentro de
QlikView, tales como Borrar, Bloquear, Desbloquear, Atrs, Adelante
- Configuraciones: Se utiliza para definir Configuraciones Generales y
Especficas del documento QlikView actual
- Marcadores: Contiene opciones para el manejo de Marcadores de
QlikView, tales como Aadir, Reemplazar y Eliminar
- Informes: Contiene opciones para la administracin de los informes
imprimibles de un documento QlikView
- Herramientas: Contiene opciones de asistentes para realizar ciertas
acciones como Crear Grficos, Alertas, Plantillas; as como tambin la
creacin de sub rutinas QlikView (macros)
- Objeto: Contiene opciones de edicin de un objeto seleccionado. Estas
mismas opciones aparecen cuando se le da clic derecho a un objeto.
- Ventana: Contiene opciones para la edicin de la ventana de QlikView
Desktop
- Ayuda: Contiene principalmente elementos de Ayuda para el usuario,
donde se pueden encontrar ejemplos y tutoriales sobre las
funcionalidades de QlikView

2.1.4. Barra Estndar

La Barra Estndar siempre debera estar activa debido a que contiene


principalmente elementos bsicos para el desarrollo de documentos
QlikView, tales como Crear nuevo documento, Abrir, Guardar, Editor de
Script, Recargar, entre otros

Pgina 11 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

Imagen 5 Barra Estndar

2.1.5. Barra Navegacin

La Barra Navegacin permite manejar las selecciones principalmente con las


siguientes opciones:

- Borrar: Borrar las selecciones realizadas


- Atrs: Permite obtener la seleccin realizada anteriormente. Adems
guarda todas las selecciones anteriores
- Adelante: Permite obtener la siguiente seleccin. Se activa cuando al
menos se tiene una siguiente seleccin, habiendo utilizado el botn Atrs.
- Bloquear: Permite bloquear los datos seleccionados para que no puedan
ser borrados
- Desbloquear: Permite desbloquear los datos bloqueados

Imagen 6 Barra Navegacin

2.1.6. Barra Diseo

La Barra Diseo presenta todas las opciones para manipular el diseo, las
cuales podemos agrupar de la siguiente manera:
- Hojas: Permite crear nuevas hojas as como movilizarlas hacia posiciones
anteriores o posteriores
- Objetos: Permite crear todos los tipos de objetos de QlikView
- Alineacin: Permite alinear y ordenar los objetos dentro de la hoja
- Otros: Permite acceder a las propiedades de un objeto, Editor de Mdulo
(Macros), Modelo de Datos y WebView (visualizacin modo Web)

Imagen 7 Barra Diseo

2.1.7. Panel de Objetos del Servidor

El panel de Objetos del Servidor presenta las siguientes secciones:

Pgina 12 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

- Mis objetos: Corresponde a los objetos creados desde el modo Servidor


por el usuario que ha accedido al documento QlikView
- Objetos Compartidos: Corresponde a los objetos creados por otros
usuarios y que han sido compartidos al usuario que ha accedido al
documento QlikView

Imagen 8 Panel de Objetos del Servidor

2.1.8. Panel de Notas

El panel de Notas presenta las notas o comentarios que han sido agregados
por los distintos usuarios que tienen acceso al documento QlikView desde el
modo Servidor

Imagen 9 Panel de Notas

2.1.9. Barra Hojas

Pgina 13 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

Presenta una lista desplegable que permite seleccionar una hoja dentro del
documento QlikView

Imagen 10 Barra Hojas

2.1.10. Barra Marcadores

Presenta un conjunto de opciones para manejar los Marcadores dentro de un


documento QlikView, tales como Seleccionar, Aadir, Reemplazar un
marcador

Imagen 11 Barra Marcadores

2.1.11. Barra de Estado

La barra de estado se encuentra en la parte inferior de la hoja. Para activarla


o desactivarla podemos usar la opcin de Men Ver - Barra de Estado. La barra
de estado muestra la siguiente informacin:

- Se puede obtener ayuda en la parte izquierda de la barra de estado. Al


hacer clic en un comando o en un botn, sin soltar el botn del ratn,
aparecer la ayuda. Si se suelta el botn del ratn una vez fuera del botn
o comando, el comando no se ejecutar; si el cursor se mueve encima de
un grfico, aparecern las coordenadas.
- En el centro de la barra se muestra la ltima fecha de recarga de datos.
- En el lado derecho, se muestra la cantidad de valores seleccionados
distintos frente al total de valores distintos en un cuadro de lista activo,
precedido por una D.
- En el lado derecho tambin se muestra (precedido por una F) la
frecuencia de un cuadro de lista activo, mostrando la cantidad de
registros en la tabla donde el primer campo ocurre comparado con el
nmero total de registros.
- Al final del lado derecho, muestra un indicador de seleccin. Si se
encuentra de color verde significa que hay selecciones ya efectuadas que
no se pueden ver en la hoja actual.

Imagen 12 Barra de Estado

Pgina 14 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

2.2. Editor de Script

Para acceder al Editor de Script se utiliza el Men Archivo o haciendo clic en el


smbolo Editor de Script de la barra de herramientas.
En el editor de script se puede ingresar y ejecutar un script que extraiga datos desde
la fuente de datos y se realice el modelo asociativo; generndose manualmente o
automticamente, a travs de todas las opciones que maneja el editor. Las
sentencias complejas de script debern escribirse manualmente.
El dilogo Editor de Script emplea la funcin autocompletar; cuando el usuario va
tecleando, el programa predice qu es lo que se va a introducir, sin necesidad por
tanto de introducirlo completo.
El script posee una codificacin de colores, realizada mediante componentes de
sintaxis. Puede personalizarse en Herramientas y Preferencias de Editor.
En la parte superior del dilogo se encuentra una barra de men con diversos
comandos de script relacionados. Los comandos ms utilizados tambin aparecen
en la barra de herramientas. En la barra de herramientas hay tambin una lista
desplegable para las pestaas del script.

Imagen 13 Editor de Script

Al iniciar el editor de script de un nuevo documento QVW, se agregan


automticamente un conjunto de variables del sistema, donde sus valores son
tomados de la configuracin regional del equipo donde se est desarrollando. Estos

Pgina 15 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

valores pueden modificarse. Adicionalmente, permite organizar el cdigo generado


en un conjunto de pestaas.

El editor de Script presenta 2 opciones importantes para la ejecucin del mismo:

2.2.1. Recarga

Esta opcin permite ejecutar el script de carga generado, de izquierda a


derecha, de arriba hacia abajo, donde se tiene en cuenta el orden de las
pestaas para su ejecucin

2.2.2. Depuracin

Esta opcin permite depurar el editor de script de la siguiente manera:


- Ejecutar
- Animar, permite la ejecucin del script lentamente paso por paso, donde
se puede visualizar los resultados de ejecucin de cada lnea de cdigo
- Paso a Paso, permite ejecutar una lnea de cdigo. Se debe dar clic este
botn para ejecutar cada instruccin de cdigo
- Carga Limitada, permite configurar un nmero de registros limitado para
la carga de cada tabla

Imagen 14 Editor de Script - Depuracin

Pgina 16 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

Ejercicio:

Abrir el editor de script:

1. Cambiar el texto de la variable MoneyFormat para que no se incluya el punto


del smbolo de moneda S/ #,##0.00;S/ -#,##0.00'. Esto es para que no hayan
confusiones con el punto decimal
2. Utilizar el botn Recargar
3. Abrir nuevamente el Editor de Script y utilizar las opciones de depuracin:
a. Animar
b. Paso a Paso

2.3. Carga de Archivo Planos

Para cargar archivos planos con cualquier formato como .txt, .xlsx,.dif, entre
otros; se debe utilizar el botn Archivos Planos del Editor de Script, donde se deber
escoger el archivo plano del explorador de archivos y luego, se mostrar un
asistente que reconocer el tipo de archivo que se escogi.

Imagen 15 Asistente de Archivos Planos Tipo de Archivo

Luego, al utilizar el botn Siguiente se mostrar un botn el cual permitir realizar


transformaciones sobre la estructura de los datos del archivo.

Pgina 17 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

Imagen 16 Asistente de Archivos Planos Transformacin

Para utilizar archivos planos en el modelo asociativo de QlikView, deben tener una
estructura de tabla. El paso de Transformacin permite trabajar en los siguientes
puntos:
- Eliminar
- Rellenar
- Insertar columna
- Reorganizar
- Rotar

Luego, al dar clic en el botn Siguiente, se encontrar un conjunto de opciones


adicionales para la carga del archivo plano, tales como:
- Clusula Where: Permite adicionar una condicin a la carga del archivo
- Prefijos Tabla cruzada: Permite cruzar la estructura de tabla, convirtiendo un
conjunto de columnas en filas, donde los ttulos de las columnas a cruzar
tambin son datos que deberan considerarse como un campo adicional. Esto
har que el nmero de filas se multiplique por el nmero de columnas a cruzar.
- Esto agregar la sentencia CROSSTABLE, la cual se antepone a la sentencia de
LOAD en el script de carga.
- Prefijos Hirearchy: Permite considerar una columna como una llave recursiva
y expandirla al nmero de veces que exista la jerarqua, considerando una
columna adicional por cada nivel de jerarqua. Esto agregar la sentencia
HIREARCHY que se antepone a la sentencia LOAD dentro en el script de carga

Pgina 18 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

Imagen 17 Asistente de Archivos Planos Opciones

Finalmente, al dar clic en el botn Siguiente, se mostrar una vista previa del script
que se agregar:

Imagen 18 Asistente de Archivos Planos Script

En la carga de archivos planos se utilizar la sentencia LOAD

LOAD <Campo1>, <Campo2>, , <CampoN>


FROM <Fuente de Datos>
WHERE <Clusula1>, , <ClusulaN>
GROUP BY <Campo1>, ... , <CampoX>

Pgina 19 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

Ejercicio:

Abrir el editor de script:

1. Cargar el archivo plano Clientes.xlsx


2. Cargar el archivo plano Oficinas.xlsx
3. Cargar las 2 pestaas del archivo plano Cuota.xlsx:
a. Cuota Oficina
b. Cuota Oficina Categora (Se debe utilizar la opcin Tabla Cruzada)

Pgina 20 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

3. DESARROLLO: SCRIPT AVANZADO

3.1. Carga de Tablas de Bases de Datos

Para acceder a una base de datos se debe utilizar un conector que permita enviar e
interpretar las consultas y respuestas de base de datos. Para cada tipo de base de
datos existen distintos conectores. Las formas ms conocidas de poder realizar una
conexin a travs de QlikView son:

- OLEDB, generalmente incluido en el paquete de instalacin del cliente de Base


de Datos
- ODBC, generalmente incluido en el paquete de instalacin del cliente de Base
de Datos
- QlikView SAP Connector (Se requiere una licencia de QlikView SAP Connector)

Para utilizar un conector ODBC, primero se debe crear un DSN de Sistema en el


equipo donde se desarrollar (Panel de Control Herramientas Administrativas
Orgenes de Datos ODBC). En un entorno produccin, el DSN deber ser creado y
actualizado en la cadena de conexin desde QlikView

Para crear la cadena de conexin dentro de QlikView se utiliza la seccin Base de


Datos del Editor de Script:

Imagen 19 Editor de Script Base de Datos

Se seleccionar el tipo de conector a utilizar y luego se utiliza el botn Conectar.


Dependiendo del tipo de conector se tendrn que llenar los parmetros necesarios
para la conexin. En el caso de ODBC, se tendr que seleccionar el DSN creado y
luego ingresar el usuario y contrasea de acceso a la Base de Datos. En el caso de
OLEDB, se tendr que escoger el conector, y luego ingresar servidor de Base de
Datos, usuario, contrasea, Base de Datos, entre otros parmetros. Al finalizar se
mostrar la cadena de conexin creada en el editor de script, como se muestra a
continuacin:

ODBC CONNECT32 TO [QVDesarrollo;DBQ=D:\QlikView Desarrollo\1


Fuentes\Comercial.mdb];

Pgina 21 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

A partir de la conexin, se puede acceder a todos los elementos de base de datos


que el conector permita

Ejercicio:

1. Crear el DSN de sistema para la Base de Datos Access Comercial.mdb


2. Crear la cadena de conexin desde QlikView al DSN creado (Utilizar la conexin
ODBC)

3.2. Carga de Tablas de Bases de Datos

Para cargar tablas dentro de una base de datos, se debe utilizar el botn Conectar,
aparecer un asistente que reconocer las tablas, vistas, alias, sinnimos y tablas
del sistema.

Imagen 20 Asistente Crear Sentencia Select

Se puede seleccionar una tabla o un conjunto de campos dentro del asistente. La

Pgina 22 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

sentencia se visualizar en la pestaa Script ubicada en la parte inferior del


asistente. Asimismo se puede visualizar el detalle de la tabla, las columnas, vista
previa y objetos blob; dependiendo de las caractersticas de la base de datos.
Al dar clic en el botn Aceptar se agregar el script de carga de la tabla en el Editor
de Script del documento, como se muestra a continuacin:

SQL SELECT Descripcion,


IDCategoria,
NombreCategoria
FROM Categorias;

Como parte de la sintaxis de QlikView, todo lo que se encuentre entre la sentencia


SQL y ; corresponde a sentencias de la Base de Datos, donde se podr incluir
funciones y elementos de bases de datos que retorne una estructura de tabla. Las
sentencias y elementos de base de datos a incluir sern aquellos que el conector
utilizado pueda interpretar y el usuario de base de datos puede acceder.

Ejercicio:

1. Cargar las tablas Categoras, Empleados, Productos, Courier; usando la


sentencia SQL Select

En el asistente que permite cargar tablas, se tiene la opcin Load Precedente, la


cual permite agregar una sentencia QlikView al script de carga de la tabla.

LOAD IDTransportista,
NombreCompania,
Direccion,
Telefono,
Extension,
Fax;
SQL SELECT *
FROM Transportistas;

La sentencia LOAD permite incluir funciones propias de QlikView. En la etapa de


extraccin, se utiliza esta sentencia con la finalidad de no esforzar a la Base de
Datos; es decir, en la sentencia SQL se realiza el menor esfuerzo posible para la base
de datos y se ejecuta cualquier sentencia adicional de transformacin en la
sentencia LOAD, usando sintaxis QlikView.

Ejercicio:

1. Cargar las tablas Pedidos y Detalle Pedidos; utilizando la sentencia LOAD

Pgina 23 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

3.3. Modelo de Datos Asociativo

En el entorno QlikView, el modelo de datos se va creando mediante la asociacin


de campos entre las tablas cargadas.
Cuando existe un campo con nombre en comn entre ms de una tabla, se crean
las llaves automticamente y las tablas se van asociando. Esto conlleva, a que
probablemente existan errores de enlace, debido a que el criterio utilizado por
QlikView para relacionar las tablas es el nombre de campo. Es as que, el
desarrollador tendr que cerciorarse que cada una de las llaves creadas sea
correcta. Si hay alguna llave creada errneamente, entonces se proceder a romper
la relacin, cambiando de nombre al campo.
Una buena prctica para la creacin de llaves es anteponer al nombre de campo el
smbolo de %. Esto es, para que todas las llaves se ubiquen en la parte superior
en cada lugar de seleccin de campos dentro de QlikView.

Imagen 21 Modelo de Datos Asociativo

3.4. Tablas Sintticas

Las tablas sintticas se crean cuando existe al menos una llave sinttica.
Una llave sinttica se crea cuando entre dos tablas existe ms de un campo en
comn. Las llaves sintticas son un recurso pesado que hace ms lentas las
bsquedas y clculos; por lo cual se sugiere estrictamente eliminarlas.

Pgina 24 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

Imagen 22 Tablas Sintticas

Cuando se tiene una llave sinttica, se debe identificar si realmente debe existir una
llave con ms de un campo en comn, o si se ha creado automticamente por error.
Si entre dos tablas existe ms de un campo clave, entonces, se deber crear una
nica llave concatenada, como el siguiente ejemplo:

Campo1 & Campo2 && Campo N as %LlaveConcatenada,

Si la llave se ha creado por error, entonces se debern renombrar los campos que
no son parte de la llave, como el siguiente ejemplo:

Campo1 as CampoOtroNombre1,

Ejercicio:

1. Identificar si es correcta la relacin creada entre las tablas DetallePedidos y


Producto, que incluye los campos IDProducto y PrecioUnitario

3.5. Referencias Circulares

Una referencia circular es un bucle dentro del modelo de datos, creado por las llaves
que conectan las tablas que lo contienen; causando una interpretacin ambigua de
los datos.

Pgina 25 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

Imagen 23 Referencias Circulares

Una referencia circular muchas veces representa un pobre diseo de base de datos.
Se deben eliminar estrictamente.
Cuando QlikView detecta una referencia circular al ejecutar el script, aparece el
siguiente mensaje:

Imagen 24 Referencias Circulares - Mensaje

Cuando existe una referencia circular, QlikView desconecta una tabla, ya que
lgicamente no puede resolver consultas dentro del modelo asociativo. Esta tabla
que se desconecta, es aqulla hacia la que apuntan flechas punteadas, dentro del
visor de tablas.

Pgina 26 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

Al identificar una referencia circular, debe identificarse el motivo por el cual se ha


creado el bucle, y resolverlo para lograr un modelo asociativo libre de referencias
circulares.

3.6. Sentencias QlikView

3.6.1. Sentencia Resident

La sentencia Resident se utiliza para cargar una tabla ya cargada previamente


en el entorno QlikView. La sintaxis a utilizar es la siguiente:

Tabla1:
LOAD * FROM Tabla1;

Tabla2:
LOAD <Campo1>, <Campo2>, , <CampoX>
RESIDENT Tabla1;

Ejercicio:

1. Crear la tabla Vendedor a partir de la tabla Empleado, considerando los


campos ID, Nombre y Cargo del Empleado

3.6.2. Sentencia Join

La sentencia Join se utiliza para enlazar dos tablas. La sintaxis a utilizar es la


siguiente:

Tabla:
LOAD * FROM Tabla1;

Join (Tabla)
LOAD * FROM Tabla2;

La sentencia Join tiene las siguientes caractersticas:


- La sentencia Join se antepone a la segunda tabla y automticamente se
unir a la primera tabla
- Se puede nombrar la tabla a la que se unir la segunda tabla, utilizando (
) despus de la sentencia
- Se realiza el enlace a partir de los campos en comn que tienen ambas

Pgina 27 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

tablas y no necesitan ser nombrados.


- Permite anteponer los siguientes prefijos:
o Inner: Obtiene los registros coincidentes en ambas tablas
o Outer: Obtiene todos los registros coincidentes o no de ambas tablas.
Es la accin que realiza por defecto
o Left: Obtiene todos los registros de la primera tabla y, los registros
de la segunda tabla que coinciden con la primera tabla.
o Right: Obtiene todos los registros de la segunda tabla y, los registros
de la primera tabla que coinciden con la segunda tabla.

Ejercicio:

1. Unir las tablas:


a. Oficina y Empleado
b. Producto y Categora
c. Pedidos y DetallePedidos

3.6.3. Sentencia Keep

La sentencia Keep se utiliza para comparar una tabla cargada con otra tabla
ya existente y nombrada. La sintaxis a utilizar es la siguiente:

Tabla:
LOAD * FROM Tabla1;

<Prefijo> Keep (Tabla)


LOAD * FROM Tabla2;

La sentencia Keep tiene las siguientes caractersticas:


- Las tablas permanecen separadas.
- La sentencia Keep se antepone a la segunda tabla
- Se puede nombrar la tabla a la que se unir la segunda tabla, utilizando (
) despus de la sentencia.
- Se realiza la comparacin a partir de los campos en comn que tienen
ambas tablas y no necesitan ser nombrados.
- Necesita incluir alguno de los siguientes prefijos:
o Inner: Obtiene los registros coincidentes en ambas tablas
o Left: Obtiene todos los registros de la primera tabla y, los registros
de la segunda tabla que coinciden con la primera tabla.
o Right: Obtiene todos los registros de la segunda tabla y, los registros

Pgina 28 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

de la primera tabla que coinciden con la segunda tabla.

3.6.4. Sentencia Concatenate

La sentencia Concatenate permite concatenar los datos de dos tablas. La


sintaxis a utilizar es la siguiente:

Tabla:
LOAD * FROM Tabla1;

Concatenate (Tabla)
LOAD * FROM Tabla2;

La sentencia Concatenate tiene las siguientes caractersticas:


- Si dos tablas tienen el mismo nmero de campos y los mismos nombres
de campos, se concatenarn en una sola tabla; sin necesidad de nombrar
la sentencia.
- La sentencia Concatenate se antepone a la segunda tabla
- Se puede nombrar la tabla a la que se unir la segunda tabla, utilizando (
) despus de la sentencia

Pgina 29 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

4. DESARROLLO: SOLUCIONES

4.1. Archivos QVD

Un archivo QVD (QlikView Data) es un archivo que contiene una tabla de datos
exportados desde QlikView y presenta las siguientes caractersticas.
- Slo puede ser creado y ledo desde QlikView
- La data se encuentra comprimida hasta un 10% de su tamao original
- La lectura de datos de QlikView es mucho ms rpido que la lectura desde otras
fuentes
- Se utilizan por los siguientes motivos:
o Mejora la rapidez de carga
o Reduccin de uso de recursos de bases de datos
o Cargas incrementales

Para crear un archivo QVD, desde el script de carga se debe utilizar la sentencia
STORE, como el siguiente ejemplo:

Tabla1:
LOAD * FROM Tabla1;
STORE Tabla1 INTO Tabla1.qvd;

Despus de haber creado el archivo QVD, la tabla an se mantendr dentro del


archivo QlikView. Para eliminar esta tabla se usa la sentencia DROP Table, como en
el siguiente ejemplo:

DROP Table Tabla1;

Para cargar un archivo QVD se utiliza el mismo procedimiento que al cargar un


archivo plano donde la sintaxis ser como en el siguiente ejemplo:

LOAD * FROM Tabla1.qvd (qvd);

Ejercicio:

1. Crear archivos QVD de cada tabla cargada

Pgina 30 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

4.2. Capas de Desarrollo

En el entorno QlikView se puede trabajar en varias capas de desarrollo, con el uso


de los archivos QVD; organizados en un conjunto de carpetas

Imagen 25 Capas de Desarrollo

4.2.1. Extraccin
Es la primera capa de desarrollo, donde un archivo QVW realiza la carga de
datos desde las fuentes de datos originales sin hacer modificaciones, creando
archivos QVD, los cuales servirn para ser transformados en la siguiente capa

4.2.2. Transformacin
Se tienen archivos QVW donde la fuente de datos son los archivos QVD
producto de la extraccin y el resultado son archivos QVD transformados. En
esta capa se aplica la lgica de negocios y transformaciones necesarias que se
utilizarn en el proyecto.

4.2.3. QlikMart
Corresponde a archivos QVW que contienen el modelo de datos asociativo
que tiene una lgica y que servir para desplegar aplicativos QlikView

4.2.4. UI
Corresponde a archivos QVW que contienen el modelo de datos asociativo
proveniente de un QlikMart y el diseo del aplicativo. Para cargar un archivo

Pgina 31 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

QlikView se utiliza el botn Archivos QlikView del editor de script de carga;


se debe seleccionar el archivo QlikView que contiene el modelo de datos y la
sentencia que se agrega es como la que sigue:

BINARY QlikMart.qvw;

La sentencia Binary debe ser la primera sentencia en el aplicativo QlikView y


permite obtener el modelo de datos y la data del aplicativo origen; no hereda
las variables ni el diseo.

Ejercicio:

1. Crear la siguiente estructura de carpetas


a. 1 Fuentes
b. 2 Scripts
c. 3 Extraccion
d. 4 QVD
e. 5 Transformacion
f. 6 QlikMart
g. 7 Aplicacion
2. Colocar las fuentes de datos en la carpeta 1 Fuentes
3. Crear capa de extraccin
a. Archivo de Extraccin de Archivos Excel
b. Archivo de Extraccin de Base de Datos
4. Crear capa de transformacin
a. Archivo de Transformacin de Dimensiones
b. Archivo de Transformacin de Tablas Transaccionales
5. Crear la capa de QlikMart
6. Crear la capa de aplicacin

4.3. Tipos de Modelamiento para mltiples tablas de hechos

Cuando se tiene mltiples tablas transaccionales a considerar dentro de un


aplicativo, donde estas tablas comparten dimensiones, entonces se convierte en
una dificultad para modelar los datos; ya que al hacerlo se pueden generar Tablas
Sintticas y Referencias Circulares

Pgina 32 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

Imagen 26 Mltiples Tablas de Hechos

A continuacin se presentan 3 tcnicas de modelamiento utilizadas para ms de una


tabla de hechos:

4.3.1. Concatenated Table


Consiste en concatenar las mltiples tablas de hechos en una nica tabla
donde las dimensiones se pueden compartir, como se muestran en la
siguiente imagen:

Imagen 27 Concatenated Table

4.3.2. Linked Table


Consiste en tener una tabla de dimensiones centralizada, que se crea a partir
de todas las combinaciones de dimensiones existentes en las tablas de
hechos, como se muestra en la siguiente imagen:

Pgina 33 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

Imagen 28 Concatenated Tables

4.3.3. Joining Table


Consiste en tener una nica tabla generada de la unin de todas las tablas
existentes

4.4. Seguridad

La seguridad dentro del script de carga se maneja dentro de la Seccin de Acceso y


la carga de todo el modelo asociativo se maneja dentro de la Seccin de Aplicacin.
Los tipos de acceso que se maneja son los siguientes:

- ADMIN: Puede cambiar todo en el documento. Adems puede administrar la


seguridad del documento
- USER: No tiene acceso a la seguridad del documento ni puede realizar cambios
sobre el documento
- NONE: Para aclarar que no se tiene acceso

Los niveles de acceso se detallan a continuacin:

4.4.1. Nivel Aplicativo

Existen dos formas de manejar la seguridad a nivel de aplicativo.

La primera forma consiste en usar usuarios y contraseas creados


directamente en QlikView.
Esta forma requiere la inclusin de una tabla dentro de la seccin de acceso
con los campos reconocidos por QlikView como: ACCESS, USERID, PASSWORD.

Pgina 34 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

Section Access;

Section Application;

La segunda forma, consiste en utilizar los usuarios de red, donde se debe


cargar una tabla en la seccin de acceso considerando al menos los siguientes
campos: ACCESS, NTNAME

Section Access;

Section Application;

4.4.2. Nivel Reduccin de Datos

Se llama reduccin de datos a la accin de abrir el aplicativo considerando una


pre seleccin de datos de alguno de los campos. Para lograr esto, se debe
cargar un campo que conecte la seccin de acceso y la seccin de aplicacin,
tal y como se muestra en el siguiente ejemplo:

Section Access;

Section Application;

Pgina 35 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

El campo que conecta la seccin de acceso y la seccin de aplicacin debe


estar escrito estrictamente en maysculas.

4.5. Cargas Incrementales

Las cargas incrementales se realizan para cargar los registros nuevos y no


sobrecargar diariamente los recursos de bases de datos. A continuacin algunos
ejemplos de cargas incrementales:

4.5.1. Insertar nuevos registros de un archivo de texto

Es una forma de carga de archivos de texto, donde se agregan nuevo registros,


como en el siguiente ejemplo:

Buffer (Incremental)
LOAD *
FROM Tabla1.txt (ansi, txt, delimiter is '\t', embedded labels);

4.5.2. Insertar

Consiste en insertar registros nuevos a un archivo QVD ya creado, como en el


siguiente ejemplo:

Tabla:
SQL SELECT Llave, A, B
FROM BDTabla
WHERE FechaModificacion >= $(FechaInicio)
AND FechaModificacion < $(FechFin)

CONCATENATE LOAD Llave, A, B


FROM Tabla.qvd (qvd);

STORE Tabla INTO Tabla.qvd

4.5.3. Insertar y actualizar

Consiste en insertar registros nuevos a un archivo QVD y descartar aqullos


registros del QVD que sern reemplazados, como en el siguiente ejemplo:

Pgina 36 de 37
MANUAL DE CAPACITACIN QLIKVIEW DESARROLLO

Tabla:
SQL SELECT Llave, A, B
FROM BDTabla
WHERE FechaModificacion >= $(FechaInicio)
AND FechaModificacion < $(FechFin)

CONCATENATE LOAD Llave, A, B


FROM Tabla.qvd (qvd)
WHERE Not Exists(Llave);

STORE Tabla INTO Tabla.qvd

4.6. Buenas prcticas de Desarrollo

A continuacin algunas buenas prcticas de desarrollo:


- Uso de Hidden Script
- Uso de Autonumber()
- Agrupar la carga de las tablas en pestaas de trabajo
- Nombrar las sentencias Concatenate() / Join()
- Usar el prefijo % para los campos claves
- No usar underscores (_) o slash (/) en los nombres de los campos. Llamarlos con
nombres entendibles
- Usar Include() o Hidden Script para conexiones a bases de datos
- Usar variables para los nombres de las rutas
- Siempre marcar la opcin de LogFile
- Comentar siempre los scripts: cabeceras y procesos que se realicen
- Cuando se realiza un cambio , guardar el cambio y la fecha
- Usar adecuada indentacin de script

Pgina 37 de 37

S-ar putea să vă placă și