Está en la página 1de 18

DATA WAREHOUSE BI

Título: Ventas
Autor: Jimmy A. Flores Jordan
Fecha: 01/12/2018

Código de estudiante: 201301868


Carrera: Ingeniera de Sistema

Asignatura:

Grupo: A

Docente: Carlos Saavedra

Periodo Académico: 9vo


INDICE
Identificar preguntas ..................................................................................................................................... 3
El resultado obtenido fue el siguiente: ......................................................................................................... 3
Identificar indicadores y perspectivas de análisis ......................................................................................... 4
En síntesis, los indicadores son: ................................................................................................................ 4
Y las perspectivas de análisis son: ............................................................................................................. 4
Modelo Conceptual ....................................................................................................................................... 4
ANÁLISIS DE LOS OLTP ................................................................................................................................... 5
Las relaciones identificadas fueron las siguientes: ................................................................................... 6
Modelo Lógico del DW .................................................................................................................................. 7
Tabla de hechos......................................................................................................................................... 9
Uniones.................................................................................................................................................... 10
PROCESOS ETL ............................................................................................................................................. 10
Tabla de dimensión “CLIENTE”: ............................................................................................................... 10
Tabla de dimensión “Almacén”: .............................................................................................................. 11
Tabla de dimensión “Producto”: ............................................................................................................. 12
Tabla de dimensión “Tiempo”: ................................................................................................................ 12
Tabla de dimensión “Oficina”:................................................................................................................. 14
Tabla de dimensión “Marca”:.................................................................................................................. 15
Creación de Cubos Multidimensionales ...................................................................................................... 16
Creación de Indicadores .............................................................................................................................. 16
Creación de Atributos.................................................................................................................................. 17
Creación de Jerarquías ................................................................................................................................ 18
Identificar preguntas
En busca de sus necesidades de información, pero las mismas abarcaban

casi todas las actividades de la empresa IMFAR S.R.L, por lo cual se escogiera el proceso que

consideraríamos más importante en las actividades diarias de la misma y que estuviese soportado de

alguna manera. El proceso elegido fue el de Traspaso de Almacén.

A continuación, se procedió a identificar qué era lo que les interesaba conocer acerca de este

proceso y cuáles eran las variables o perspectivas que debían tenerse en cuenta para poder tomar

decisiones basadas en ello.

Se les preguntó cuáles eran según ellos, los indicadores que representan de mejor modo el proceso

de traspaso de almacén y qué sería exactamente lo que se desea analizar del mismo. La respuesta obtenida,

fue que se deben tener en cuenta y consultar datos sobre la cantidad.

El resultado obtenido fue el siguiente:


1. Se desea conocer los almacenes A y B que más productos y con sus respectivas marcas
anualmente.
2. Se desea conocer la cantidad de productos que se trasladan por clasificación.
3. Se desea conocer los productos con mayor movimiento que se realiza anualmente.

Como se puede apreciar, las necesidades de información expuestas están acorde a los objetivos

y estrategias de la empresa, ya que es precisamente esta información requerida la que proveerá

un ámbito para la toma de decisiones, que en este caso permitirá analizar el comportamiento

de los clientes a los que se pretende satisfacer ampliamente, para así lograr obtener una ventaja

competitiva y maximizar las ganancias.

Identificando indicadores y perspectivas de análisis:


 Se desea conocer los almacenes A y B que más productos y con sus respectivas marcas
anualmente.
“Almacén A, Almacén B, producto, tiempo, cantidad”
 Se desea conocer la cantidad de productos que se trasladan por clasificación.
“producto, clasificación, cantidad”
 Se desea conocer los productos con mayor movimiento que se realiza anualmente: “cantidad,
tiempo, almacén A y almacén B, producto.”

Identificar indicadores y perspectivas de análisis


En síntesis, los indicadores son:
 Cantidad.

Y las perspectivas de análisis son:


 Almacén A.
 Almacén B.
 Clasificación.
 Producto.
 Grupo.
 Marca.
 Tiempo.

Modelo Conceptual
Almacén A

Almacén B

Clasificación Traspaso de
almacén Cantidad

Producto

Grupo

Marca

Tiempo

Figura 1: Modelo Conceptual.


ANÁLISIS DE LOS OLTP

Figura 2: Caso práctico, Diagrama de Entidad Relación.


Figura 3: Caso práctico, correspondencia.

Las relaciones identificadas fueron las siguientes:


 La tabla” inalm” se relaciona con la perspectiva” Almacén A”.
 La tabla” inalm” se relaciona con la perspectiva” Almacén B”.
 La tabla” gbume” con la perspectiva” Clasificación”.
 La tabla” inpro” con la perspectiva” Producto”.
 La tabla” inpro” con la perspectiva” Marca”.
 La tabla” gbloc” con la perspectiva” Grupo”.
 El campo” fecha” de la tabla” fecha” con la perspectiva” Fechayhora” (debido a que
es la fecha principal en el proceso de traspaso de almacen).
 El campo” cantidad” de la tabla” intdt” con el indicador” Unidades de traspaso”.
