P. 1
Curso Qlikview

Curso Qlikview

|Views: 2,191|Likes:
Published by Pedro Quintana

More info:

Published by: Pedro Quintana on Mar 03, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

10/19/2015

pdf

text

original

CURSO QLIKVIEW Qlikview puede acceder a la web, redes sociales, aplicaciones o dispositivos móviles.

QV tiene dos herramientas:  Publisher: Divide el fichero para cargarlo mejor y genera pdfs.  Server: No divide el fichero. Metodología: 1. Análisis de requisitos. Consultoría: 2. Análisis de fuentes de datos. 3. Elaboración del modelo de datos Desarrollo: 4. Contrucción del layout 5. Pruebas del sistema 6. Optimización + Perfiles de seguridad Formación: 7. Pruebas usuario 8. Aceptación del sistema. Qlikview depende totalmente de las características del sistema. El fichero del Cuadro de Mando suele ocupar unos 200 MB y de un 10 a un 15% más por usuario. ESTRUCTURA DE FICHEROS Proyecto  Datos_JPG (Carpeta donde van imágenes)  Datos_XLS (Carpeta donde va el resto de ficheros fuente)  Datos_QVD (Carpeta donde van los ficheros QVD generados por QV)  Fichero_CM.qvw (este es el fichero que ve el usuario) En Datos_QVD vamos a tener un fichero de carga .qvw (carga.qvw) que nos va a permitir generar los ficheros .qvd que van a alimentar el cuadro de mando. Qlikview no accede directamente a la base de datos, tiene su propio repositorio en los ficheros .qvd. El fichero de carga, a través de scripts, se conecta a las fuentes de datos y almacena la información en ficheros qvd, comprimiendo la información y facilitando el acceso a la misma. Cada fichero qvd puede ser una tabla de hechos o una tabla de lookup. En el fichero del cuadro de mando veremos nuestro modelo en estrella o copo de nueve.

la pestaña principal siempre fija unos parámetros de fechas. GUARDAR siempre antes de recargar.  Configuraciones > Propiedades de Documento > Tablas  También se puede hacer con el visor de tablas en el Editor de Script. o Pestaña Datos > ODBC > Conectar a BBDD.qvw.mdb) (en opciones avanzadas podemos poner las claves de acceso si está protegido por contraseña). y el editor de script. o Select > Crear sentencia select. añadiendo un LOAD antes (LOAD Precedente). que contiene la parte de desarrollo. tenemos dos partes: la de layout que muestra el cuadro de mando. o Hacemos la carga dándole al botón Recargar. o Aceptar > Guardar > Datos_QVD como carga. aparecen las tablas ssyn.  Seleccionamos todo lo que queremos y Aceptamos.  No es bueno traerse todos los campos con *.  CUIDADO! Qlikview siempre relaciona por el nombre del campo y es sensible a mayúsculas.Nada más acceder a QV. o Panel de Control > Herramientas Administrativas > Orígenes de dato OBDC > DNS de Sistema > Microsoft Access Driver (.accdb. etc. formatos. Estos parámetros o variables se fijan con SET o LET.  Seleccionamos los campos que queremos y hacemos clic en añadir.  Pinchamos en Editor de Script en QV.. .  Quitamos tablas del sistema.  /* … */ . Si hay más de un campo común entre dos tablas. En el editor de script. TIP 1. . renombre de campos…) Renombrar campos: Old_name as New_name Comentarios:  // …  rem . Bajo estos parámetros podemos añadir más o meter permisos de usuarios. Es muy importante el LOAD porque allí se pueden hacer las transformaciones que queramos (operaciones. TIP 2. Verificar las tablas siempre que se hace una carga. Estas tablas ssyn son claves compuestas y se pueden eliminar de dos formas: o Renombrando los campos para que no crucen y dando etiquetas a las tablas antes de cargarlas (Esto último se hace poniendo el nombre de la tabla Tabla: justo antes del LOAD) o Creando un campo concatenado con los campos por los que tienen que cruzar las dos tablas y cruzando por estos.. Añadimos una nueva pestaña:  Creamos una conexión ODBC en Windows. que hay que eliminar.

