Business Intelligence Microsoft SQL Server
Diseño de un Data Mart
Temas:
1. El Diseño Tradicional vs. Business Intelligence
2. Criterios de Agrupación de Información
3. ¿Qué Analizo? ¿Qué Mido?
4. ¿Cuál es el Nivel de Detalle?
5. Las Funciones de Agregación
6. Documentación Elementos del Diseño
7. El Modelo Físico del Data Mart
8. Herramientas de Diseño BI
9. Caso de Diseño
Business Intelligence Microsoft SQL Server
Diseño de un Data Mart
Temas:
1. El Diseño Tradicional vs. Business Intelligence
2. Criterios de Agrupación de Información
3. ¿Qué Analizo? ¿Qué Mido?
4. ¿Cuál es el Nivel de Detalle?
5. Las Funciones de Agregación
1.1. Diferencias de diseño entre los sistemas tradicionales y los
sistemas de BI
El Diseño Tradicional vs. Business Intelligence
1.1. Diferencias de diseño entre los sistemas tradicionales y los
sistemas de BI
El Diseño Tradicional vs. Business Intelligence
Criterios de Agrupación de Información
Laboratorio Nº 1
Desarrolle el siguiente laboratorio e intercambie
los resultados entre sus compañeros, lo que le
permitirá obtener valiosas conclusiones
Tiempo Estimado
5 minutos
Criterios de Agrupación de Información
Ejercicio 1 : Crear Dimensiones
Se desea obtener indicadores de rendimiento de los
empleados de la corporación.
Los reportes de evaluación de los empleados deben ser
totalizados de acuerdo a las divisiones
organizacionales y regiones geográficas de la
corporación.
Cada empleado trabaja para una división
organizacional. A su vez, cada empleado pertenece a
una ciudad, y cada ciudad está contenida en una
región.
¿Cuál es la manera de definir los niveles de la dimensión
Empleado?
Criterios de Agrupación de Información
Solución : Crear Dimensiones
Existen dos (2) jerarquías: Región y División en la Dimensión
Empleado
Jerarquía : Empleado- Jerarquía : Empleado-
a. Empleado.Región Región División
▪ Región
▪▪ Ciudad Región
▪▪▪ Empleado
b. Empleado.División
Ciudad División
▪ División
▪▪ Empleado
Atributo
Empleado
Business Intelligence Microsoft SQL Server
Diseño de un Data Mart
Temas:
1. El Diseño Tradicional vs. Business Intelligence
2. Criterios de Agrupación de Información
3. ¿Qué Analizo? ¿Qué Mido?
4. ¿Cuál es el Nivel de Detalle?
5. Las Funciones de Agregación
3.1 Concepto Tabla de Hechos
Hechos
Cada tabla de hechos está enlazada con múltiples tablas
de dimensión.
Los datos de la tabla de hechos generalmente no son
duplicados en diferentes Data marts. Si existen serán uno
a nivel de detalle y otros consolidados (sumarizados).
Se requiere que los nombre de los hechos (medidas) sean
únicos y con una interpretación clara e inequívoca.
Beneficio, costos, precio, medidas de calidad,
Medidas de satisfacción del cliente.
Debe utilizarse las mismas unidades de medida
Cantidad de fabricación de un producto (kilos) y
Unidades (latas por ejemplo) del mismo en el almacén.
¿Qué Analizo? ¿Qué Mido?
3.1 Concepto Tabla de Hechos
Medidas
La medida o indicadores
por su parte, son todas
aquellas cifras ofrecidas
por los sistemas origen en
el evento que
identificaremos como un
hecho, y que permiten a
los usuarios observar
cuantitativamente le
desenvolvimiento de su
negocio.
¿Qué Analizo? ¿Qué Mido?
3.1 Concepto Tabla de Hechos
Medidas
Son los valores de negocio por los que querremos analizar nuestra
organización (importe ventas, margen, rentabilidad).
Son columnas numéricas que queremos analizar y provienen
directamente de los sistemas OLTP.
Cuando definimos una medida debemos tener en cuenta cual será la
forma de agregación (agrupación de la misma) al subir por la
estructura dimensional.
Medidas
¿Qué Analizo? ¿Qué Mido?
3.1 Concepto Tabla de Hechos
Medidas – consideraciones
Estas formas de agregación pueden ser:
– Suma (SUM)
– Cuenta (COUNT)
– Mínima (MIN)
– Máxima (MAX)
– Cuenta de Distintos (Discount Distinct)
Siempre que se pueda, las medidas que se elijan deben ser aditivas
Hay otras medidas que no son aditivas según ninguna dimensión
temperaturas, precios unitarios, …
Las medidas no aditivas pueden agregarse calculando valores medios.
Hay casos en que interesa valorar la ocurrencia o no de un suceso, su actividad
puede conseguir mediante los valores 1 ó 0
Comunicación (SI ó NO), supervisión (SI ó NO)
¿Qué Analizo? ¿Qué Mido?
¿Qué Analizo? ¿Qué Mido?
En el ejemplo que venimos desarrollando, las
medidas de interés en una venta podrían ser:
• El valor total de la venta
• La cantidad de unidades vendidas
• El porcentaje de impuestos
• El porcentaje de utilidad obtenido, entre otros
Business Intelligence Microsoft SQL Server
Diseño de un Data Mart
Temas:
1. El Diseño Tradicional vs. Business Intelligence
2. Criterios de Agrupación de Información
3. ¿Qué Analizo? ¿Qué Mido?
4. ¿Cuál es el Nivel de Detalle?
5. Las Funciones de Agregación
4.1. Granularidad
Representa el nivel de detalle al que se desea almacenar la información
sobre el negocio que se esté analizando.
Ejemplos:
Los datos referentes a ventas realizadas por una empresa, pueden
registrarse día a día, en cambio, los datos pertinentes a pagos de
sueldos o cuotas de socios, podrán almacenarse a nivel de mes.
Mientras mayor sea el nivel de detalle de los datos, se tendrán
mayores posibilidades analíticas.
En resumen si la granularidad con que se guardan los registros es a
nivel de día, estos datos podrán sumarizarse por semana, mes,
semestre y año; en cambio, si estos registros se almacenan a nivel
de mes, podrán sumarizarse por semestre y año, pero no lo podrán
hacer por día y semana.
¿Cuál es el Nivel de Detalle?
Business Intelligence Microsoft SQL Server
Diseño de un Data Mart
Temas:
6. Documentación Elementos del Diseño
7. El Modelo Físico del Data Mart
8. Herramientas de Diseño BI
9. Caso de Diseño
6.1. Documento de Planificación y Diseño
Los entregables de diseño de un Data Mart son:
1. Documentación del Diseño de las estructuras multidimensionales.
Documentación Elementos de Diseño
6.2. Documento de Transformación
Los entregables de diseño de un Data Mart son:
2. Documentación de los procesos de extracción, transformación y
carga de datos al Data Mart.
Documentación Elementos de Diseño
Business Intelligence Microsoft SQL Server
Diseño de un Data Mart
Temas:
6. Documentación Elementos del Diseño
7. El Modelo Físico del Data Mart
8. Herramientas de Diseño BI
9. Caso de Diseño
7.1. Tablas de Dimensión
Las dimensiones se almacenan en
tablas.
Generalmente, cada nivel representa
una columna en la tabla de dimensión.
Una tabla de dimensión posee una Uno a muchos
columna clave (PK), comúnmente auto-
generada (Tipo: Integer).
Código
autogenerado
Una tabla de dimensión contiene Vendedor (PK)
columnas que almacenan los
Ids/códigos de cada registro en sus
sistemas de origen.
Tienen una relación uno a muchos con la
tabla de hechos (fact table).
El Modelo Físico del Data Mart
7.1. Tablas de Dimensión
Recomendaciones
Con los atributos de las dimensiones se definen las agregaciones
Saber las unidades vendidas este año de un articulo en fin de semana
Es normal que una dimensión tenga 50 ó más atributos descriptivos
Generalmente, una estrella no tiene mas de 15 tablas de dimensión
Un exceso de dimensiones (más de 25) denota que varias no son
independientes.
En este caso, deben combinarse en dimensiones más simples.
Al compartir dimensiones, puede suceder que éstas no tenga el mismo nivel de
detalle en todas las estrellas.
Sin dimensiones conformadas, el data Warehouse no podrá funcionar como un todo.
Las tablas jerarquizadas de un copo de nieve pueden ser dimensiones de otras
estrellas
El Modelo Físico del Data Mart
7.2. Tablas de Hechos
Es la tabla primaria del modelo
dimensional, y contiene los valores del
negocio que se desea analizar.
Contiene las claves externas (FK), que
se relacionan con sus respectivas tablas
de dimensiones, y las columnas con los
valores (métricas) que serán analizados.
Claves
Externas
(FK)
El modelo dimensional divide el mundo
de los datos en dos grandes tipos: las
medidas y las dimensiones de estas Medidas
medidas.
Las medidas, siempre son numéricas,
se almacenan en las tablas de hechos y
las dimensiones que son textuales se
almacenan en las tablas de dimensiones.
El Modelo Físico del Data Mart
7.2. Tablas de Hechos
Cálculos definidos en la tabla de hechos
Precalculado sencillo: Pueden existir columnas que se calculen a partir de los datos de otras
columnas en la misma fila.
Una columna que exprese el precio descontado, a partir de una operación aritmética efectuada con
las columnas Precio y PorcentajeDescuento.
Precalculado múltiple: Puede definirse una columna que almacene un valor acumulado a partir de
varias filas.
Una columna que almacene el total de ventas para el producto cuya clave es dos.
El Modelo Físico del Data Mart
7.3. Tipos de Modelamiento
A. Modelo estrella (Star)
Consta de una tabla de hechos central y de varias tablas de dimensiones relacionadas a esta, a
través de sus respectivas claves.
Debe estar totalmente desnormalizado, es decir que no puede presentarse en tercera forma
normal (3ra FN).
El Modelo Físico del Data Mart
7.3. Tipos de Modelamiento
A. Modelo estrella (Star)
Características
– Posee los mejores tiempos de respuesta.
– Su diseño es fácilmente modificable.
– Existe paralelismo entre su diseño y la forma en que los usuarios
visualizan y manipulan los datos.
– Simplifica el análisis.
Inconvenientes
– Este modelo es el menos robusto para la carga y es el más lento
de construir.
El Modelo Físico del Data Mart
7.3. Tipos de Modelamiento
B. Modelo Copo de Nieve (Snowflake)
Representa una extensión del modelo en estrella, en el que las tablas de dimensión
se normalizan en múltiples tablas.
El Modelo Físico del Data Mart
7.3. Tipos de Modelamiento
B. Modelo Copo de Nieve (Snowflake)
Características
– Posee mayor complejidad en su estructura.
– Hace una mejor utilización del espacio.
– Es muy útil en tablas de dimensiones de muchas tuplas.
– Las tablas de dimensiones están normalizadas, por lo que requiere menos esfuerzo de
diseño.
– Puede desarrollar clases de jerarquías fuera de las tablas de dimensiones, que
permiten realizar análisis de lo general a lo detallado y viceversa.
Inconvenientes
– Si se poseen múltiples tablas de dimensiones, cada una de ellas con varias jerarquías,
se creará un número de tablas bastante considerable, que pueden llegar al punto de
ser inmanejables.
– Al existir muchas uniones y relaciones entre tablas, el desempeño puede verse
reducido.
– Las existencia de las diferentes jerarquías de dimensiones debe estar bien
fundamentada, ya que de otro modo las consultas demorarán más tiempo en devolver
los resultados, debido a que se deben realizar las uniones entre las tablas.
El Modelo Físico del Data Mart
7.3. Tipos de Modelamiento
C. Constelación
Compuesto por una serie de esquemas en estrella.
Formado por una tabla de hechos principal (“HECHOS_A”) y por una o más tablas de hechos
auxiliares (“HECHOS_B”), las cuales pueden ser sumarizaciones de la principal. Dichas tablas
yacen en el centro del modelo y están relacionadas con sus respectivas tablas de dimensiones.
Su diseño y cualidades son muy similares a las del esquema en estrella
El Modelo Físico del Data Mart
7.3. Tipos de Modelamiento
C. Constelación
Características:
– No es necesario que las diferentes tablas de hechos compartan las
mismas tablas de dimensiones.
– Permite tener más de una tabla de hechos, por lo cual se podrán
analizar más aspectos claves del negocio con un mínimo esfuerzo
adicional de diseño.
– Contribuye a la reutilización de las tablas de dimensiones, ya que
una misma tabla de dimensión puede utilizarse para varias tablas de
hechos.
Desventajas:
– No es soportado por todas las herramientas de consulta y análisis.
El Modelo Físico del Data Mart
7.3. Tipos de Modelamiento
Diferencias entre los modelos Star y SNOWFLAkE
Características Modelo Star Modelo Snowflake
Diseño Tabla Dimensión Desnormalización Normalización
Joins (combinación) Alto número de joins Menor número de joins
Fácil uso Más Queries complejos por lo Menos Queries complejos y
tanto menos fácil de entender. fácil de entender
Rendimiento Query Más llaves foráneas (FK) y por lo Menos llaves foráneas (FK) y por
tanto más tiempo de ejecución en lo tanto menos tiempo de
los queries. ejecución en los queries.
Fácil No redundante por lo tanto más Tiene redundancia de datos por
mantenimiento/cambios fácil de mantener y cambiar. lo tanto menos fácil de
mantener y cambiar
Tipo Datawarehouse Bueno para Bueno para datawarehouse
datawarehouse/datamarts grande.
pequeño.
El Modelo Físico del Data Mart
El Modelo Físico del Data Mart
Ejemplo : Modelo Star
El Modelo Físico del Data Mart
Ejemplo : Modelo SNOWFLAKE
El Modelo Físico del Data Mart
Ejemplo : Modelo Constelación
Business Intelligence Microsoft SQL Server
Diseño de un Data Mart
Temas:
6. Documentación Elementos del Diseño
7. El Modelo Físico del Data Mart
8. Herramientas de Diseño BI
9. Caso de Diseño
8.1. Star Net
Herramientas de Diseño
8.1. Matriz Bus de Kimball
Herramientas de Diseño
Business Intelligence Microsoft SQL Server
Diseño de un Data Mart
Temas:
6. Documentación Elementos del Diseño
7. El Modelo Físico del Data Mart
8. Herramientas de Diseño BI
9. Caso de Diseño
Diseño de un Data Mart en SQL Server
Caso Nº 1
Desarrolle el siguiente laboratorio e intercambie
los resultados entre sus compañeros, lo que le
permitirá obtener valiosas conclusiones
Tiempo Estimado
15 minutos
Diseñe las dimensiones, las medidas y el modelo de datos
El área de tarjetas de crédito de un banco desea implementar un Data
Mart. Tabla de hechos
a) Se desea visualizar la información de créditos concedidos y pagos hasta llegar
a cada tarjeta.
Medidas/ Nivel de granularidad
b) Las tarjetas pueden ser de dos tipos: “VISA” y “MASTERCARD”.
También se clasifican por :Clásica, Oro y Platinium Dimensión : Atributos, Jerarquías y
niveles; y Miembros
a) También se desea visualizar los créditos y pagos por cada vendedor y cada
cliente.
Medidas / Dimensiones
b) Cada cliente pertenece a un distrito, cada distrito a una provincia y cada
provincia a un departamento. Dimensión : Atributos, Jerarquía y Niveles
c) Cada vendedor pertenece a una agencia, y cada agencia pertenece a un
distrito, cada distrito a una provincia y cada provincia
Dimensión a un departamento.
: Atributos, Jerarquía y Niveles
d) Las métricas deben visualizarse como totalizados anuales, semestrales,
trimestrales y mensuales. Dimensión : Atributos, Jerarquía y Niveles
Casos de Diseño
Solución : Definir Dimensiones (Jerarquías, niveles y atributos)
a. Cliente c. TipoTarjeta.Tipo Tarjeta
▪ Departamento ▪ Tipo Tarjeta Dimensión
▪▪ Provincia ▪▪ Nro.Tarjeta Tipo
Tarjeta
▪▪▪ Distrito
▪▪▪▪ nombre Cliente d. TipoTarjeta.ClasificaciónTarjeta
▪ Clasificación
b. Vendedor ▪▪ Nro.Tarjeta
▪ Departamento
▪▪ Provincia
▪▪▪ Distrito e. Tiempo
▪▪▪▪ Agencia ▪ Año
▪▪▪▪▪ Nombre Vendedor ▪▪ Semestre
▪▪▪ Trimestre
▪▪▪▪ Mes
Casos de Diseño
Solución : Definir Matriz Bus
Métricas\ Dimensiones Cliente Vendedor Tiempo Tarjeta
Créditos concedidos X X X X
Pagos X X X X
Casos de Diseño
Solución : Definir Star Net
Cliente
Nombre Cliente
Distrito Tipo de Tarjeta
Nro. Tarjeta
Provincia
Tipo Tarjeta Cliente
Dimensiones
Departamento Clasificación de
tarjeta
Hecho Tarjetas de
Crédito
Departamento
Provincia
Distrito
Año Agencia Nombre Vendedor
Vendedor
Semestre
Trimestre
Mes Tiempo
Casos de Diseño
Solución : Definir Modelo Star
Llave dimensión
Llave autogenerada
Transaccional
Atributos
jerarquía
Descripción de llave
Transaccional
Casos de Diseño
Diseño de un Data Mart en SQL Server
Caso Nº 2
Desarrolle el siguiente laboratorio e intercambie
los resultados entre sus compañeros, lo que le
permitirá obtener valiosas conclusiones
Tiempo Estimado
30 minutos
Diseñe las dimensiones, las medidas y el modelo de datos
Una entidad de Salud Publica desea proveer una solución de análisis de
información a las diferentes gerencias que les permita medir la eficiencia en la
gestión de citas y el rendimiento de atención en las farmacias. Tabla de Hechos
a. Para la gestión de citas medicas se efectuara seguimiento al número de
citas atendidas, índice de deserción de los asegurados a sus citas, días
diferidos entre citas médicas por problemas de gestión en la reserva de
citas. Métricas
b. Asimismo debe medirse por asegurados y por médicos; existen dos
clasificaciones de asegurados: Tipo de Asegurados (regulares,
potestativos, pensionistas, terceros) y Tipo de Parentesco (Titular,
derecho habiente). Los médicos son de dos tipos : residentes y externos.
También se desea visualizar a los médicos por especialidad.
Dimensiones : Atributos, Jerarquías y niveles; y Miembros
,
c. Los reportes deben mostrar las medidas por centro asistencial, cada
centro asistencial pertenece a una red asistencial, cada red asistencial
pertenece a un departamento. Dimensiones : Atributos, Jerarquías y niveles
,
Casos de Diseño
Diseñe las dimensiones, las medidas y el modelo de datos
d. Medir el rendimiento de atención en las farmacias requiere el análisis
comparativo entre número de recetas atendidas y no atendidas para
conocer el motivo por el cual las farmacias no atendieron el
requerimiento. Se efectuara también el seguimiento al consumo de
medicamentos por especialidad y medico para determinar que
médicos prescriben mayor cantidad de recetas Métricas
e. Estos indicadores deben visualizarse por farmacia, centro
asistencial y médicos. Los centros asistenciales y los médicos se
clasifican de manera idéntica que en el caso expuesto para las
métricas de eficiencia de la gestión de citas.
Dimensiones : Atributos, Jerarquías y niveles; y Miembros
Todas las medidas se deben visualizar por totalizados anuales,
semestrales, trimestrales y mensuales. Dimensiones : Atributos,
Jerarquías y niveles
Casos de Diseño
Solución : Definir Dimensiones (Jerarquías, niveles y atributos)
a. Farmacia e. Medico.TipoMedico
▪▪ Farmacia ▪ Tipo Medico Dimensión
▪▪ Médico Médico
b. Asegurado.TipoAsegurado
▪ Tipo Asegurado f. Medico.Especialidad
▪▪ Asegurado ▪ Especialidad
▪▪ Médico
Dimensión
b. Asegurado.TipoParentesco Asegurado
▪ Tipo parentesco g. Centro Asistencial
▪▪ Asegurado ▪ Departamento
▪▪ Red asistencial
c. Tiempo ▪▪▪ Centro asistencial
▪ Año
▪▪ Trimestre d. Estado Recetas
▪▪▪ Semestre ▪ Estado Recetas
▪▪▪▪ Mes
Casos de Diseño
Solución : Definir Matriz Bus
Métricas\ Dimensiones Centro Médico Asegurado Farmacia Estado Tiempo
Asistencial Recetas
Citas atendidas X X X X
Índice deserción X X X X
Días diferidos X X X X
Consumo de X X X X X
medicamentos
Rendimiento recetas X X X X X
Casos de Diseño
Solución : Definir Star Net (Gestión de citas)
Centro Asistencial
Nombre Centro
Asistencial
Red Asistencial Médico
Nombre Medico
Departamento
Tipo Medico
Dimensiones
Especialidad
Gestión
Hecho Citas
Tipo Asegurado
Tipo Parentesco
Nombre Asegurado
Año Asegurado
Semestre
Trimestre
Mes Tiempo
Casos de Diseño
Solución : Definir Star Net (Atención de Farmacias)
Centro Asistencial
Nombre Centro
Asistencial
Red Asistencial Médico
Departamento Nombre Medico
Tipo Medico
Dimensiones
Especialidad
Farmacia
Farmacia
Atención
Hecho Farmacias
Nombre Estado
Estado Recetas
Año Receta
Semestre
Trimestre
Mes Tiempo
Casos de Diseño
Solución : Definir Modelo Star
Dimensión
Asegurado Dimensión
Tiempo Dimensión Farmacia Dimensión Estado
Id_Asegurado Receta
Id_Tiempo Id_Farmacia
Id_EstadoReceta
CódigoAsegurado Fecha
NombreFarmacia NombreEstadoReceta
Tabla Hechos Año
TipoAsegurado Eficiencia Citas
Semestre
TipoParentesco
Id_tiempo Trimestre
Nombre Asegurado Mes Tabla de Hechos Eficiencia
Id_CentroAsistencial
Farmacia
id_medico
Id_tiempo
Id_Asegurado
Dimensión Centro
Id_CentroAsistencial
Citas atendidas Asistencial
Dimensión Médico id_medico
Índice deserción id_centroAsistencial
Id_Medico Id_Farmacia
Días diferidos Centro Asistencial
NombreMedico Id_EstadoReceta
Red Asistencial
TipoMedico Consumo de medicamentos
Departamento
Especialidad Rendimiento recetas
Casos de Diseño
Diseño de un Data Mart en SQL Server 2008
Caso Nº 3
Desarrolle el siguiente laboratorio e intercambie
los resultados entre sus compañeros, lo que le
permitirá obtener valiosas conclusiones
Tiempo Estimado
30 minutos
Diseñe las dimensiones, las medidas y el modelo de datos
Una empresa de transportes desea implementar un data mart.
Se desea visualizar la información de ventas hasta llegar a cada boleto.
Cada boleto pertenece a una ruta. Por ejemplo : ¨Lima-Ica¨,¨ Arequipa-
Puno¨, etc.
También se desea visualizar las ventas, costos y gastos asociados con cada
bus, empleado y agencia.
Cada bus ha sido producido por un fabricante, por ejemplo, ¨Mercedes
Benz¨.
Cada empleado puede ser ¨piloto¨, ¨asistente de servicio en bus¨ o
¨Administrativo¨.
Cada agencia pertenece a una ciudad y cada ciudad a un departamento.
Las métricas deben visualizarse como totalizados anuales, semestrales,
trimestrales y mensuales.
Diseñe las dimensiones, las medidas y los modelos de datos STAR y SNOWFLAKE.
Casos de Diseño