Almacen A
nombre_Almacen

Almacen B
nombre_Almacen

Clasificación Traspaso de
Cantidad
nombre_Clasificación almacen

Tiempo
año
mes

Producto
nombre_Producto

Marca
nombre_marca

Grupo
nombre_Grupo

Figura 5: Caso práctico, Modelo Conceptual ampliado

Modelo Lógico del DW


El esquema que se utilizará será en estrella, debido a sus características, ventajas y

diferencias con los otros esquemas.

Almacén A
NOMBRE

Figura 2: tabla de dimensión” Almacén A”.

Almacén B
NOMBRE
Producto
Nombre Del
Producto

Figura 3: tabla de dimensión” Producto”.

Tiempo
Año
mes

Figura 4: tabla de dimensión” Tiempo”.

Grupo
Nombre de
Grupo

Figura 5: tabla de dimensión” Grupo”.

Marca
nombre

Figura 6: tabla de dimensión” Marca”.


Clasificación
nombre

Figura 6: tabla de dimensión” clasificación”.

Tabla de hechos

Traspaso Cantidad

Figura 7: Caso práctico, diseño de la tabla de hechos.


Uniones

Figura 8: Caso práctico, uniones.

PROCESOS ETL
A continuación, se generarán las sentencias SQL para cargar las diferentes tablas de dimensiones y la tabla
de hechos.

Tabla de dimensión “Almacén A”:


Se tomará como fuente de entrada la tabla “Almacén A” del OLTP mencionado anteriormente.

Se consultó con los usuarios y se averiguó que deseaban tener en cuenta todos los almacenes.

Es importante destacar que, aunque existían en el campo nombre igual forma se tomaran del sistema, se
debía a que este se agregó poco después de haberse creado la base de datos inicial, razón por la cual
existían valores faltantes. Además, comentó que, en el sistema, si un almacén posee en el campo
“Eliminado” un valor “0” o un valor faltante, es considerado como vigente.

CREATE PROCEDURE Extraer_almacen2A


@mensaje VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM EalmacenA

INSERT INTO EalmacenA (id_ealmacen,enombre)


SELECT inalmcalm, inalmnomb
FROM [upondb].dbo.inalm
WHERE (inalmcemp =1)

END
GO

CREATE PROCEDURE Transformar_almacenA


@mensaje VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM TalmacenA

INSERT INTO TalmacenA (id_talmacen,tnombre)


SELECT id_ealmacen, ISNULL(enombre,'S/N')
FROM EalmacenA
END
GO

CREATE PROCEDURE Cargar_almacenA


@mensaje VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
UPDATE AlmacenA SET nombre=tnombre FROM TalmacenA WHERE
id_almacen=id_talmacen

INSERT INTO AlmacenA (id_almacen,nombre)


SELECT id_talmacen, tnombre FROM TalmacenA
WHERE (NOT EXISTS (SELECT * FROM AlmacenA WHERE id_almacen = id_talmacen))
END
GO

Tabla de dimensión “Almacén B”:


Se tomará como fuente de entrada la tabla “almacén” del OLTP mencionado anteriormente.

Se consultó con los usuarios y se averiguó que deseaban tener en cuenta solo aquellos almacenes que no
se usaban igual estarían en la tabla.

CREATE PROCEDURE Extraer_almacen2B


@mensaje VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM EalmacenB

INSERT INTO EalmacenB (id_ealmacen,enombre)


SELECT inalmcalm, inalmnomb
FROM [upondb].dbo.inalm
WHERE (inalmcemp =1)

END
GO

CREATE PROCEDURE Transformar_almacenB


@mensaje VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM TalmacenB

INSERT INTO TalmacenB (id_talmacen,tnombre)


SELECT id_ealmacen, ISNULL(enombre,'S/N')
FROM EalmacenB
END
GO

CREATE PROCEDURE Cargar_almacenB


@mensaje VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
UPDATE AlmacenB SET nombre=tnombre FROM TalmacenB WHERE
id_almacen=id_talmacen

INSERT INTO AlmacenB (id_almacen,nombre)


SELECT id_talmacen, tnombre FROM TalmacenB
WHERE (NOT EXISTS (SELECT * FROM AlmacenB WHERE id_almacen = id_talmacen))
END
GO

Tabla de dimensión “Producto”:


Se tomará como fuente de entrada la tabla “Producto” del OLTP mencionado anteriormente.

Se consultó con los usuarios y se averiguó que deseaban tener en cuenta solo aquellos productos.

CREATE PROCEDURE Extraer_producto2


@mensaje VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM Eproducto

INSERT INTO Eproducto (id_eproducto, enombre)


SELECT inprocpro, inpronomb
FROM [upondb].dbo.inpro
WHERE (inprocemp = 1)

END
GO
CREATE PROCEDURE Transformar_producto
@mensaje VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM Tproducto

INSERT INTO Tproducto (id_tproducto,tnombre)


SELECT id_eproducto, ISNULL(enombre,'S/N')
FROM Eproducto
END
GO

CREATE PROCEDURE Cargar_producto