Si tenemos. Para tener todo organizado.  Quitamos el nombre de la tabla Tranporte (Transporte:). DROP TABLE Productos. una tabla Pedidos: y otra Transporte:. . Es importante marcar la opción de Rutas Relativas para que inserte las rutas relativas al fichero y no las de la máquina local. Las que se carguen primero van a estar más a la izquierda en el orden para el Join. por ejemplo. desaparece la tabla de Transporte y los campos se pegan automáticamente a Pedidos. Esto puede suponer un problema al subirlo al servidor o cambiar de máquina. creamos una nueva pestaña cada vez que cambiemos de fuente de datos. Para cargar ficheros planos existe una opción (Habilitar Paso de Transformación) en la que podemos eliminar registros bajo una condición. Para hacer JOINS hay que tener cuidado con el orden de carga de las tablas en el Editor de Script. = COUNT(…) & CHR(13) & COUNT(DISTINCT …) donde el & sirve para concatenar y el CHR(13) es el retorno de carro. eliminar columnas. Por ejemplo: INNER JOIN (Pedidos) LOAD DISTINCT * RESIDENT Productos. Se pueden concatenar datos con estructura similar de fuentes diferentes en una misma tabla. añadir flags… Todas las etiquetas se cambian en el LOAD. hay que envolver el nombre entre […] ó “…”.Todos los cruces y las relaciones entre tablas se hacen después de tener todas importadas. haremos lo siguiente:  Cortamos el script de Transporte: y lo pegamos después de Pedidos:. con sus respectivos LOADs. en la primera pestaña del Editor de Script. Muestra lo que tiene la tabla que se indique hasta la pestaña en la que se encuentre. En layout podemos insertar un objeto nuevo: Layout > Clic Derecho > Nuevo Objeto de Texto. Se activa la opción de rutas relativas insertando Directory. Hay que intentar siempre llegar a un diagrama en estrella. Para poner espacios en el nombre de algún campo.  Añadimos INNER/LEFT/RIGHT JOIN (Pedidos) antes del LOAD de Transporte. TIP 3. Se puede usar el comando RESIDENT para crear una tabla resultado.  Con esto.

