Post on 29-Jun-2015
Como Implementar un Data Warehouse de manera paulatinaEnrique Iglesiasenrique@credimas.com.ar
#GX2508
¿Situaciones comunes?• “Tenemos muchísimos Datos en los sistemas, pero nos falta
Información para decidir”– ¿Qué hacemos?
• “La implementación del Data Warehouse parece muy compleja hay muchas opciones, pero no tenemos tiempo para aprender y necesitamos resultados rápidos”– ¿Cómo lo hacemos?
• “Lo logramos!!! tenemos el Data Warehouse funcionando, pero ahora no es suficiente los usuarios quieren más”– ¿Cómo seguimos?
Temas a tratar
¿Qué es un Data Warehouse?
• “Es un Repositorio de Datos organizado de manera de facilitar el análisis de los mismos para obtener Información”
• Los datos están organizados en:– “Indicadores”: son valores numéricos que permiten medir la
performance del Negocio– “Dimensiones”: son perspectivas o filtros sobre los cuales puede
analizarse los indicadores
¿Qué es un Data Warehouse?
• Para representar los Datos se utiliza un “Modelo Dimensional”, dicho modelo puede tener esquema:– “Copo de Nieve (Snowflake)”– “Estrella (Star)”
• Los datos pueden o no estar resumidos en el Data Warehouse
¿Qué Problemas se presentan?
• El “Modelo Dimensional” es diferente al “Modelo Relacional” al que estamos acostumbrados por lo cual hay que aprender algo nuevo.
• La conversión de un modelo a otro requiere un programa de conversión (ETL) que puede ser difícil de desarrollar.
¿Qué Problemas se presentan?
• Se requiere tiempo para aprender y desarrollar pero también es necesario mostrar resultados.
• A medida que comienza a utilizarse el Data Warehouse surgen nuevas necesidades que implican incorporar Dimensiones e Indicadores, por lo cual el diseño debe permitir adaptación constante.
¿Cómo Implementarlo con Éxito?
• Utilizar una metodología Incremental atacando paulatinamente un Producto o Proceso de Negocio por vez:Etapa Producto / Proceso Resultado Obtenido
1 Clientes Registrados Data Mart Clientes
2 Negocios Registrados Data Mart Negocios
3 Adelantos en Efectivo Data Mart Adelantos
4 Compras en Comercios Data Mart Compras
5 Pagos de Resumen Data Mart Resumen
6 Débitos Automáticos Data Mart Débitos
7 Rechazos en Compras Data Mart Rechazos
8 Alertas SMS Data Mart SMS
9 Facturación a Clientes Data Mart Facturación
10 ….. ……
¿Cómo Implementarlo con Éxito?
• Aplicando la metodología fuimos generando las siguientes iteraciones:
1. Nuevo Data Mart Clientes: 5 Indicadores y 10 Dimensiones2. Nuevo Data Mart Negocios: 3 Indicadores y 8 Dimensiones3. Ampliación Data Mart Clientes: 10 Indicadores y 30 Dimensiones4. Nuevo Data Mart Adelantos: 3 Indicadores y 15 Dimensiones 5. Ampliación Data Mart Clientes: 16 Indicadores y 75 Dimensiones6. ….20. Data Warehouse Integrado: actualmente nuestro Data Warehouse
posee 70 indicadores y 200 dimensiones
¿Cómo Implementarlo con Éxito?
• Utilizar un esquema tipo Estrella ya que permite crecer más fácilmente en Dimensiones.
– Esquema Copo de Nieve (Snowflake) para las Dimensiones de Fecha:1. Año [dwAnio.AnioDsc]2. Mes Letras [dwMes.MesDsc]3. Fecha (DD/MM/AAAA) [dwDia.AnioMesDia]4. Día de la Semana [dwDiaSem.DiaSemDsc]
¿Cómo Implementarlo con Éxito?
– Equema Estrella (Star) para las Dimensiones de Fecha:1. Año [dwDate.DateYear]2. Mes Letras [dwDate.DateCMonth]3. Fecha (DD/MM/AAAA) [dwDate.DateDes]4. Día de la Semana [dwDate.DateCDow]5. Mes Número [dwDate.DateMonth]6. Día Número [dwDate.DateDay]7. Año/Mes (AAAA/MM)
[dwDate.DateYYMM]8. Mes Abreviado (mmm-AA)
[dwDate.DateCMes]9. Año Contable [dwDate.DateYCont]
¿Cómo Implementarlo con Éxito?
• No Resumir los datos en el Data Warehouse por ninguna dimensión, de esta manera el diseño es mas flexible para la incorporación de nuevas dimensiones.
¿Cómo Implementarlo con Éxito?
• Clientes Registrados:Dimensión Geografica
Provincia ClienteZona ClienteCP Cliente (Código Postal)Localidad Cliente
Indicadores Clientes
Cantidad ClienteSueldo $ ClienteLCM $ ClienteLCM disp $ ClienteLCT $ ClienteLCT disp $ ClientePago Total $ ClienteDeuda Futuro $ ClienteDeuda Total $ ClienteDeuda Anterior $ ClienteDeuda del Mes $ Cliente
Dimensión Comportamiento
Tipo ClienteActividad ClienteInactividad ClienteEstratos Atraso ClienteDias Atraso ClientePagos Cliente
Dimensión Margenes
%Disp. Mensual Cliente%Disp. Total ClienteLCM Estratos ClienteLCT Estratos ClienteLCM M100 ClienteLCT M100 Cliente
Dimensión Productos
Adelantos ClientePlanes s/Interes ClientePlanes c/Interes ClientePlan 1 Cta ClientePago Servicios ClienteDebitos ClienteSeguros ClienteSMS Cliente
Dimensión Filiatoria
Sexo ClienteEstado Civil ClienteEdad Estratos ClienteEdad Años CLienteEdad Meses ClienteApellido y Nombre Cliente
Dimensión Cuenta
Modalidad ClienteOcupacion ClienteCant. Adicionales ClienteSueldo Estratos ClienteEstratos Antigüedad ClienteAños Antigüedad ClienteMeses Antigüedad ClienteCanal ClienteFF ClienteFecha Alta AñoFecha Alta MesFecha Alta DiaCódigo ClienteSueldo M100 Cliente
Dimensión Facturación
Condición ResumenCausa ResumenPago Total Estratos
¿Cómo Implementarlo con Éxito?
• Adelantos en Efectivo:
Indicadores Adelantos
Cantidad AdelantosImporte Total $ AdelantosInteres Total $ AdelantosImporte Cuota $ AdelantosCosto $ AdelantosCapital Cuota $ AdelantosInteres Cuota $ Adelantos
Dimensión Horas
Hora HHHora HH:MMDimensión Provincias
Nombre Provincia
Dimensión Sucursales
Nombre SucursalProvincia Sucursal
Dimension Cuotas
CuotaProducto Cuota
Dimensión Montos
Estratos MontosDesc MontosM100 Montos
Dimensión Tipos
Producto TipoGrupo TipoDesc Tipo
Dimensión Fechas
Fecha AñoFecha MesFecha DíaFecha CMesFecha Día SemanaFecha (AAAA-MM-DD)Fecha (AAAA-MM)Fecha Año PresentaciónFecha Mes Presentación
Dimensión Cliente
Dimensión Geografica ...Dimensión Filiatoria ...Dimensión Comportamiento ...Dimensión Margenes ...Dimensión Cuenta ...Dimensión Productos ...Dimensión Facturación ...
Dimensión Canales
Tipo CanalAbrev CanalAtencion CanalDesc CanalRed CanalID Canal
Dim. Geografica
Provincia Cliente...
Dim. Filiatoria
Sexo Cliente... Dim. Comportamiento
Tipo Cliente...
Dim. Margenes
%Disp. Mensual Cliente...
Dim. Cuenta
Modalidad Cliente...
Dim. Productos
Adelantos Cliente...
Dim. Facturacion
Condición Resumen...
¿Cómo hacerlo en GeneXus?
• Desarrollar el ETL en GeneXus• Con Gxplorer / GXquery
– Crear Metadata con “Paradigma Atributos” en GXplorer Manager o con GXquery Manager
– Acceder desde GXplorer / GXquery
•Con Objeto Query– Crear Objetos Query con las consultas a realizar– Crear WebPanel conteniendo un QueryViewer
¿Cómo hacerlo en GeneXus?
• Desde Gxplorer / GXquery:
¿Cómo hacerlo en GeneXus?
• Desde Objeto Query:
Resumiendo …
Paulatinamente por Producto o Proceso1Modelo Dimensional Esquema Estrella2No Resumir por ninguna Dimensión3
Para profundizar los conceptos• Artículos Interesantes: www.kimballgroup.com• Libros:
• Conferencias relacionadas• BI AGIL + SaaS + Cloud = TDA, Sala 2A Martes 12:15• Sacándole el jugo al Objeto Query, Sala 2A Martes 10:30• Una nueva forma de hacer consultas con GXplorer 7.0, Sala 2A Martes
11:00
• Enrique Iglesias, Gerente de Sistemas, Credimas S.A. enrique@credimas.com.ar
MUCHA GRACIAS