@mensaje VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
UPDATE Producto SET nombre=tnombre FROM Tproducto WHERE
id_producto=id_tproducto

INSERT INTO Producto (id_producto,nombre)


SELECT id_tproducto, tnombre FROM Tproducto
WHERE (NOT EXISTS (SELECT * FROM Producto WHERE id_producto = id_tproducto))

END
GO

Tabla de dimensión “Tiempo”:


Tabla de dimensión “Tiempo”:

Para generar esta tabla de dimensión, infaltable en todo DW, existen varias herramientas y utilidades de
software que proporcionan diversas opciones para su confección. Pero, si no se cuenta con ninguna, se
puede realizar a mano o mediante algún programa, llenando los datos en un archivo, tabla, hoja de cálculo,
etc., y luego exportándolos a donde se requiera.

Se realizó una extracción de tiempo de la forma manual que es donde marcara las ventas para su exactitud
que fechas se realizó la venta

CREATE PROCEDURE Transformar_tiempo


@mensaje VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM Ttiempo

INSERT INTO Ttiempo (id_ttiempo,tanio,tmes)


SELECT id_etiempo, eanio, emes FROM Etiempo
END
GO

CREATE PROCEDURE Cargar_tiempo


@mensaje VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;

INSERT INTO tiempo (id_tiempo,anio,mes)


SELECT id_ttiempo, tanio, tmes
FROM Ttiempo
WHERE (NOT EXISTS (SELECT * FROM tiempo WHERE id_tiempo = id_ttiempo))

END
GO

Tabla de dimensión “Grupo”:


Se tomará como fuente de entrada la tabla “grupo” del OLTP mencionado anteriormente.

Se consultó con los usuarios y se averiguó que deseaban tener en cuenta solo aquellos grupos para no
tenga una repetición de mismo se puso su identificador que viene del OLTP.

CREATE PROCEDURE Extraer_grupo2


@mensaje VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM Egrupo
INSERT INTO Egrupo (id_egrupo, enombre)
SELECT ingrucgru, ingrudscr
FROM [upondb].dbo.ingru
WHERE(ingrucemp = 1)
END
GO

CREATE PROCEDURE Transformar_grupo


@mensaje VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM Tgrupo

INSERT INTO Tgrupo (id_tgrupo,tgrupo)


SELECT id_egrupo, ISNULL(enombre,'S/N')
FROM Egrupo
END
GO

CREATE PROCEDURE Cargar_grupo


@mensaje VARCHAR(100) OUTPUT
AS
BEGIN
SET NOCOUNT ON;

UPDATE Grupo SET nombre=tgrupo FROM Tgrupo WHERE id_grupo=id_tgrupo


INSERT INTO Grupo (id_grupo,nombre)
SELECT id_tgrupo, tgrupo
FROM Tgrupo
WHERE (NOT EXISTS (SELECT * FROM Grupo WHERE id_grupo = id_tgrupo))
END
GO

Tabla de dimensión “Marca”:


Se tomará como fuente de entrada la tabla “Marca” del OLTP mencionado anteriormente.

La marca del producto es muy importante:

CREATE PROCEDURE Extraer_marca


@fecha DATETIME
AS
BEGIN
SET NOCOUNT ON;
DELETE FROM Tmarca

INSERT INTO Tmarca (id_tmarca, Nombre)


SELECT inprocpro, inpromarc
FROM [upondb].dbo.inpro
WHERE (inprofumd > @fecha) AND (inprocemp = 1)

END
GO
CREATE PROCEDURE Cargar_marca
AS
BEGIN
SET NOCOUNT ON;

UPDATE marca SET nombre=Tmarca.nombre FROM Tmarca WHERE


marca.id_marca=Tmarca.id_tmarca
INSERT INTO marca (id_marca,Nombre)
SELECT Tmarca.id_tmarca, Tmarca.nombre FROM Tmarca
WHERE (NOT EXISTS (SELECT * FROM marca WHERE id_marca =
Tmarca.id_tmarca))

END
GO
Creación de Cubos Multidimensionales

Figura 9: Caso práctico, modelo lógico.

Creación de Indicadores

TRASPASO

Cantidad
Figura 10: Cubo ejemplo, paso 1
Creación de Atributos

TRASPASO

Almacen A[almacen.nombre almacen]

Almacen B[almacen.nombre almacen]

Marca Marca[id_marca.nombre]

Grupo [grupo.nombre ]

Producto [producto.nombre Prodcuto]

tiempo[tiempo.año, tiempo.mes]

Cantidad

Figura 11: Cubo ejemplo, paso 2.


Creación de Jerarquías

TRASPASO TRASPASO

Marca producto

Cliente Cantidad

almacen
Almacen A [almacen.nombre almacen]

Almacen B [almacen.nombre almacen]

Marca Marca[Marca.nombre]

-
Grupo[Grupo.nombre ] - -

Producto [producto.nombre Prodcuto] -


- -

tiempo[tiempo.año,
tiempo.mes]

Cantidad

Figura 11: Cubo ejemplo, paso 2.

También podría gustarte