Podemos insertar campos en el layout: Layout > Clic Derecho > Seleccionar Campos. TIP 4. tantas líneas como registros) ].  Función suma: SUM(…)  Función mayúsculas: UPPER(…) TIP 6. … (valores. TIP 7. TIP 5. LOAD * INLINE [ CAMPO1.qvd].\Datos_QVD’ . En lo posible. La mayoría se pueden ver en la pestaña Funciones en el Editor de Script. hacer todos los cálculos en el script. Es conveniente guardar las tablas en ficheros qvd. Limpieza de Variables. Para esto. Para ello es conveniente crear una pestaña de Inlines en el Editor de Script. Seleccionamos los que queramos y los importamos al layout. No debe aparecer ninguna variable de script entre las variables de layout. . todo campo funciona como un filtro si todo está bien relacionado en el Editor de Script. Al final del script creamos una pestaña Limpieza donde limpiemos las variables de script: LET RUTA_QVD = NULL(). LET: evalúa una expresión. Editor de Script > Insertar > Cargar Sentencia > Cargar Inline. Qlikview tiene Inteligencia Asociativa. Utilizar flags. tablas creadas manualmente. … (etiquetas) VALOR1. CAMPO2.Se pueden crear y definir variables dentro del script.. Hay dos formas de definir una variable: SET: se le da un valor directo a la variable. La sentencia es la siguiente: STORE Entidad INTO [$(RUTA_QVD)\Entidad. Se pueden cargar tablas de tipo INLINE. metemos una pestaña QVDs para que no la elimine. antes de la pestaña Limpieza. Podemos meter una variable que indique dónde están los qvd con la información para el Cuadro de Mando: SET RUTA_QVD = ‘. VALOR2. Es conveniente limpiar todas las variables al terminar el script. Podemos incluir funciones en el LOAD.

Estados Unidos de América Estados Unidos.0). Se puede crear una tabla de mapeo temporal con sólo dos columnas: MAPPING LOAD * INLINE [ … ]. igual que se pondría en Oracle. y devolvemos un ‘Sin Asignar’ si no hay una correspondencia: APPLYMAP ( tabla_de_mapping.Se suelen usar para crear tablas de diccionario temporales: LOAD * INLINE [ País_Temp. YEAREND($(V_DATEMAX)). País_Final EEUU. podemos recurrir a la siguiente opción: Editor de Script > Insertar > Archivo de Script > Seleccionamos el fichero de Calendario. Estados Unidos de América USA.-1). Para insertar un fichero de script (como un calendario). AUTOGENERATE(10000). Función da valor de la variable: PEEK (‘FechaPedido’. /* Pasándole una variable */ . Sirve para generar calendarios sobre todo: LOAD RECNO() AS [NUMERO REGISTRO]. El 0 que aparece al final de la cadena indica que va al primer registro de la tabla. Mapeamos el campo País_Cliente. La función YEAREND da el último día del año. País_Cliente. Otros ejemplos: YEAREND(PEEK(‘FechaPedido’. Si queremos hacer una lookup con esta tabla de mapeo. RAND() AS [VALOR]. Sustituyéndolo por un -1 se va al último registro de la tabla: PEEK(‘FechaPedido’. se puede usar la siguiente sentencia de ejemplo.-1)). Se pueden ordenar el resultado de una select poniendo un ORDER BY en la misma. Estados Unidos de América ]. ‘Sin Asignar’). Función quita espacios: TRIM(…) Existe una función que genera registros automáticamente AUTOGENERATE.

Función INTERVALMATCH INTERVALMATCH(Campo1) SELECT IntervaloInferior. con esto se evita que los campos se unan al compartir el nombre. Se pueden cualificar sólo algunos campos. Campo2) Deja en la tabla 2 los registros que aparecen en la 1. Lo hace hasta que se ponga un UNQUALIFY *. ‘00’) /* Da el mes como número */ Función NUM: NUM#(Importe. QUALIFY: Cualifica tablas metiendo el nombre de la tabla en la columna. AUTONUMBERHASH128(campos que conforman la clave). Se pueden crear tablas cruzadas con la función CROSSTABLE: CROSSTABLE(Fecha_Presupuesto. Campo2) Deja en la tabla 2 los registros que no aparecen en la 1. IntervaloFin FROM (TablaIntervalo). Se pueden crear claves compuestas para hacer los cruces entre tablas con más de un campo de cruce. Función NOT EXISTS(Campo1. Función que transforma a número: NUM(Mes. ‘0.00$’). Campo2.CHR(39): Comilla Función transforma a fecha: DATE() /* Se puede meter un número */ Se puede hacer GROUP BY igual que en Oracle: LOAD … SUM() MAX() MIN() AVG() FROM … GROUP BY … Como recuerdo. Qlikview concatena tablas con la misma estructura: CONCATENATE NOCONCATENATE: Evita que se concatenen tablas con misma estructura. QUALIFY Campo1. Para ello se hace uso de los números hash. UNQUALIFY Función EXISTS(Campo1. Datos). claves únicas por registro. . podemos usar RESIDENT en lugar de FROM para llamar a una tabla local generada por QV.

