Date post: | 21-Oct-2015 |
Category: |
Documents |
Upload: | eblebleblebl-ebl-ebl-ble |
View: | 122 times |
Download: | 2 times |
Metodología:◦ Definición de requerimientos ¿Quién lo quiere
saber? Definiciones, prioridades y ¿Qué se quiere saber? Preguntas a responder con el modelo, entrevistas
◦ Definición de indicadores ¿Qué indicadores me ayudan a saber lo que quiero?
◦ Obtención y concentrado de datos ¿A partir de qué datos operativos se pueden construir los indicadores?
◦ Realización del Modelo de Análisis◦ Pruebas y validación◦ Entrega
Realización de modelos
Metodología:◦ Definición de requerimientos ¿Quién lo quiere
saber? Definiciones, prioridades y ¿Qué se quiere saber? Preguntas a responder con el modelo, entrevistas
◦ Definición de indicadores ¿Qué indicadores me ayudan a saber lo que quiero?
◦ Obtención y concentrado de datos ¿A partir de qué datos operativos se pueden construir los indicadores?
Documento de definiciones
Realización de modelos
Modelo de análisis1. Carga de datos mediante un script2. Diseño de elementos generales (pestañas)3. Desarrollo del contenido cada pestaña4. Desarrollo del Interfaz de usuario homogéneo5. Pruebas y validación6. Entrega
En este curso veremos el punto del script durante dos sesiones y los demás en las tres sesiones restantes.
Realización de modelos
Se utilizará el documento de definiciones del proyecto
QWTProject Plan.pdf En él están indicadas las variables que se
utilizarán y la información que se debe de incluir en el modelo.
Documento de definiciones
Key Measures: Key Performance Indicators (KPI’s): Key Dimensions: . Trends: Key Selection Filters: Security: Source Data Descriptions:
Documento de definicionesVer documento
Pueden estar en múltiples fuentes: Access, SQL, Excel, etc.
Las tablas tienen múltiples campos Las tablas se relacionan automáticamente si
tiene dos campos con el mismo nombre Veremos como forzar una relación y cómo
impedir que se establezca una. El conjunto de tablas relacionadas forma la
base de datos asociativa de Qlikview
Estructura de datos
En una de las funciones principales del script Pueden ser:
◦ Cualquier tipo de archivo de texto separados por un caracter, ej. Una coma
◦ El resultado de un query a una base de datos mediante claúsulas SQL via OLE DB/ODBC.
◦ Archivos previos de QlikView-files.◦ Archivos de datos QlikView Data (qvd).◦ Archivos de Excel.◦ Tablas HTML carcadas localmente o desde un servidor
externo.◦ Tablas XML .
Cargado de datos
Crear una nueva hoja (Archivo-Nuevo) Ver editor de script (Archivo-Editor de script)
Cargado de datosEditor de script
Cargado de datosEditor de script
Recargar Ejecuta el script, cierra la ventana de diálogo y abre la venta de propiedades de la hoja
Depurar Ejecuta el script en modo de depurador, de manera que cada paso puede ser monitoreado y los valores de las variables también puedan ser examinadas.
Guardar Guarda todo el documento en un archivo incluyendo datos, script y los objetos que muestran los datos y su disposición en las hojas
Imprimir pestaña Permite imprimir la pestaña actual de entre las varias en que puede dividirse un script (Main, etc).
Cortar Corta el texto seleccionado y lo guarda en el clipboard.
Copiar Copia el texto seleccionado y lo guarda en el clipboard.
Pegar Pega el texto guardado en el clipboard en la posición donde está el cursor.
Cargado de datosEditor de script
Buscar Busca el texto especificado en el cuerpo del script pero solo en la pestaña activa
Añadir nueva pestaña Agrega una nueva pestaña. El script es ejecutado pestaña a pestaña de izquierda a
Visor de tablas Muestra el visor gráfico de tablas y las relaciones entre campos
Cargado de datosEditor de script
Opciones de la ventana del editor de script
• Archivo: Permite guardar el documento, exportar e imprimir el script
•Editar: Permite seleccionar, copiar, cortar y pegar texto de la pestaña actual. También tiene las funciones de búsqueda de testo y reemplazo.
•Pestaña: Permite el manejo de las pestañas del script. Añadir, mover y cortar pestañas.
•Configuración: Incluye la configuración del programa y las opciones de usuario.
•Ayuda: Abre la ayuda de Qlikview
La primera columna un icono y el número de línea del script. Con el icono del martillo (cuando se muestra) se abre un asistente para el comando de la sentencia.
La pestaña de datos contiene los comandos básicos para cargar datos en QlikView. Los comandos en Base de Datos se utilizan para crear una conexión a una fuente de datos y para seleccionar campos de la misma. Se puede utilizar ODBC o OLE DB como interfaz a la base de datos. Utilice el botón de Conectar… para seleccionar la fuente de datos, y generar la sentencia apropiada en el script. Utilice… el botón Select.. para especificar campos y las tablas de la fuente de datos elegida, y generar la sentencia apropiada en el script.
Cargado de datosEditor de script
Los comandos en Datos desde Archivos se utilizan para generar las sentencias para cargar datos desde archivos.Use el botón de Ficheros Planos… para seleccionar archivos de texto en varios formatos, incluyendo Excel y los datos de QlikView archivos (del qvd). Use el botón del Archivo QlikView… para seleccionar archivo de QlikView (*.qvw). Al seleccionar un archivo y presionar OK se generarán una declaración binaria. Solamente se permite una declaración binaria por script, y debe ser la primera declaración en él.
Cargado de datosEditor de script
Use el botón Archivos Web… para que mediante la especificación de una dirección Web, QlikView se traiga la página y seleccione una tabla de ella como fuente de datos.
Use el botón Datos de Campo… para cambiar el origen de un campo ya utilizado
Cargado de datosEditor de script
Marque la opción Rutas Relativas para utilizar las trayectorias relativas en vez de los caminos absolutos para las sentencias generadas.Marque la caja Utilizar FTP si la carga de archivos se hará de un servidor FTP.
Cargado de datosEditor de script
La pestaña de Funciones se puede utilizar para generar las funciones que se usarán en el script QlikView. La opción Categoría de Función contiene una lista de categorías que agrupan a todas las funciones. Seleccione una categoría de la lista para ver las funciones correspondientes en la lista Nombre de Función. La opción Nombre de Función contiene una lista de funciones estándar de QlikView. Use el botón Pegar para incorporar, en la posición actual del cursor, la función seleccionada.
Cargado de datosEditor de script
La pestaña de Variables se utiliza para mostrar los valores de las variables de sistema y las definidas por el usuario. Para definir las variables usar la pestaña ‘Variables’ en el menú ‘Configuraciones-Propiedades del Documento’
Cargado de datosEditor de script
La pestaña de Configuración se utiliza para seleccionar algunas opciones que modifican la forma en que trabaja QlikView. Utilice al grupo de los Privilegios de Script para utilizar o no la sentencia Execute y para utilizar el calificador ‘mode is write’ en las sentencias Select en el script. Si no están habilitadas estas opciones, no podrá ejecutar programas externos ni escribir a la Base de Datos. . Use el ajuste en Configuración si desea o no que los campos de usuario y contraseña se encripten al conectarse a la base de datos por medio de OLE/ODBC.
Cargado de datosEditor de script
Modelo de ventas de una tienda de ropaCargaremos
Una base de datos en Access (qwt.mdb): productos, categorías, clientes, pedidos, envíosUna hoja de Excel (EmpOff.xls): Empleados y oficinasUn archivo texto generado por un sistema AS/400 (suppliers.dif): proveedores
Cargado de datosDatos del ejercicio
Notar que Hay campos comunes a diferentes tablas que se quieren relacionar: OrderIDHay campos comunes a diferentes tablas que NO se quieren relacionar: City
Cargado de datosDatos del ejercicio
Fuente OLE DBSeleccionar en Base de Datos, OLE DB, Forzar a 32 bits y pulsar el botón ConectarSeleccionar ‘Microsoft Jet 4.0 OLE DB Provider’ y pulsar botón Siguiente
Cargado de datosConexión a Base de Datos
Fuente OLE BDBuscar a directorio Curso-Archivos Seleccionar QWT.mdb y pulsar botón Aceptar
Cargado de datosConexión a Base de Datos
OLEDB CONNECT32 TO [Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C: ……];
Cada línea de script termina con un punto y coma ;Los comentarios en script
Anteponiendo REM a una o varias líneas es un comentario hasta el punto y coma final// El comentario es una sola línea y no necesita ;./* … */ comentará el texto, así sean varias líneas , que exista entre los caracteres /* y los */
Escribir:Rem este es un comentario dedos líneas;// este es un comentario de una sola línea/* este es mi primer scripten Qlikviewhasta ahora todo ha sido muy fácil */
Cargado de datosConexión a Base de Datos
Seleccionar Load PrecedenteSeleccionar la tabla CustomersEn la caja Campos seleccionar todos los campos arrastrando el apuntador del ratón dentro de la caja de selección.
Se pueden seleccionar varios campos haciendo click en el nombre de cada campo y manteniendo apretada la tecla Cntrl
En la ventana de Script se puede ver el código de script que se generará
Pulsar el botón AceptarEscribir antes del Load el nombre de la tabla, Clientes:. con este nombre se referirá QlikView a esta tabla
Guardar el modelo con el nombre Práctica Script.qvw
Cargado de datosConexión a Base de Datos
OLEDB CONNECT 2 TO [Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=C:\Curso script QV10 ];
Rem este es un comentario dedos líneas;// este es un comentario de una sola línea/* este es mi primer script
Clientes:LOAD Address,City,CompanyName,ContactName,Country,CustomerID,Fax,Phone,PostalCode,StateProvince;SQL SELECT Address,City,CompanyName,ContactName,Country,CustomerID,Fax,Phone,PostalCode,StateProvinceFROM Customers;
Cargado de datosConexión a Base de Datos
Poner el nombre Clientes:
Al momento de cargar de una fuente de datos es posible renombrar cualquier campo utilizando una etiqueta. Esto permite dos cosas:
Forzar un enlace entre campos que sabemos que están relacionados al ponerle a los dos un mismo nombre
Evitar que dos campos con el mismo nombre original se enlacen, al cambiarle a alguno de ellos el nombre
El cambio se hace por medio de la sentencia as. Ej.Load Address as direccion,City as ciudad;
Las etiquetas son sensibles a las mayúsculas y las minúsculas. Ej. Direccion es diferente a direccion
Cargado de datosCambio de nombres de campos
Clientes:LOAD Address as ClienteDireccion,
City as ClienteCiudad,CompanyName as ClienteCompania,ContactName as ClienteContacto,Country as ClientePais,CustomerID as ClienteID,Fax as ClienteFax,Phone as ClienteTelefono,PostalCode as ClienteCP,StateProvince as ClienteEstado;
Cargado de datosCambio de nombres de campos
OLEDB CONNECT32 TO [MS Access Database;DBQ=Files\Archivos\QWT.mdb]; Rem este es un comentario de dos líneas; // este es un comentario de una sola línea /* este es mi primer script
Clientes: LOAD Address as ClienteDireccion, City as ClienteCiudad, CompanyName as ClienteCompania, ContactName as ClienteContacto, Country as ClientePais, CustomerID as ClienteID, Fax as ClienteFax, Phone as ClienteTelefono, PostalCode as ClienteCP, StateProvince as ClienteEstado; SQL SELECT Address, City, CompanyName, ContactName, Country, CustomerID, Fax, Phone, PostalCode, StateProvince FROM Customers;
Cargado de datos Cambio de nombres de campos
Es posible utilizar datos que se encuentren en hojas de Excel. El archivo se llama EmpOff.xls y tiene los datos de oficinas y empleados. Son dos hojas, Employee y Office. La de empleados contiene los campos:
Id del empleado, Apellidos, Nombre, Título, Fecha de ingreso, ID Oficina, Extensión Tel., A quién reporta y Salario Anual
Cargado de datosCarga de hojas de Excel
Para cargar la hoja active el botón ficheros planos en la hoja de script
Ir al directorio Archivos y seleccionar EmpOff.xls
Cargado de datosCarga de hojas de Excel
Script generado:
LOAD EmpID,[Last Name],[First Name],Title,[Hire Date],Office,Extension,[Reports To],[Year Salary]FROM ..\Archivos\EmpOff.xls (biff, embedded labels, table is Employee$);
Note los paréntesis cuadrados para enmarcar los campos que tienen espacios en el nombre. También se pueden utilizar comillas dobles “”
Cargado de datos Carga de hojas de Excel
Pasar a:Empleados:LOAD EmpID as EmpleadoID,
[Last Name] as EmpleadoApellido,[First Name] as EmpleadoNombre,Title as EmpleadoTitulo,[Hire Date] as EmpleadoFechaIng,Office as EmpleadoOficina,Extension as EmpleadoExtTel,[Reports To] as EmpleadoReporta,[Year Salary] as EmpleadoSalario
FROM ..\Archivos\EmpOff.xls (biff, embedded labels, table is Employee$);
Cargado de datosCambio de nombres de campos
Hasta ahora tenemos dos tablas sin relación entre ellas, es decir seleccionar un campo en la tabla Clientes no nos selecciona nada en la tabla Empleados
Cargado de datos Carga de hojas de Excel
Para ver cómo se relacionan, veamos el esquema general. Es la tabla de Ordenes la que relaciona a los Clientes con los Empleados (vendedores)
Cargado de datosEsquema general de datos
Carguemos entonces la tabla de órdenes. Como ya tenemos una conexión definida a la Base de Datos donde está la tabla Orders, solo requerimos seleccionarla mediante el botón Select…
Cargado de datos Carga de Tabla Ordenes
Seleccionamos todos los campos y nos aseguramos que la opción Load Precedente esté marcada.
Cargado de datos Carga de Tabla Ordenes
Script generado:Ordenes: LOAD CustomerID,
EmployeeID,Freight,OrderDate,OrderID,ShipperID;
SQL SELECT CustomerID,EmployeeID,Freight,OrderDate,OrderID,ShipperID
FROM Orders;
Cargado de datos Carga de Tabla Ordenes
Hasta ahora tenemos tres tablas, ¿qué tenemos que hacer para que se relacionen entre sí?
Cargado de datosCarga de Tabla Ordenes
Relacionar 1. ClienteID de Clientes con CustomerID de Ordenes2. EmpleadoID de Empleados con EmployeeID de Ordenes
Cargado de datos Carga de hojas de Excel
Script generado:Ordenes:LOAD CustomerID as ClienteID,
EmployeeID as EmpleadoID,Freight as OrdenPeso,OrderDate as OrdenFecha,OrderID as OrdenID,ShipperID as OrdenEmbarque;
SQL SELECT CustomerID,EmployeeID,Freight,OrderDate,OrderID,ShipperID
FROM Orders;
Cargado de datos Carga de Tabla Ordenes
Pasar EmpleadoApellido y OrdenFecha. Notar el símbolo de la llave en los campos que relacionan las tablas.
Cargado de datos Agregar datos de Tabla Ordenes
Pasar EmpleadoApellido y OrdenFecha. Notar el símbolo de la llave en los campos que relacionan las tablas.
Cargado de datos Datos relacionados
El mapeo de datos nos permite cambiar los datos de una tabla por otros. Es necesario
Tener un diccionario de datos con las equivalencias y Aplicar estas equivalencias (mapear) a un campo
Los datos del campo a cambiar se revisan al momento de correr el script, y si el dato se encuentra en el diccionario se reemplaza por su equivalente. Si no está se deja intacto el dato original. Deben de especificarse antes de la sección donde se cargan los datos, en una pestaña que concentre todos los mapeos y que esté a la derecha de la pestaña Main.
Esto nos permite: Hacer más legibles los datos de algún campo: si los datos de la
ciudades son 1,2,3, etc. mapeando podemos cambiar el 1 por Tampico, el 2 por Colima, etc.
Agrupar datos que son lo mismo pero se escribieron diferente. Ej. Si en la tabla de ventas aparecen vendidos ‘lápiz’, ‘lapiz’, ‘lapis’ no es porque se trate de artículos diferentes sino que ‘lapiz’ está mal escrito.
Cargado de datos Mapeo de datos
Ir a la página del editor de script, recargar datos y cambiar el campo EmpleadoApellido por EmpleadoOficina.
Cargado de datos Mapeo de datos
Queremos cambiar el campo EmpleadoOficina para que en lugar de que aparezcan números no muestren los nombres de la oficina, En EmpOff.xls, pestaña ‘Office’ se puede ver:
Cargado de datos Mapeo de datos
Es decir, hay que cambiar:1, Estocolmo2, Lund3, Paris4, Niza5, Seattle
1. Ir al editor de script y en la opción Pestaña activar Añadir pestaña…
2. Dar el nombre Mapeos3. Ir de nuevo a la opción Pestaña
y activar Ascender
Cargado de datos Mapeo de datos
Agregar la sentencia Mapping, en la pestaña MapeosOficinas:Mapping Load * inline [ 1, Estocolmo2, Lund3, Paris4, Niza5, Seattle] ;
Ya tenemos el diccionario definido, ahora hay que aplicarlo al campo EmpleadoOficina. En la pestaña Main, hacer los cambiosApplyMap('Oficinas',Office) as EmpleadoOficina,// Office as EmpleadoOficina,
Cargado de datos Mapeo de datos
Supongamos que tenemos tres tablas de una compañía que vende en todo México. Tres tablas tienen entre otros campos los siguientes.
Clientes Ordenes ProveedoresClienteID ClienteID ProductoIDTelefono ProductoID Telefono
El problema surge cuando Qlikview se encuentra con campos con el mismo nombre que no deberían ser relacionados. Al hacer la carga del script aparecerán indicaciones de que se han generado tablas intermedias para manejar esta situación.
Es por esto que las mejores prácticas dictan que cada campo de las tablas a utilizar contengan el nombre de la tabla origen.
Cargado de datos Referencias circulares
Cargado de datos Referencias circulares
Cargar el script Practica Script 2, el cual tiene las siguientes tablas relacionadas. Note que existe una relación circular a igualar el campo Telefono de Proveedores con el mismo campo en la tabla Clientes.
Cargado de datos Referencias circularesAl cargar QlikView avisa de que existe una referencia circular y que ha desconectado una o varias tablas . Estas se muestran con los enlaces con línea punteada. Generalmente se desconectan las tablas más grandes, en nuestro caso en la tabla DetallesOrd.
Se han detectado una o más referencias circulares en la estructura de su base de datos. Esto puede ocasionar resultados ambiguos y debe por tanto ser evitado. QlikView interrumpirá las referencias circulares configurando una o varias tablas como parcialmente desconectadas. Se puede modificar la configuración de las tablas parcialmente desconectadas una vez ejecutado el script en la página Tablas del cuadro de diálogo Propiedades del Documento.
Cargado de datos Referencias circularesHemos incluido el campo ProductoID de la tabla DetallesOrd. Nótese que al estar desconectada la tabla no se filtra su contenido al seleccionar un valor de cualquiera de las otras tablas.
¿Qué tenemos que hacer para remediar este problema?
Cargado de datos Referencias circularesDebemos renombrar alguno de los campos Telefono, o mejor, seguir las mejores prácticas e incluir en el nombre de los campos los nombres de las tablas.Editar el script comentando las líneas de Telefonos y quitando el comentario de la línea inmediata superior correspondiente, de las tablas Clientes y Proveedores.
Cargado de datos Referencias circularesQuitando la referencia circular, la tabla DetallesOrd se vincula con las demás y el campo ProductoID se incluye en los filtrados.
Cuando dos o más tablas contienen campos con el mismo nombre, QlikvView generará enlaces sintéticos para relacionar las tablas. Estos enlaces alentan al modelo y lo hacen más difícil de entender y de mantener.
Proveeddores OficinasDirección DirecciónCiudad Ciudad
Dos tablas contienen dos enlaces que no deberías de estar relacionados, ya la dirección y ciudad de un proveedor no están relacionados con los mismos campos de la oficinas de la compañía. Otra razón por la que las mejores prácticas dictan que cada campo de las tablas a utilizar contengan el nombre de la tabla origen. Cargar y correr Practica Script 3.qvw
Cargado de datos Tablas sintéticas
Cargado de datos Tablas sintéticasDado que tanto la tabla Proveedores como la de Oficinas tienen en común los campos Dirección y Ciudad, QlikView generó la tabla sintética SSyn 1. Además la tabla Oficinas está aislada de la de Empleados.¿Cómo corregimos esta situación?
Cargado de datos Tablas sintéticasDebemos renombrar los campos Dirección y Ciudad de las tablas Proveedores y Oficinas. Y en la tabla Oficinas cambiar de nombre al campo Oficina por EmpleadoOficina.
Es posible utilizar datos que se encuentren en tablas de acceso público en un sitio Web. http://en.wikipedia.org/wiki/List_of_capitals_and_largest_cities_by_country
Los datos de la página Web solo se pueden leer si están en una tabla en formato HTML y en columnas separadas. Esto es importante porque algunas tablas son gráficas o están hechas en PDF y no se pueden importar.
Ver en el navegador la página, en el directorio del curso está el enlace. Cargar Práctica Script 4.qvwCorrer la carga del script
Cargado de datosCarga de tablas en páginas Web
Una vez que se corra el script se mostrará el campo Capital. Note que ahora hay muchos más países que antes, pero no todos contienen datos sobre ventas.
Cargado de datos Carga de tablas en páginas Web
QlikView ofrece un método de correr el script de carga de datos en forma de depuración, permitiendo encontrar errores.
En la página del editor de script, utilizar el menú Depurar
Cargado de datosDepuración de script
Podremos correr el script entres formas diferentes:Ejecutar: Correrá el script de forma continua hasta terminarlo o hasta que llegue a un punto de interrupción
Animar. Similar a la forma anterior pero se da una pequeña pausa después de cada sentencia, de forma que se pueda ver más detalladamente cómo corre el script.
Paso a paso: El script se corre sentencia por sentencia, deteniéndose después de ejecutarla.
Los puntos de interrupción se ponen haciendo clik en la columna de números en la línea de sentencia deseada.
También es posible limitar el número de registros que se cargan en todas las sentencias Load –Select. Muy recomendable para depurara las primeras veces que se extraen registros de una base de datos.
Haciendo clik en Finalizar Aquí, se finalizará la depuración con los datos cargados hasta ese momento.
Haciendo clik en Cancelar, se terminará la depuración y se descartarán los registros cargados.
Cargado de datosDepuración de script
Ver Cargar bases de datos, cargar Excel Ver contenidos de bases de datos Mostrar algunos modelos del objeto Mappings Referencias circulares, tablas sintéticas Cargar página Web http://www.banxico.org.mx/SieInternet/consultarDirectorioInternetAction.do?
accion=consultarSeries&series=SF43717&formatoDeSalida=1 Debugeo Mejores prácticas Linking fields no buenos para contar o list boxes (al curso de objetos)
No ver Buffer, Resident, Drop table Load qvd Manipulación de excell, pivotable, etc Join Aggregation, Concatenation Order by Previous (accessing data from the previous loaded record) Variables Seguridad
Cargado de datosQue ver y que no ver en el curso