1. “AÑO DE LA UNIVERSALIZACIÓN DE LA SALUD”
FACULTAD DE INGENIERIA DE SISTEMAS Y SOFTWARE
TEMA:
Construcción de un DATAMART en la empresa ROSITA S.A.C
CURSO:
INTELIGENICA DE NEGOCIO
INTEGRANTES:
Alumno 1
Alumno 2
Docente
ING. ALLENDE TAUMA, RENZO RODOLFO
Ciclo
VIII
2020
2. ANÁLISIS DE REQUERIMIENTOS [FASE 1 - HEFESTO]
Introducción
HEFESTO es una de las metodologías más reconocida, porque nos brinda una
propuesta basada en una gran investigación. Cabe resaltar que HEFESTO es una
metodología que está en constante evolución, ya que se toman en cuenta todas las
contribuciones que han hecho las personas cuando han utilizado esta metodología.
La primera fase de la metodología HEFESTO es el análisis de requerimientos, esta
etapa sirve para recolectar qué es lo que solicita nuestro cliente. Luego de ello
utilizaremos estos datos para identificar cuáles son nuestros indicadores y
perspectivas que tomaremos en cuenta para la construcción de nuestro Datamart.
Propósito y alcance
Desarrollar un modelo conceptual, que nos permita entender la importancia del
análisis de requerimientos en la construcción de un Datamart en la empresa ROSITA
SAC.
1. Identificación de preguntas
Se realizó la reunión con la gerente de ventas y área de ventas , así como
también con los usuarios que interactúan con la base de datos transaccionales
en la Empresa ROSITA SAC, en la reunión virtual se realizaron preguntas a
través de cuestionarios, la toma de decisiones en la gerencia de ROSITA SAC
abarca los procesos de generación de reportes para la visualización de las
áreas de la organización, planificación de ventas, compras, clientes fidelizados,
para la gerencia de la empresa es de vital importancia para el apoyo de toma
de decisiones, se busca pronosticar de manera anual, mensual o semanal el
número de ventas de sus principales productos de tal manera que se pondrá
determinar las ganancias que se obtendrán para futuras ventas, para Rosita
SAC el pronóstico de ventas les permitirá alcanzar las metas propuestas, a
continuación se describe las preguntas sobre el alcance del negocio y cada
proceso relacionado.
3. Preguntas relacionadas con el negocio realizado al administrador
1. Se quiere determinar qué empleado ha realizado más ventas en un tiempo
determinado.
2. Se quiere determinar qué cliente ha hecho más pedidos en un año determinado
3. Se quiere determinar qué categoría de productos son los más vendidos en un
mes determinado.
4. Se quiere determinar qué mes obtuvo mayores ventas en categoría bebidas.
5. Se quiere determinar qué proveedor abastece la mayor cantidad de productos
en un tiempo determinado.
6. Se quiere determinar el producto con mayor stock.
7. Se quiere determinar a qué país se realizaron más envíos.
8. Se quiere determinar qué compañía de envío realizó más entregas.
9. Se quiere determinar de qué ciudad son la mayor cantidad de clientes.
10.Se quiere determinar qué empleado tiene más clientes.
11.De qué ciudad es el proveedor más grande que tiene la empresa
12.Se quiere determinar la cantidad de productos vendidos por ciudad
13.Se quiere determinar la cantidad de productos vendidos por país
14.Se quiere determinar de qué país son la mayor cantidad de clientes.
15.Se quiere determinar la cantidad de ventas de productos por año.
16.Se quiere determinar la cantidad de ventas de productos por semana.
17.Se quiere determinar qué cargos de nuestros contactos tienen más ventas.
18.Se quiere determinar qué cliente ha hecho más pedidos en un mes.
19.Se quiere determinar qué categoría de productos son los más vendidos en un
año.
2. Indicación de Indicadores y Perspectivas
De las preguntas anteriores, se ha identificado los respectivos indicadores y
perspectivas de análisis.
NÚMERO DE VENTAS por EMPLEADO en un TIEMPO determinado.
NÚMERO DE VENTAS por CLIENTE en un AÑO determinado.
Indicador Perspectiva
Indicador Perspectiva
4. PRODUCTOS VENDIDOS por CATEGORIA en un MES determinado.
NUMERO DE VENTAS por CATEGORIA por MES determinado.
NUMERO DE PRODUCTOS por PROVEEDOR en un TIEMPO determinado.
NUMERO DE ENVIOS por PAIS en un TIEMPO determinado.
NUMERO DE ENVIOS por COMPAÑÍA en un TIEMPO determinado.
NUMERO DE CLIENTES por CIUDAD en un AÑO determinado.
NUMERO DE CLIENTES por EMPLEADO en un TIEMPO determinado.
NUMERO DE PRODUCTOS por CIUDAD DE PROVEEDOR en un AÑO determinado.
PRODUCTOS VENDIDOS por CIUDAD en un TIEMPO determinado.
PRODUCTOS VENDIDOS por PAIS en un TIEMPO determinado.
NUMERO DE CLIENTES por PAIS en un TIEMPO determinado.
Indicador Perspectiva
Indicador Perspectiva
Indicador Perspectiva
Indicador Perspectiva
Indicador Perspectiva
Indicador Perspectiva
Indicador Perspectiva
Indicador Perspectiva
Indicador Perspectiva
Indicador Perspectiva
Indicador Perspectiva
5. NUMERO DE VENTAS por PRODUCTOS por AÑO determinado.
NUMERO DE VENTAS por PRODUCTOS por SEMANAS determinadas.
NUMERO DE VENTAS por CARGO DE CONTACTO por un TIEMPO determinado.
NÚMERO DE VENTAS por CLIENTE en un MES determinado.
PRODUCTOS VENDIDOS por CATEGORIA en un AÑO determinado.
PROCESO DE PROYECCÍON DE VENTAS
INDICADOR PERSPECTIVA
Número de ventas
Empleado
Cargo de contacto
Productos
Categoría
Cliente
Número de Envíos
País del cliente
Compañía
Productos vendidos
Categoría
Ciudad del cliente
País del cliente
Número de productos
Proveedor
Ciudad de proveedor
Número de clientes
Ciudad del cliente
País del cliente
Empleado
Indicador Perspectiva
Indicador Perspectiva
Indicador Perspectiva
Indicador Perspectiva
Indicador Perspectiva
Fuente: Elaboración propia
6. 1. Modelo Conceptual
A partir de los indicadores y perspectivas que analizamos y encontramos de
las tablas anteriores, se construyó los modelos conceptuales, cada modelo lo
presentaremos a continuación, se encuentran hechas por las perspectivas de
análisis, hecho y respectivos indicadores.
En la siguiente figura se muestra el modelo conceptual para el hecho VENTAS,
que se encuentra compuesta por los respectivos: Clientes, pedidos, productos,
empleados, detalles de pedidos, categorías, compañías de envíos.
Número de ventas
Se obtiene calculando el total de ventas que realiza la tienda en un tiempo
determinado.
Número de envíos
Se calcula mediante el número de envíos que hacen las compañías que
contrata la empresa para llevar los pedidos.
Productos vendidos
Es la cantidad de productos que se registran en los pedidos que realiza la
tienda.
Número de productos
Se calcula mediante el número de productos que los proveedores envían para
abastecer la tienda.
Número de clientes
Se determina mediante el número de empresas que hacen pedidos a la tienda.
Fuente: Elaboración propia
7. ANÁLISIS DE DATA SOURCES [FASE 2 - HEFESTO]
Introducción: El análisis de data sources de la metodología HEFESTO nos permite
establecer como serán calculados los indicadores, con el fin de crear nuestras relaciones
correspondientes. Luego, desarrollaremos el modelo conceptual mas ampliado.
Propósito: Es la realización de un modelo conceptual ampliado, donde se muestra el
resultado de nuestro análisis de los OLTP, para la posterior construcción de la DATA.
I. Hechos e Indicadores
a. Total Número de Ventas
i. HECHOS: Número de Ventas
ii. Función de Sumarización: SUM
b. Total Número de Envíos
i. HECHOS: Número de Envíos
ii. Función de Sumarización: COUNT
c. Total Número de Productos
i. HECHOS: Número de Productos
ii. Función de Sumarización: SUM
d. Total Número de Clientes
i. HECHOS: Número de Clientes
ii. Función de Sumarización: SUM
e. Total Productos Vendidos
i. HECHOS: Productos Vendidos
ii. Función de Sumarización: SUM
II. Establecer correspondencias / Mapeo
En el Data Source de la empresa Rosita SAC el proceso de las ventas están hechas
por el siguiente Diagrama de Entidad Relación. Este diagrama, representa la
información a través de Entidades, Relaciones, Claves, Jerarquías y Atributos.
Fuente: Elaboración propia
8. La perspectiva Empleados se relaciona con la Tabla Empleado.
La perspectiva Cargo Contacto se relaciona con la Tabla Clientes.
La perspectiva Productos se relaciona con la Tabla Productos.
La perspectiva Categoría se relaciona con la Tabla Categorías.
La perspectiva Cliente se relaciona con la Tabla Clientes.
La perspectiva País del Cliente se relaciona con la Tabla Clientes.
La perspectiva Compañía se relaciona con la Tabla CompañiasDeEnvios.
La perspectiva Ciudad del Cliente se relaciona con la Tabla Clientes.
La perspectiva Proveedor se relaciona con la Tabla Proveedores.
La perspectiva Ciudad del Proveedor se relaciona con la Tabla Proveedores.
La perspectiva Tiempo se relaciona con el campo fechapedido de la Tabla Pedidos,
porque es la fecha principal en el proceso de ventas
El indicador Número de ventas se relaciona con el campo Idpedido de la Tabla
Pedidos, y su fórmula de cálculo es: SUM (IdPedidos)
El indicador Número de envíos se relaciona con el campo Idpedido de la Tabla
Pedidos, y su fórmula de cálculo es: COUNT (IdPedidos)
El indicador Número de productos se relaciona con el campo Idproducto de la Tabla
Productos, y su fórmula de cálculo es: SUM (Idproducto)
El indicador Número de clientes se relaciona con el campo Idcliente de la Tabla
Pedidos, y su fórmula de cálculo es: SUM (Idcliente)
El indicador Productos Vendidos se relaciona con el campo cantidad de la
detallespedidos, y su fórmula de cálculo es: SUM (Cantidad)
Fuente: Elaboración Propia
9. III. Nivel de Granularidad
Perspectiva Clientes – Perspectiva País del cliente- Perspectiva Cargo Contacto- Perspectiva Ciudad Cliente
Nombre de
columna
Significado de columna
idCliente Es la clave primaria de la tabla Clientes, y representa unívocamente a un cliente en particular
NombreCompañia Nombre de la compañía en la que trabaja el cliente
NombreContacto Nombre del contacto de la compañía
CargoContacto Cargo que tiene el contacto en la compañía
Dirección Es la dirección de nuestro cliente
Ciudad Es la ciudad de nuestro cliente
Región Es la región de nuestro cliente
CodPostal Es el código postal del país para llamar al cliente
País Es el país de nuestro cliente
Teléfono Es el teléfono del cliente para poder comunicarnos
Fax Es el número del fax de nuestro cliente para poder enviar archivos
Perspectiva empleados
Nombre de
columna
Significado de columna
IdEmpleado
Es la clave primaria de la tabla Empleados y representa unívocamente a un cliente en
particular
Apellidos Es el apellido del empelado de la empresa
Nombre Es el nombre del empleado de la empresa
Cargo Cargo que tiene el empelado en la empresa
Tratamiento Como se tratará al empelado (señor, señorita, etc.)
FechaNacimiento Fecha en que nació el empleado
FechaContratacion Fecha en la que se contrata al empleado
Direccion Direccion en la que reside el empleado
Ciudad Ciudad en la cual vive el empleado
País País en el cual vive el empleado
TelDomicilio Teléfono personal del empleado
Extensión La extensión del empleado para poder comunicarnos
Notas Escrituras adicionales para un empelado
Jefe Jefe de área o departamento que dirige al empleado
SueldoBasico Sueldo básico de un empleado
Perspectiva categoría
Nombre de
columna
Significado de columna
IdCategoria
Es la clave primaria de la tabla Empleados y representa unívocamente a una categoría en
particular
nombrecategoria Es el nombre de la categoría del producto
descripción Es una descripción detallada del producto
10. Perspectiva Producto
Nombre de columna Significado de columna
Idproducto
Es la clave primaria de la tabla Productos, y representa unívocamente a un cliente en
particular
nombreProducto Nombre del producto que se vende
IdProveedor Es la clave foránea de la tabla Productos
IdCategoria Es la clave foránea de la tabla Productos
cantidadPorUnidad Cantidad por unidad de producto
precioUnidad Precio unitario del producto
unidadesEnExistencia Son las unidades existentes en el stock productos
UnidadesEnPedido Son las unidades existentes en el inventario pedidos
nivelNuevoPedido Es el nivel de nuevo pedido
suspendido Es el producto descontinuado
categoriaProducto Es el nombre de la categoría del producto
Perspectiva Compañía
Nombre de columna Significado de columna
idCompañiaEnvios
Es la clave primaria de la tabla CompañiaEnvios, y representa unívocamente a un compañía
en particular.
nombreCompañia Nombre de la compañía que nos provee los productos.
teléfono Es el teléfono que tiene cada compañía para su contacto con la empresa.
Perspectiva proveedores
Nombre de
columna
Significado de columna
IdProveedor
Es la clave primaria de la tabla Proveedor y representa unívocamente a un Proveedor en
particular
NombreCompañía Es el nombre de la compañía de los proveedores
NombreContacto Es el nombre del contacto de los proveedores
Cargo contrato Cargo que tiene el empelado de los proveedores
Dirección Dirección en la que reside los proveedores
Ciudad Ciudad en la cual reside los proveedores
Región Región en la cual residen los Proveedores
CodPostal CodPostal de la compañía de los Proveedores
País País en el cual reside los proveedores
Teléfono Teléfono de la compañía de los proveedores
Fax Fax de la compañía de los proveedores
PaginaPrincipal Página principal de la compañía
Perspectiva Tiempo
Nombre
Año Semana
Semestre Numero de Día
Cuatrimestre Nombre del Día
Trimestre Quincena
Mes Numero de mes
Semana Numero de semana
11. Perspectiva Clientes
NombreCompañia de la tabla Clientes. Este campo hace referencia el nombre de los
clientes
País de la tabla Clientes. Este campo hace referencia al país de los clientes
Ciudad de la tabla Clientes. Este campo hace referencia a la ciudad de los clientes
CargoContacto de la tabla Clientes. Este campo hace referencia al cargo de los
clientes
Perspectiva Empelados
Nombre de la tabla Empleados. Este campo hace referencia al nombre de los
empleados
Apellidos de la tabla Empleados. Este campo hace referencia al apellido de los
empleados
Perspectiva Compañía
NombreCompañia de la tabla Compañía. Este campo hace referencia al nombre de la
compañía de envíos.
Perspectiva Producto
NombreProducto de la tabla Productos. Este campo hace referencia al nombre de los
productos.
CantidadPorUnidad de la tabla Productos. Este campo hace referencia a la cantidad
de productos.
NombreCategoria de la tabla Categoría. Este campo hace referencia al nombre de las
categorías.
Descripción de la tabla Categoría. Este campo hace referencia a la descripción de las
categorías.
Perspectiva Proveedor
NombreCompañia de la tabla Proveedores. Este campo hace referencia el nombre de
los proveedores.
País de la tabla Proveedores. Este campo hace referencia al país de los proveedores.
Ciudad de la tabla Proveedores. Este campo hace referencia a la ciudad de los
proveedores.
Perspectiva Tiempo
Año
Semestre
Cuatrimestre
Mes
Semana
12. 4. Modelo conceptual ampliado
En este paso, se busca graficar los resultados obtenidos anteriormente, se amplía el modelo
conceptual, colocando debajo de cada perspectiva los campos seleccionados y debajo de
cada indicador su respectiva fórmula de cálculo.
MODELO LOGICO DE DM [FASE 3 - HEFESTO]
Introducción: Se realizará el modelo lógico de la estructura del DATAMART de la
metodología HEFESTO, teniendo como base el modelo conceptual que fue creado.
1. Tipo del modelo lógico del DM
Escogemos la tipología estrella porque es más adecuada para la extracción de datos.
2. Tablas de Dimensiones
Perspectiva Clientes
o La nueva tabla dimensión tendrá el nombre dimClientes.
o Se le agregara una clave principal con el nombre idCliente.
o Los nombres de los campos se mantendrán iguales.
Fuente: Elaboración Propia
13. Perspectiva Empleados
o La nueva tabla dimensión tendrá el nombre dimEmpleados.
o Se le agregara una clave principal con el nombre idEmpleados.
o Los nombres de los campos se mantendrán iguales.
Perspectiva Compañía
o La nueva tabla dimensión tendrá el nombre dimCompañía.
o Se le agregara una clave principal con el nombre idCompañia.
o Los nombres de los campos se mantendrán iguales.
Perspectiva Producto
o La nueva tabla dimensión tendrá el nombre dimProducto.
o Se le agregara una clave principal con el nombre idProducto.
o Los nombres de los campos se mantendrán iguales.
14. Perspectiva Proveedor
o La nueva tabla dimensión tendrá el nombre dimProveedor.
o Se le agregara una clave principal con el nombre idProveedor.
o Los nombres de los campos se mantendrán iguales.
Perspectiva Tiempo
o La nueva tabla dimensión tendrá el nombre dimTiempo.
o Se le agregara una clave principal con el nombre idTiempo.
o Los nombres de los campos se mantendrán iguales.
3. Tabla Hechos
A continuación, se confeccionará la tabla Hechos:
La tabla Hechos tendrá el nombre factPedidos.
Su clave principal será la combinación de las claves principales de las tablas
de Dimensiones antes definidas: idClientes, idEmpleados, idCompañia,
idProducto, idProveedor e idTiempo.
Se crearán 5 Hechos que corresponden con los 5 indicadores.
o Número de Ventas será renombrado ventas.
o Número de Envíos será renombrado envios.
o Número de Productos será renombrado productos.
o Número de Clientes será renombrado clientes.
o Productos vendidos será renombrado pvendidos.
15. 4. Uniones
INTEGRACION DE DATOS [FASE 4 - HEFESTO]
1. Carga Inicial – Proceso ETL Principal
Establecer variables De Fecha_Desde y Fecha_Hasta: Establece dos variables
globales que serán utilizadas posteriormente por algunos Pasos.
o Para la variable Fecha_Desde se obtiene el valor de la fecha en que se
realizó el primer pedido.
o Para la variable Fecha_Hasta se obtiene el valor de la fecha actual.
Carga de Dimensión dimClientes: Ejecuta el contenedor de Pasos que cargara la
tabla dimensión dimClientes.
Carga de Dimensión dimEmpleado: Ejecuta el contenedor de Pasos que cargara
la tabla dimensión dimEmpleado.
Carga de Dimensión dimCompañia: Ejecuta el contenedor de Pasos que cargara
la tabla dimensión dimCompañia.
Carga de Dimensión dimProducto: Ejecuta el contenedor de Pasos que cargara la
tabla dimensión dimProducto.
Carga de Dimensión dimProveedor: Ejecuta el contenedor de Pasos que cargara
la tabla dimensión dimProveedor.
Carga de Dimensión dimTiempo: Ejecuta el contenedor de Pasos que cargara la
tabla dimensión dimTiempo.
17. Carga de Dimensión dimClientes
Carga de Dimensión dimEmpleado
Carga de Dimensión dimCompañia
SELECT NombreCompañia, Pais, Ciudad, CargoContacto
FROM clientes
SELECT nombre, apellidos FROM Empleados
SELECT nombrecompañia FROM compañiasdeenvios
18. Carga de Dimensión dimProducto
Carga de Dimensión dimProveedor
SELECT pro.nombreproducto as Producto,pro.cantidadporunidad as
Cantidad,cat.nombrecategoria as Categoria, cat.descripcion as
Descripcion
FROM productos pro
INNER JOIN categorias cat ON (pro.idCategoria=cat.idcategoria)
SELECT nombreCompañia, pais, ciudad FROM proveedores
19. Carga de Dimensión dimTiempo
Carga de tabla Hechos factPedidos
idFecha = AUTO_INCREMENT
anio = YEAR(fecha)
trimestre = CASE WHEN QUARTER(fecha) = 1 then '1er Tri' ... END
mes = CASE WHEN MONTH(fecha) = 1 then 'Enero' ... END
SELECT DISTINCT CONVERT (DATE,FechaPedido) AS Fecha,
CONVERT(INT, DATEPART(YEAR, FechaPedido)) AS Anio,
CONVERT(INT, DATEPART(QUARTER,FechaPedido )) AS Trimestre,
CONVERT(VARCHAR,DATEPART(MONTH, FechaPedido)) AS Mes,
CONVERT(INT, DATEPART(DAY, FechaPedido)) AS Dia
FROM Pedidos
20. 2. Actualización
Las políticas de Actualización que se ha acordado con los usuarios son las siguientes:
La información se actualizará: todos los días a las 00:00hs.
Los datos de las tablas de Dimensiones dimProductos y dimClientes serán subidos
siempre en su totalidad.
Los datos de la tabla de Dimensión dimTiempo se subirán de manera incremental
siempre en su totalidad.
Los datos de la tabla de Hechos Pedidos que pertenecen al último mes (30 días) a
partir de la fecha actual, serán reemplazados periódicamente.
3. Actualización Proceso ETL Principal
Inicio: empezara la realización de los pasos todos los días a las 12 de la noche.
Establecer variables Fecha_Desde y Fecha_Hasta:
o La variable Fecha_Desde extraerá el valor resultate de restarle a la fecha
actual treinta días.
o La variable Fecha_Hasta extraerá el valor de la fecha actual.
Carga de Dimensión dimClientes: Ejecuta el contenedor de Pasos que cargara la
tabla dimensión dimClientes.
Carga de Dimensión dimEmpleado: Ejecuta el contenedor de Pasos que cargara
la tabla dimensión dimEmpleado.
Carga de Dimensión dimCompañia: Ejecuta el contenedor de Pasos que cargara
la tabla dimensión dimCompañia.
Carga de Dimensión dimProducto: Ejecuta el contenedor de Pasos que cargara la
tabla dimensión dimProducto.
Carga de Dimensión dimProveedor: Ejecuta el contenedor de Pasos que cargara
la tabla dimensión dimProveedor.
Carga de Dimensión dimTiempo: Ejecuta el contenedor de Pasos que cargara la
tabla dimensión dimTiempo.
Carga de Tabla de Hechos Pedidos:
o A los siguientes pasos que realiza esta tarea, se le antepondrá un nuevo
paso que limpiará los datos que contengan la tabla de Hechos Pedidos en
el intervalo entre Fecha_Desde y Fecha_Hasta.
o En el paso Obtener datos de Datasource se modificará la sentencia AQL
agregando la siguiente condición:
4. Conclusiones
Con el uso de la metodología Hefesto se puede tener más claro y comprensible la
construcción de un Data Warehouse o DataMart independientes de la herramienta
que se para poder lograr de manera sencilla, ordenada con el fin de tomar mejores
decisiones
[Preguntas Contestas en el POWER BI]