para hacer una carga diferencial.TIP 8: Siempre hay que poner comillas cuando la variable es de cadena. V_FECHA_CARGA = DATE(‘01/12/2011’). Para cargar un mes más. Función ADDMONTHS(…. -1).  Actualizamos el QVD. Hay que crear una conexión ODBC y es conveniente que tenga el mismo nombre tanto en Desarrollo como en Producción. Es posible no recargar el repositorio completo: Archivo > Recarga Parcial Eso sólo recarga las variables o las sentencias a las sentencias a las que se les añada un ADD antes del LOAD. pero se pueden hacer cargas incrementales para no recorrer la BBDD completa siempre que se haga una carga. Cuadro de Lista > Clic Derecho > Propiedades > Presentación ☐Sólo una columna ☑Número de columnas fijo /* Se hace la columna menos alta */ . sustituiría a TODAY()-1.  Concatenamos todo. ADD LOAD… Otras funciones de uso: RENAME TABLE RENAME FIELD NULL() AS Campo NOT ISNULL(Campo) CARGAS INCREMENTALES Hasta ahora se han hecho cargas totales. /* Resta un mes */ CHR(255): Espacio. CARGAS DIFERENCIALES Para hacer cargas diferenciales necesitamos un campo “Fecha Última Modificación” para cargar sólo registros únicos o con una fecha de modificación determinada. se siguen los siguientes pasos:  Leemos el mes a cargar (201111)  Leemos el QVD desde 201101 hasta 201110. FOR EACH… Para conectar con una base de datos de Oracle hay que modificar el TNSNAMES.

Hidden Script. que debe estar en mayúsculas (por ejemplo.Se puede habilitar la generación de ficheros de log o trazas de la carga. Función QVUSER(): Muestra el usuario con el que se ha conectado al CdM. franquicias). hay que filtrar por uno de los campos. Configuraciones > Propiedades de Documento > Al Abrir ☑Reducción Inicial de Datos ☐Exclusión Estricta La exclusión estricta hace que el fichero no se abra si no tiene datos para su perfil. Vamos analizando todas las opciones de formato: Configuraciones > Propiedades de Documento General:   Título Autor . Para ello se crea una pestaña. Editor de Script > Archivo > Crear Script Oculto Los perfiles se pueden coger directamente desde el Servidor LDAP o insertando una INLINE: Editor de Script > Sección de Acceso > Inline (Seguridad NT Básica) ADMIN|PQUINTANA|INDRA\PQUINTANA USER|DNOVDAM|INDRA\DNOVDAM Podemos modificar qué puede hacer un usuario normal: Configuraciones > Propiedades de Documento > Seguridad Se pueden crear varios perfiles de seguridad. DISEÑO En Qlikview. Podemos poner el carácter que queramos. Reconoce el carácter * como el asterisco de Oracle. Configuraciones > Propiedades de Documento > General ☑Generar Archivo de Log PERFILES DE SEGURIDAD DE USUARIOS Se pueden crear perfiles de seguridad para los usuarios. antes de la pestaña Main. Para ello. el documento está dividido en pestañas y estas en capas donde se insertan los objetos. En esto es muy parecido a Photoshop. Antes de empezar a diseñar hay que tener muy claro y bien estructurado el contenido de todas las capas. Función STAR IS *.

Hojas Cada hoja tiene un identificador. Así evitamos salirnos del mismo. Variables Se pueden ver en el script de carga o en el cuadro de mando. .   Modo Asignar Estilo (Avanzado) Estilo de Objeto de Hoja (Cristal) Al Abrir   ☐Selección Inicial basada en la sección de acceso: Selecciona opciones por defecto por su perfil. Podemos pinchar en el objeto y ver sus propiedades desde aquí. Esto sirve para ver hojas ocultas (Modo Mostrar). ☐Carga Binaria. ☐Webserver: Muestra cómo se vería en Firefox/Safari. Planificación Se hará en el servidor. ☑Generar log ☑Ocultar pestañas: Permite hacer la navegación tipo web. TIP 9: Se debe poner un cuadro de texto con un color diferente para limitar el tamaño del cuadro de mando. pero no limita. dentro de Propiedades de Objeto. adaptado a la resolución de pantalla. Por motivos de seguridad se puede evitar que un usuario vea una pestaña. Juego de Caracteres (ANSI) ☐Color de Fondo: Es bueno poner un color que no sea blanco a la hora de diseñar. Aquí están descritos todos los objetos por hoja. Servidor Más adelante.   Compresión (Alta) Mensajes de Alerta Color de Fondo o Fijo (Degradado) o Calculado Siempre que aparezcan tres puntos suspensivos (…) significa que podemos insertar una constante o una expresión. va guardando una especie de log de cómo se utiliza la memoria. La capa está en Diseño. ocultos o no. Se traduce en “Definido por…”        Mensajes de Ayuda Estadísticas de Memoria: Optimizar.

