miércoles, 21 de octubre de 2015

* MODELADO DE DATOS EN QLIKVIEW


Realizaremos un ejercicio de Carga y modelado de datos directamente en nuestra aplicación QlikView, para esto es necesario tener en cuenta que los datos llegan directamente de una fuente de datos SQL y serán modificados de acuerdo a la necesidad para lograr un modelo asociativo de datos optimo haciendo el uso de la LinkTable para relacionar nuestras Tablas de Hechos y sus dimensiones correspondientes.

Tenemos las siguientes tablas de una base de datos de  un esquema SQL previamente creado.

*********************************************************************************
SELECT   categoriaid, nombrecat
  FROM categorias;
*********************************************************************************
SELECT clienteid, cedula_ruc, nombrecia, nombrecontacto, direccioncli,fax, email, celular, fijo
  FROM clientes;
*********************************************************************************
SELECT ordenid, detalleid, productoid, cantidad
  FROM detalle_ordenes;
*********************************************************************************
SELECT empleadoid, nombre, apellido, fecha_nac, reporta_a, extension
  FROM empleados;
*********************************************************************************
SELECT ordenid, empleadoid, clienteid, fechaorden, descuento
  FROM ordenes;
*********************************************************************************
SELECT productoid, proveedorid, categoriaid, descripcion, preciounit, existencia
  FROM productos;
*********************************************************************************
SELECT proveedorid, nombreprov, contacto, celuprov, fijoprov
  FROM proveedores;
*********************************************************************************

Lo siguiente en este caso y tipo de estructura  sera llamar las tablas colocando los selects en el editor de script de QlikView, lo recomendable es que mientras se realice este proceso  se haga su debido modelado de datos, es decir convertiremos el modelo relacional de la base de datos al modelo asociativo de QlikView, haremos énfasis en el uso de la LinkTable y llegaremos a una solución correcta.

H.Clientes:
LOAD
 AutoNumberHash256(clienteid)           AS CK.LlaveCompuesta,
 clienteid                                                  AS  Cliente.Id ,
  cedula_ruc                                            AS Cliente.Cedula,
 nombrecia                                              AS Cliente.Compañia,
  nombrecontacto                                   AS Cliente.Contacto,
  direccioncli                                        AS Cliente.Direccion,
 fax                                                  AS Cliente.Fax,
  email                                               AS Cliente.Email,
  celular                                              AS Cliente.NumeroCelular,
  fijo                                                  AS Cliente.NumeroFijo;
 
SQL
          SELECT *  FROM clientes;

Lo que hicimos en este caso fue llamar una tabla  de la fuente de datos y crearemos una         llave única con la sentencia AutoNumberHash256( ) especificando que la llave se genere por el Campo_Id para así poder realizar en enlace entre las otras tablas de hechos, hablando en otros términos en este caso usaremos la llave primaria con la cual aremos relación entre las otras tablas.

De esta manera y enlazando las tablas por su llave compuesta podremos realizar la asociación de tablas teniendo en cuenta los campos en común que permitirían esta asociación, el modelo de QlikView toma todos los campos con nombre igual como 1 solo y por ende realizara la asociación por los campos de nombres iguales en las tablas, veamos este ejemplo.
























martes, 20 de octubre de 2015

* CREAR UN ARCHIVO QVD EN QLIKVIEW

Aprenderemos a crear un archivo QlikView Data (QVD) en base a una base de datos de donde extraeremos la información que necesitamos

Por ejemplo: suponga que este es la tabla con los campos que va a usar de una base de datos:

/*************************
SELECT  ordenid, 
         empleadoid, 
         clienteid, 
         fechaorden, 
        descuento
FROM ordenes;
*************************/

Lo que aremos sera entrar al editor de Script de nuestra aplicación QlikView (CTRL + E) y en este pegar el select con los campos de la tabla que vallamos a utilizar, es importante dentro de el editor de script darle un nombre a la tabla que en pocas palabras, sera el nombre del archivo QVD que crearemos mas adelante, tambien debemos tener en cuenta las sentencias Store que nos servira para crear el archivo en un directorio local.

/*************************
_prueba:                                              --------------- > Nombre de Tabla y de QVD.
SELECT
ordenid,
empleadoid,
clienteid,
fechaorden,
descuento
FROM ordenes;

Store _prueba Into [D:\_prueba.qvd];    ------------ > Creamos el archivo _prueba.qvd en el disco D.
Drop Table _prueba;                           ------------ > Borramos la tabla _prueba que previamente ha
                                                                                    sido creada en la app, esto para que esta tabla
EXIT Script;                                                                no este dentro de el archivo de extracción.

*************************/


Lo que queda es recargar nuestra aplicación Qlikview, notaremos que dentro de la aplicación no ha quedado almacenada la tabla _prueba, esto porque la información de esta tabla quedo almacenada en mi caso en la raíz del disco local D:\, ahí encontraremos un archivo como el que vemos en la imagen.







* CONECTAR QLIKVIEW A UNA BASE DE DATOS


QlikView es una entidad que necesita una fuente de datos de donde alimentarse para poder hacer uso y trabajar sobre esa información.

En esta ocasión explicaremos como conectar QlikView a una base de datos:

Controladores (SGBD)

ODBC : Open Database Connectivity.

OLE DB: Object Linking and Embedding.

