Está en la página 1de 24

Mejores Prcticas para el

Modelado de Datos
Objetivos
Entender por qu QlikView es diferente de SQL
Entender cmo funciona QlikView sin un
Datawarehouse
Adoptar las mejores prcticas de modelado de
datos que sean aplicables al caso
QlikView no es SQL
SQL:
SQL hace consultas
sobre tablas especficas
en un gran esquema.
Cada consulta crea un
nuevo esquema
temporal con solo
algunas tablas.
Los resultados de cada
consulta son
independientes.
QlikView no es SQL
QlikView:
QlikView construye
esquemas mas
pequeos y amigables
para hacer reportes
desde la base de datos
transaccional.
Este esquema es
persistente y reacciona
como un todo ante las
consultas del usuario.
Una seleccin afecta a
todo el esquema.
QlikView no es SQL
Agregacin y Granularidad
Tabla
Store
Tabla
Sales
SELECT *
FROM STORE A,
SALES B
WHERE A.STORE = B.STORE
Note que la expresin
SUM(SqrFootage) devolver 4600
La nica forma de obtener el valor
correcto es consultar la tabla Store por
separado!
Store SqrFootage
A 1000
B 800
Store Prod Price Date
A 1 1,25 01/01/2012
A 2 0,75 01/02/2012
A 3 2,50 01/03/2012
B 1 1,25 01/04/2012
B 2 0,75 01/05/2012
SqrFootage Store Prod Price Date
1000 A 1 1,25 01/01/2012
1000 A 2 0,75 01/02/2012
1000 A 3 2,50 01/03/2012
800 B 1 1,25 01/04/2012
800 B 2 0,75 01/05/2012
QlikView no es SQL
Beneficios:
QlikView le permite ver el resultado de una
seleccin a travs de todo el esquema y no solo en
un conjunto limitado de tablas.
QlikView agregar al nivel de granularidad de la
expresin y no del esquema como SQL.
Esto supone que el usuario podr interactuar con
un rango de datos mayor al que podra con SQL.
QlikView no es SQL
Desafos:
Varias consultas SQL pueden unir distintas tablas
de distintas maneras.
En QlikView hay una sola manera en que las
tablas pueden unirse en cada qvw.
Esto supone que el diseo del esquema es mucho
mas importante en QlikView.
Requerimientos
Los requerimientos siempre determinarn el
diseo del esquema.
Si no entiende completamente los
requerimientos, o estos no se encuentran
documentados apropiadamente, no debe
comenzar a programar.
Los requerimientos estn centrados en el
dominio del problema, no en el dominio de la
solucin
Datawarehouse Tradicional
Como utilizar Qlikview
Observaciones
No existe una sola forma correcta de modelado
de datos.
El modelado de datos depende completamente
de los requerimientos.
Las mejores practicas no son universales, deben
ser aplicadas a situaciones donde sea necesario.
A veces, inclusive, QlikView puede no ser la
solucin adecuada!
Modelado Relacional vs. Dimensional
Relacional Dimensional
Modelado Relacional vs. Dimensional
Relacional:
Esquemas complejos
Almacenamiento eficiente de los datos
Esquemas construidos rpidamente
Esquemas de fcil mantenimiento
Consultas mas complejas
Confusos para usuarios finales
Modelado Relacional vs. Dimensional
Dimensional:
Esquemas simples
Esquemas desnormalizados
Esquemas complejos de construir
Esquemas difciles de mantener
Consultas simples
Simples de entender para los usuarios finales
4 Pasos para el Modelado Dimensional
1. Seleccione el proceso de negocio a modelar
2. Determine la granularidad
3. Elija las dimensiones que aplican a cada fila de
cada tabla de hecho
4. Identifique los hechos numricos que poblarn
cada fila de cada tabla de hecho
Esquemas de Estrella Mltiples y
Dimensiones Conformadas
Proceso de
Negocio
Date Product Store Promotion Wharehouse Vendor Contract Shipper
Store Sales x x x x
Store Inventory x x x
Store Deliveries x x x
Wharehouse
Inventory
x x x x
Wharehouse
Delivery
x x x x
Purchase Orders x x x x x x
Dimensiones Comunes
Utilizacin de Archivos QVD para
Conformar las Dimensiones
Dimensiones Cambiantes
Los valores de las dimensiones pueden cambiar
a lo largo del tiempo.
Por ejemplo:
Reorganizacin de las zonas de la Fuerza de Venta
El CP 24829 era de la zona A1 pero a partir del 1ro
de Enero del 2012 paso a ser de la zona D3
Dimensiones Cambiantes
Tres formas para tratar estos casos:
1. Sobrescribir el valor original: Muy simple
Ahora todas las ventas del CP 24829 pasan a ser de la zona D3, sin
importar la fecha
2. Agregar una fila de dimensin agregando una clave:
Preserva la historia
1. Agregar una columna a la dimensin:
Permite la comparacin
ID CP Zona
123 24829 A1
124 24829 D3
CP Zona ZonaAnt
24829 D3 A1
Referencias Circulares
Cada vez que detectemos una rea en el visor de
tablas, nos encontraremos con una referencia
circular.
Referencias Circulares
Las referencias circulares son comunes en
QlikView porque solo tenemos una forma de
unir las tablas en cada archivo.
Cuando exista una referencia circular lo mejor es
eliminar la relacin que menos afecte al
resultado final.
De no ser posible la eliminacin de la relacin,
debemos recurrir a la concatenacin de las
tablas o a una tabla de relaciones.
Tablas de Relaciones
Las tablas de relaciones permiten esencialmente unir dos
o mas tablas de hechos con un conjunto de dimensiones
en comn, evitando asi las relaciones circulares.
Tablas de Relaciones
Preguntas?
Muchas Gracias!