TIP 11: Hay que intentar usar siempre Arial / Times New Roman / Calibri como fuentes del Cuadro de Mando. podemos moverlos a través del layout: + Ctrl: los mueve píxel a píxel. Si pegamos objetos con la opción “Pegar Objeto de Hoja como Enlace”. + Ctrl + Shift: los mueve a saltos.Configuraciones > Panel de Variables > Añadir TIP 10: Cualquier filtro afecta a las variables. Después de seleccionar varios elementos. Existen dos elementos imprescindibles. Importante: Reglas en variables! ☐Mensaje de Error Lista de Valores ☐Predefinido (Botones de Incremento) Disparadores Acción > Externo > Establecer Variable Grupos Revisar… Tablas Podemos marcar dimensiones para que le aparezcan al usuario en otro color. por lo que si lo movemos en la plantilla lo va a mover en todas las pestañas. /* Aquí las definimos*/ Cuadro de Entrada Puedo ir modificando mis variables o el usuario. uno que nos muestra los campos seleccionados y otro que nos permite buscar: Layout > Clic Derecho > Nuevo Objeto > Cuadro de Selecciones Actuales Layout > Clic Derecho > Nuevo Objeto > Objeto de Búsqueda. . Importante Editar Etiquetas. Se pueden listar los campos separados por . Las opciones siguientes se aplican sobre los campos traídos al layout del cuadro de mando: Propiedades > Presentación ☐Sólo una columna ☑Número de Columnas Fijo Podemos meter minigráficos en los selectores de campo si nos hace falta. además de expresiones. estamos insertando el mismo objeto.

   . Se pueden insertar Gráficos Evolutivos. ☐Sólo lectura: No se puede seleccionar nada en el gráfico. ☐Mostrar todos los valores. el dato interno no varía. Sólo cambia cómo se presentan los valores. Otras funciones útiles: GETSELECTEDCOUNT GETPOSSIBLEVALUES Propiedades de Gráfico      Cambio de Estilo Rápido: Ayuda a cambiar el gráfico. = ‘web’&’<url>web’ /* de la primera ‘web’ se coge el nombre que se muestra en el cuadro de mando */ Acumulación: suma los valores de un campo (frecuencia absoluta acumulada).Al mover un objeto: Objetos Enlazados > Ajustar posición de objetos enlazados. Líneas de Tendencia: crea una por dimensión. El mensaje de error que se muestra se puede modificar sin problemas: Propiedades > General > Mensajes de Error. ☐ Expresiones como leyenda: quita la expresión que le indique de la leyenda. Dimensiones Expresiones Se pueden crear expresiones como referencias a otras:  Por orden: columna(1)_columna(2) (no es bueno)  Por nombre  Opciones de Presentación o Texto: Normal. Editar grupos (Cíclicos/Jerárquicos) Animar (los gráficos se mueven) ☐Suprimir cuando el valor es nulo : elimina las filas cuando el atributo no existe. Si tenemos un gráfico sobre otro. o Imagen: Podemos meter semáforos aquí. es bueno tener una condición de cálculo. ONLY(Año) = 1997 Sólo se evaluará si hay un solo valor en el campo marcado y si se cumple la condición. o Enlace: Crea un enlace a una web. o Indicador LED: Reloj digital. ☐Desvinculado: Ninguna selección afecta al gráfico.

Negrita: ‘<b>’ Cursiva: ‘<i>’ Subrayado: ‘<u>’ Se puede mostrar en un gráfico el gajo de la fecha máxima:  Mostrar Gajo: AÑO = MAX(TOTAL AÑO) . Se añade el $ en las variables cuando se quiere hacer referencia a cómo está definida la variable.Los totales se pueden quitar en las tablas: Modo Total  Sin Totales  Expresión Total  … Nuevo Objeto de Hoja > Botón  General (Puede activarse bajo condición)  Acción: Definimos una acción.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->