Ambos son traductores o puentes que permiten la comunicación entre una aplicación como Qlikview y el respectivo SGBD.
En el momento de instalar el Controlador es importante tener en cuenta la arquitectura del sistema operativo para asi mismo tener en cuenta la compatibilidad del controlador.


QlikView en su versión x64  permite manejar versiones de controladores x86 no obstante la versión de QlikView para arquitectura de 32 bits no permite usar controladores de arquitecturas mayores en este caso x64.

Realizaremos el ejemplo de conexión a una Base de datos utilizando el Motor PostgreSql


Drivers y conexión


  • En primera instancia , debemos tener a mano el controlador.

PostgreSQL al igual que diferentes bases de datos nos brindan los controladores necesarios para lograr la conexión, en este caso, buscaremos la versión mas reciente directamente  en la pagina de postgresSQL Driver ODBCPpostgreSQL .



  • Una vez descargado el archivo obtendrán un archivo (.rar) el cual deberá ser descomprimido y que dentro tendrá el instalador del ODBC de PostgresSQL, la instalación es relativamente fácil ya que solo debemos ejecutar el instalador y dar siguiente, el wizard nos llevara hasta el proceso final de instalación.



  • Al finalizar la instalación nos aseguraremos de que el proceso se halla realizado correctamente, para esto entraremos al Administrador de Origen de Datos de Windows y verificaremos que la instalación este incluida dentro del Administrador.
Nota: En esta lista mostramos los   ODBC instalados en el sistema.





  • Una vez verificamos que el controlador este instalado con éxito, procedemos a agregar la  nueva conexión con la base de datos, esto lo logramos dentro del mismo administrador de origen de datos, en la pestaña DNS de usuario.










  • Procedemos a seleccionar el origen de datos que tenemos exatualmente que es el de PostgreSQL y al seleccionarlo completamos los campos que hacer relación a la base de datos a la cual nos queremos conectar




  • Seleccionar para crear el origen de datos







  • Llenar las credenciales de una base de datos (en este caso PostgreSQL) que tenga creada




  • El administrador de origen nos indica que la conexión esta siendo exitosa




  • Notamos que una vez se realiza la conexión, podemos ver la conexión especificada que genera el driver en el DNS de usuario.






Conexión


1) Al concretar la conexión entre el sistema y la base de datos procederemos a realizar la conexión pero en este caso entre la fuente de datos y el QlikView.
Para esto nos dirigimos al editor de script dentro de un nuevo proyecto en QlikView. Para entrar al editor de script lo podemos hacer desde la barra de herramientas o presionando (Ctrl + E).


Procedemos a generar la conexión:





2) En este paso realizaremos la etapa final de la conexión con la fuente de datos, llenaremos  los campos ID usuario y  la contraseña de la fuente de datos, también es importante seleccionar el origen de datos que fue instalado en este caso el de postgreSQL.


Podemos probar la conexión antes de generarla para estar seguros de lo que se hizo, una vez se realice la prueba se presiona el botón aceptar .













3) 
Al estar concretada la conexión en el editor de script encontramos la sentencia que realiza la conexión.


ODBC CONNECT TO PostgreSQL35W
También se especifica de forma encriptada el nombre de usuario y la contraseña de la fuente de datos.
(XUserId is YBVQEYdNTDdOGZVMTbSAXPassword is aHQGIFVOBTbWE)












* TIPO DE FUENTE DE DATOS QLIKVIEW



Haciendo referencias a los tipos de fuentes de datos que necesita QlikView para trabajar, diremos que no necesariamente se necesita una Base de datos especifica, o un almacén de datos (DTWH) para obtener datos y podes trabajar, aun asi los datos deben estar en alguna fuente o repositorio de donde se pueda obtener información y QlikView pueda acceder a ella y permitir visualizarla



Los tipos de fuente de datos mas frecuentes son:

  • Archivos Excel (.XLS)
  • Archivos planos de texto(.TXT)
  • Bases de datos 
También existen los los archivos QlikView Data(.QVD), que son archivos que almacenan información directamente de una aplicación QlikView, previamente extraídas de alguna fuente de datos y el cual se puede re utilizar en otra aplicación, regularmente este proceso se utiliza dentro de una estructura correcta para el desarrollo de aplicaciones en QlikView donde tenemos una extracción directamente de la fuente de datos, para después cargar los datos dentro de una aplicación, claro esta que existen otras estructuras de desarrollo como Extracción, transformación y modelado de datos o simplemente la carga de la data directamente en la aplicación final.


Aprenderemos a crear archivos QVD, Alimentar QlikView desde una fuente de datos y crear una estructura de desarrollo.



Anexos :(DTWH) Data Warehouse , Conexión a una Base de datos ,


* QUE ES QLIKVIEW?




Hola a todos, en esta mi primera publicación haré énfasis en tener claro el concepto básico para entender de que vamos a hablar: ¿Que es QlikView?



QlikView es una herramienta para el desarrollo de aplicaciones de Inteligencia de Negocio(BI), que permite el acceso a información y análisis de un modelo de negocio para mejorar y hacer optima la toma de decisiones , comportamiento y desempeño de una compañía. 

QlikView quiere descubrirse como una herramienta de descubrimiento del negocio en lugar de descubrimiento de datos, Osea descubrir cosas sobre el negocio es mas importante que descubrir datos.