curso qlikview avanzado
TRANSCRIPT
Curso QlikView AvanzadoÁrea Business Intelligence
2
Curso QlikView Avanzado
Altair ConsultoresÁrea de Business Intelligence
El objetivo de este curso es repasar los puntos más importantes del análisis, diseño y desarrollo de aplicaciones en QlikView.
El curso está dirigido a usuarios con perfil técnico, ya familiarizados con el uso de la herramienta.
En Altair Consultores creemos firmemente en la transferencia de conocimiento como part e irrenunciable de todo proyecto de Business Intelligence y como el factor clave que permitirá a nuestros clientes lograr el éxito en sus ámbitos de actuación.
Queremos agradecerles la confianza depositada en nuestra empresa y estamos a su completa disposición para comentar con ustedes cualquier consulta que deseen hacernos.
2
CONTENIDO
1. Introducción2. Análisis y Diseño3. Desarrollo4. Problemas Reales, Soluciones Reales5. Referencias
Área Business Intelligence 1 Introducción
5
Curso QlikView Avanzado 1. Introducción
Introducción
1. ¿Qué es QlikView?
2. Productos QlikView
3. Proceso de Desarrollo de un Proyecto en QlikView
6
Curso QlikView Avanzado 1. Introducción
1. ¿Qué es QlikView?
La información es la base del conocimiento, y el conocimiento es la base de una acción apropiada: la ventaja competitiva que distingue a una empresa u organización.
QlikView permite analizar y generar informes de forma rápida y potente, proporcionando a sus usuarios una compresión clara y detallada de los datos, ayudándoles en la toma de decisiones.
7
Curso QlikView Avanzado 1. Introducción
2. Productos QlikView
SERVIDOR CLIENTE
Server• SBE• EE
User CALs• Named• Session• Usage
License• Standard• Enterprise
License Key
Publisher Server
Enterprise
Professional
Analyzer+
Analyzer
8
Curso QlikView Avanzado 1. Introducción
2. Productos QlikView: Trabajando en LocalDesarrolladores/ Usuarios avanzados.• La licencia QlikView completa para la creación de nuevas aplicaciones.• Acceso al script de carga del modelo de datos.• Permite conexiones con cualquier origen de datos (bases de datos, ficheros planos, etc.).• Acceso al diseño de informes.• Acceso recarga de datos.
Usuarios avanzados.• Acceso al script de carga del modelo de datos.• Permite conexiones con ficheros planos como origen de datos.• Acceso al diseño de informes.• Acceso recarga de datos.
Usuarios finales.• Permite navegar por los informes predefinidos.• Acceso recarga de datos.
Enterprise
Professional
Analyzer+
9
Curso QlikView Avanzado 1. Introducción
2. Productos QlikView: Trabajando en Remoto
SERVIDORESQlikView SBE Server es la licencia de servidor básica, diseñada para pequeños despliegues. Las limitaciones que presenta son:
Sólo admite Named User CALs hasta un máximo de 25.
No ofrece soporte para clientes AJAX.
No ofrece soporte para servidores adicionales.
No se ofrece soporte para crear y compartir objetos en el servidor.
Únicamente ofrece soporte para Active Directory de Windows con el fin de manejar seguridad y accesos.
QlikView EE Server es la licencia completa de servidor, diseñada para despliegues de mayor dimensión y más complejos.En un mismo QlikView EE Server pueden convivir distintos tipos de CAL: nominales, de uso y de sesión.
10
Curso QlikView Avanzado 1. Introducción
2. Productos QlikView: Trabajando en Remoto
CLIENTESQlikView Server puede desplegarse utilizando cualquiera de los siguientes clientes:
QlikView Analyzer como cliente local instalado (Enterprise, Professional o Analyzer+).
QlikView Analyzer cliente Plug-in. QlikView Analyzer cliente Java. La máquina virtual de Java tiene que
estar instalada en el servidor.QlikView Analyzer cliente AJAX (únicamente disponible en QlikView EE
Server). Es el cliente Zero Footprint.
11
Curso QlikView Avanzado 1. Introducción
2. Productos QlikView: Trabajando en Remoto
LICENCIASIndependientemente del cliente desde el que se acceda al QlikView Server, el usuario ha de tener una licencia disponible que autorice su acceso:
Named User CALs: Licencias nominales de usuario. El empleo de este tipo de CAL es obligatorio cuando se despliega una solución con QlikView Server.
Session CALs: Licencias de sesión que permiten el uso simultáneo de documentos QlikView. Son licencias de “usuario concurrente”. Se recomienda su uso en configuraciones donde hay un gran número de usuarios no habituales de documentos QlikView, puesto que una o más CALs de sesión pueden dar servicio a una amplia comunidad de usuarios.
Usage CALs: Garantizan el uso de cualquier documento QlikView una vez al mes y, al final del mes, todas las Usage CALs se reinician para poder ser reutilizadas el mes siguiente. Se recomienda su uso en la gestión de un amplia comunidad de usuarios no habituales.
12
Curso QlikView Avanzado 1. Introducción
3. Proceso de Desarrollo de un Proyecto en QlikView
1. Análisis de requisitos y especificación funcional
2. Análisis de las fuentes de datos
3. Elaboración del modelo de datos QlikView (script de carga)
4. Construcción del layout (interfaz gráfico de usuario)
5. Pruebas del sistema
6. Optimización del sistema y/o configuraciones de seguridad
7. Pruebas del usuario
8. Aceptación del sistema
13
Curso QlikView Avanzado
Área Business Intelligence 2 Análisis y Diseño
14
Curso QlikView Avanzado 2. Análisis y Diseño
Análisis y Diseño1. Consultas
2. Hojas y Objetos de Hoja
3. Diseño
4. Expresiones
5. El Menú Configuraciones
6. Selecciones Actuales y Marcadores
7. Generador de Informes
8. Alertas
9. Buenas Prácticas
15
Curso QlikView Avanzado 2. Análisis y Diseño
1. Consultas
1. Selecciones
1. Búsquedas de texto y búsquedas numéricas
2. Ir hacia delante y hacia atrás en la lista de selecciones
3. Bloquear y desbloquear selecciones
16
Curso QlikView Avanzado 2. Análisis y Diseño
2. Hojas y Objetos de Hoja
La hoja es unidad básica de diseño en QlikView.
Los objetos de hoja, a excepción
de los botones, los objetos de
texto y los objetos de línea/flecha,
pueden emplearse para realizar
selecciones en los datos. Todos los
objetos de hoja pueden utilizarse
para visualizar el resultado de las
selecciones.
17
Curso QlikView Avanzado 2. Análisis y Diseño
2. Hojas y Objetos de Hoja: Gráficos
Un gráfico se compone básicamente de dimensiones y de expresiones.
En QlikView tenemos una gran variedad de gráficos que van desde los
tradicionales gráficos de barra, hasta gráficos de rádar o indicador.
Gráfico de barras Gráfico de tarta
18
Curso QlikView Avanzado 2. Análisis y Diseño
2. Hojas y Objetos de Hoja: Gráficos
Gráfico de líneas Gráfico combinado
19
Curso QlikView Avanzado 2. Análisis y Diseño
2. Hojas y Objetos de Hoja: Gráficos
Gráfico de radar Gráfico de indicador
20
Curso QlikView Avanzado 2. Análisis y Diseño
2. Hojas y Objetos de Hoja: Gráficos
Gráfico de dispersión Gráfico de rejilla
Los ejes son expresiones. Los ejes son dimensiones.
Mínimo 1 dimensión y 2 expresiones Mínimo 2 dimensiones (una para
(una para cada eje). cada eje) y 1 expresión.
21
Curso QlikView Avanzado 2. Análisis y Diseño
3. Diseño
El gráfico de cambio rápido
Líneas de referencia y texto en gráfico
Configuraciones de título avanzadas
Plantillas
22
Curso QlikView Avanzado 2. Análisis y Diseño
4. Expresiones
DISTINCT - ALL - TOTAL
Funciones por Categorías
23
Curso QlikView Avanzado 2. Análisis y Diseño
4. Expresiones: Análisis de Conjuntos
Se pueden emplear conjuntos en las funciones de agregación. Una expresión de conjunto permite definir un conjunto de registros alternativo al de las selecciones actuales. Una expresión de conjunto va siempre encerrada entre llaves.
Identificadores de Conjuntos
{1} Representa el conjunto completo, con todos los registros.
{$} o {$0} Registros de la selección actual.
{1-$} Todo lo que la selección actual excluye.
{$1} Selección previa (paso atrás)
{$_1} Selección posterior (paso adelante)
{MiMarcador} Selección definida en el marcador
Operadores de Conjuntos: + - * /
24
Curso QlikView Avanzado 2. Análisis y Diseño
5. El Menú Configuraciones: Preferencias de Usuario
Desde las “Preferencias de Usuario” se pueden fijar las preferencias personales del
usuario en cuanto al comportamiento de QlikView en su ordenador.
25
Curso QlikView Avanzado 2. Análisis y Diseño
5. El Menú Configuraciones: Propiedades de Documento
Desde las “Propiedades de Documento” se pueden fijar las preferencias específicas
para el documento QlikView actual.
26
Curso QlikView Avanzado 2. Análisis y Diseño
5. El Menú Configuraciones: Propiedades de Hoja
Desde las “Propiedades de Hoja” se pueden fijar las preferencias específicas para
una de las hojas del documento QlikView actual.
27
Curso QlikView Avanzado 2. Análisis y Diseño
6. Selecciones Actuales y MarcadoresLos marcadores se utilizan para guardar estados de selección para referencias
posteriores.
Añadir Marcador: Crea un nuevo marcador para el estado de selección actual. El
programa sugerirá un nombre utilizando la fecha y un número consecutivo
comenzando por 1.
Marcadores Recientes: Muestra una lista con los últimos marcadores creados.
Seleccionando uno, se restaura el estado lógico de la selección en el tiempo de su
creación.
Más...: Muestra una lista con todos los marcadores del documento. Los
marcadores se almacenan y se recuperan como Marcadores de Documento o
como Mis Marcadores.
28
Curso QlikView Avanzado 2. Análisis y Diseño
7. Generador de Informes
El Editor de Informes QlikView ofrece la posibilidad de agrupar varios objetos de
hoja diferentes en una o varias páginas, con un control pleno del diseño de
página, incluyendo cabeceras, pies de página, etc.
Tipos de Informes
Informes de Documento
Informes de Usuario
Informes de Servidor Personales
Informes de Servidor Compartidos
29
Curso QlikView Avanzado 2. Análisis y Diseño
8. Alertas
Las alertas se utilizan para generar avisos automáticos en forma de mensaje en
pantalla (al abrir) y/o correo electrónico (al recargar), cuando se cumple una
determinada condición en los datos de un documento QlikView.
El problema de las alertas es que hay que definir un marcador para cada una.
El servicio de correo SMTP se configura en “Preferencias de Usuario” del menú
Configuraciones.
30
Curso QlikView Avanzado 2. Análisis y Diseño
9. Buenas Prácticas
UN MAL DISEÑO
Muy densoCon demasiados coloresCon colores oscurosIncoherencia en emplazamiento de objetosMala elección de los tipos de objetoObjetos situados unos encima de otrosObjetos situados fuera de la pantalla
31
Curso QlikView Avanzado 2. Análisis y Diseño
9. Buenas Prácticas
UN BUEN DISEÑO
DespejadoNítidoBien alineadoDe colores clarosConsistente en la colocación de objetos en las hojas
32
Curso QlikView Avanzado
Área Business Intelligence 3 Desarrollo
33
Curso QlikView Avanzado 3. Desarrollo
Desarrollo
1. Estructuras de Datos
2. Cargas de Datos
3. Script de Carga
4. Macros
5. Seguridad
6. Depuración
34
Curso QlikView Avanzado 3. Desarrollo
1. Estructuras de Datos: Tecnología AQL
Cada columna de una tabla de datos que se carga en QlikView, se convierte
en un campo en la base de datos asociativa de QlikView. Las columnas que
aparecen en más de una tabla y tienen etiquetas idénticas se asociarán.
Cada campo se puede presentar en forma de cuadro de lista. Cuando se hace
una selección en un cuadro de lista, QlikView busca conexiones lógicas en la base
de datos asociativa. Como resultado de esta búsqueda, se identifican los valores
asociados a su búsqueda.
35
Curso QlikView Avanzado 3. Desarrollo
2. Cargas de Datos
QlikView puede cargar e interpretar los siguientes tipos de datos:
El resultado de una consulta a una base de datos, hecha con SQL mediante
OLE DB/ODBC
Cualquier tipo de fichero de texto delimitado por caracteres, como por
ejemplo, ficheros separados por coma
Ficheros de formato fijo
Ficheros Excel en código BIFF estándar
Ficheros QlikView de previa creación (ficheros binarios)
Ficheros de datos QlikView (ficheros qvd)
Ficheros DIF (formato de exportación común desde AS/400)
Tablas HTML
Tablas XML
Fuentes de datos personalizadas (por ejemplo, servicios Web) vía plug-in.
36
Curso QlikView Avanzado 3. Desarrollo
2. Cargas de Datos: El Editor de Script
37
Curso QlikView Avanzado 3. Desarrollo
3. Script de Carga
LET – SETCONNECT - LOAD - SELECTDIRECTORY
QUALIFY - UNQUALIFYMAPPING LOADLOAD RESIDENTLOAD INLINELOAD AUTOGENERATEAUTONUMBER
RIGHT JOIN - LEFT JOIN - OUTER JOIN - INNER JOINCONCATENATE
UPPER - LOWER - LEFT – RIGHTTEXT - DATE - NUM - INTERVAL
38
Curso QlikView Avanzado 3. Desarrollo
3. Script de Carga: Sentencias de Control Repetitivas
LET a = 1;DO WHILE a < 10
LOAD * FROM fichero$(a).txtLET a = a+1;
LOOP
FOR EACH a IN 1, 3, 7, ‘xyz’LOAD * FROM fichero$(a).txt
NEXT
FOR a = 1 TO 9LOAD * FROM fichero$(a).txt
NEXT
39
Curso QlikView Avanzado 3. Desarrollo
3. Script de Carga: Sentencias de Control Selectivas
IF a = 1 THENLOAD * FROM Enero.txt
ELSEIF a = 2 THENLOAD * FROM Febrero.txt
ELSELOAD * FROM Meses.txt
END IF
UNLESS a = 1 LOAD * FROM Meses.txt;UNLESS a = 1 WHEN b=2 DROP TABLE Proveedores;
40
Curso QlikView Avanzado 3. Desarrollo
3. Script de Carga: Otras Sentencias
EXIT SCRIPT WHEN a = 1;
SLEEP 1000;
DROP TABLE Proveedores;
EXECUTE WinWord Macro.doc;
TRACE ‘Tabla proveedores cargada’;
41
Curso QlikView Avanzado 3. Desarrollo
3. Script de Carga: Ficheros QVD
Un fichero QVD (de datos QlikView) es un fichero que contiene una tabla de datos exportados desde QlikView. QVD es un formato propio de QlikView, muy compacto y optimizado para aumentar la velocidad al leer datos desde un script QlikView. Leer datos desde un archivo QVD es por lo general 10-100 veces más rápido que leer desde otras fuentes de datos.
Los archivos QVD se pueden emplear con numerosas finalidades:Incremento de la velocidad de cargaReducción de la carga en los servidores de las bases de datosConsolidación de los datos de múltiples aplicaciones QlikViewCarga incremental
42
Curso QlikView Avanzado 3. Desarrollo
4. Macros
En el Editor de Módulo se pueden programar en VBScript macros y funciones
definidas por el usuario.
43
Curso QlikView Avanzado 3. Desarrollo
5. Seguridad
Un documento QlikView es un fichero encriptado que consta de una base de datos, un script, un diseño, etc. El formato de fichero en sí mismo, proporciona una protección intrínseca, puesto que no es posible abrir el archivo sin QlikView. También se pueden definir niveles de acceso en el script de carga :
ADMIN: Administrador con acceso a todas las funciones en un
documento, desarrollo avanzado, edición del script y todas las
características permitidas en el programa según la licencia adquirida.
USER: Usuario que puede buscar en los datos cargados en QlikView y
utilizar las funciones permitidas por el administrador.
NONE: Sin acceso al documento QlikView.
Es importante realizar una copia de seguridad del documento QlikView antes de aplicar directivas seguridad.
44
Curso QlikView Avanzado 3. Desarrollo
5. Seguridad
REM ***** SEGURIDAD *****;
Section Access;
LOAD * INLINE [USERID, PASSWORD, ACCESS
DEMO, USER, USER
DEMO, ADMIN, ADMIN];
Section Application;
// Resto del Script de Carga
45
Curso QlikView Avanzado 3. Desarrollo
5. Seguridad
Lo primero que se ejecuta es la sección de acceso.
Los cambios en la sección de acceso no aplican hasta que se recarga el
documento QlikView.
Para poder recargar automáticamente el documento:
LOAD * INLINE [ACCESS, USERID, PASSWORD, SERIAL
ADMIN, , , 2300 2394 7111 8000
…];
BINARY: Restricciones de acceso heredadas.
Script oculto.
46
Curso QlikView Avanzado 3. Desarrollo
5. Seguridad
Reducción de datos basada en la sección de acceso.
Section Access;
Load * Inline [USERID,DEPT,ACCESSJUAN,FINANZAS,ADMINANA,TIC,USERPEDRO,FORMACION,USER];
Section Application;
Star is *;Load * Inline [ DEPT,CENTROCOSTEFINANZAS,*TIC,5020FORMACION,5040];
Los nombres de campos y valores se convierten a mayúsculas en la sección de acceso.
47
Curso QlikView Avanzado 3. Desarrollo
6. Depuración
El script se puede ejecutar en 3 modos diferentes:
1. Ejecutar: Modo normal de ejecución del script.
2. Animar: El script se ejecuta normalmente, pero con una especie de pausa
tras cada sentencia.
3. Paso a paso: El script se ejecuta paso a paso, una sentencia cada vez.
Las cargas limitadas son una manera muy práctica de rentabilizar el tiempo.
Al “Finalizar Aquí” se sale del depurador manteniendo los datos que ya se han cargado. Al “Cancelar” se detiene la ejecución y se descartan los datos cargados.
Se recomienda consultar el archivo de registro de ejecución del script.
48
Curso QlikView Avanzado
Área Business Intelligence 4 Problemas Reales, Soluciones Reales
49
Curso QlikView Avanzado 4. Problemas Reales, Soluciones Reales
Tablas de Clave Sintética: Tablas asociadas por más de 1 campo.
PROBLEMA: Mayor consumo de recursos y ralentización de los cálculos
SOLUCIÓN: AutoNumber(OrderId & ’-’ & LineNo) AS OrderLineKey;
Referencias Cíclicas: Son una estructura en el modelo de datos en la que las
claves de al menos tres tablas forman un círculo.
PROBLEMA: Interpretación ambigua de los datos.
SOLUCIÓN:
Renombrar campos
Duplicar campos
Crear tabla intermedia de enlace
Desconexión parcial de tablas (es la solución de QlikView en
tiempo de ejecución del script de carga)
50
Curso QlikView Avanzado 4. Problemas Reales, Soluciones Reales
Tablas de Correspondencia: Permiten añadir campos aislados a una tabla.
Cuatrimestres:
MAPPING LOAD RowNo() AS Mes,
‘Q’ & Ceil(RowNo()/3) as Cuatrimestre
AutoGenerate(12);
ApplyMap(‘Cuatrimestres’, OrderMonth, Num(Month(OrderDate))) AS OrderQ
Botones Invisibles: Colocándolos encima de un objeto, permiten enlazar con
otra hoja u objeto.
Recargas Parciales: Una recarga total borra la nube de datos y ejecuta el
script. Una recarga parcial ejecuta el script sin borrar la nube de datos. Los LOAD
no se evalúan, se utilizan:
ADD LOAD: Para añadir valores a los campos de una tabla.
REPLACE LOAD: Borra la tabla y ejecuta el LOAD.
51
Curso QlikView Avanzado
Área Business Intelligence 5 Referencias
52
Curso QlikView Avanzado 5. Referencias
Referencias
1. Ayuda en línea
2. Archivos de Programa > QlikView >Tutorial
3. Material Cursos QlikView Professional y Enterprise
4. Archivos de Programa > QlikView > Documentación
QlikView Manual de Referencia.pdf
QlikView Automation Reference.pdf
APIguide.qvw
5. Archivos de Programa > QlikView > Plantillas
6. Archivos de Programa > QlikView > Ejemplos
53
Curso QlikView Avanzado 5. Referencias
7. Sitios Web de Referencia:
http://www.qlikview.com
http://ftp.qliktech.com/qvwebdownloads
http://www.qlikcommunity.com
http://www.orientstar.co.id/demo.html
http://www.desirabelles.com (Ejemplo cliente Zero Footprint)