Está en la página 1de 16

EJERCICIO PRACTICO DE BI

INTRODUCCION

En este documento se busca realizar el anlisis de una base de datos SAKILA


que se utilizara como prototipo para el desarrollo de este caso prctico, al cual se
le construir o desarrollara una solucin de inteligencia de negocio.

De esta manera se deber presentar una posible solucin de acuerdo a la base de


datos entregada, con el fin de poner en prctica todos los conceptos y
herramientas estudiadas de inteligencia de negocio para el desarrollo del mismo.

Descarga la base de datos sakila AQUI


En este proyecto se implementaran herramientas de pentaho para poder llevar a cabo el desarrollo
del mismo. Todas las herramientas las podemos encontrar en la siguiente pagina
web: http://sourceforge.net
Estas herramientas son:
Consola de Pentaho = Creacin Cuadros de mando "DashBoard" y Creacin de informes
kettle o Spoon = Para la creacin de los ETL
Mondrian de pentaho = Para la realizacin de los Cubos Olap

MODELO DE NEGOCIO

La empresa la cual se le desarrollara una solucin de inteligencia de negocio ser


CLUBFIML S.A.

La empresa Sakila tiene como objetivo principal el alquiler de pelculas de videos,


manejando una gran variedad de pelculas con el fin de satisfacer todas las
necesidades de sus clientes.

La empresa Sakila tiene varias sucursales, donde sus clientes podrn encontrar
las mejores pelculas del mercado distribuidas por, lenguaje, actor, ttulo,
categora, de la mejor manera posible, para su fcil acceso dentro de sus tiendas.

El modelo de negocio de la empresa CLUBFILM S.A se compone de los


siguientes procesos segn el anlisis de la base de datos:
Datos Clientes: Donde se almacenan los datos de los clientes que por lo menos una
vez, han prestado los servicios ofrecidos en las tiendas de CLUBFILM S.A.
Inventario: Donde se almacena todos los datos sobre los productos (pelculas) que se
tienen en las sucursales, para la administracin y el buen funcionamiento de las tiendas.
Proceso del Negocio: En este proceso del negocio es donde se encuentran los
datos del negocio.

DIAGRAMA ENTIDAD RELACION "SAKILA"


TABLAS TRANSACCIONALES TABLAS NO-TRANSACCIONALES
Payment-Sales Customer
Rental address
Inventory City
country
Staff
store
film
Film_category
Category
Language
Actor
Film_actor
Film_text
TABLAS DE HECHOS "MODELO EN ESTRELLA"

1. TABLA "HECHOS SALES"

TABLA DE HECHOS TABLA DE DIMENSIONES


DIM_FILM
FACT_SALES DIM_CUSTOMER
DATA_SALES
DIM_STORE

2. TABLA "HECHOS INVENTORY"

TABLA DE HECHOS TABLA DE DIMENSIONES


DIM_FILM
FACT_INVENTORY DIM_STORE
DATE_INVENTORY

3. TABLA "HECHOS RENTALS"


TABLA DE HECHOS TABLA DE DIMENSIONES
DIM_FILM
DIM_STORE
FACT_RENTALS DIM_CUSTOMER
DIM_STAFF
DATE_RENTALS

MODELO DIMENSIONAL "DATAWAREHOUSE"


Hasta aqu tenemos muestro modelo dimensional pero se encuentra vaci, este modelo tiene que
disearse en la base de datos que mas nos guste manejar, en mi caso la disee en mysql al igual
que la base de datos SAKILA. Ahora debemos crear los ETLs para extraer los datos de la base de
datos SAKILA y almacenarla a nuestro nuevo MODELO DIMENSIONAL.

DISEO Y CONSTRUCCION DE ETL EN SPOON


Para llevar a cabo el desarrollo de los ETL se contara con la herramienta de
PENTAHO llamada SPOON daba para el desarrollo de este proyecto, se debe
observar nuestro modelo dimension presentado anteriormente. Se debe
desarrollar un ETL por cada dimensin , fact, y tabla de tiempo que tengamos.
La construccin de los ETL nos permitir extraer los datos de nuestra base de
datos (Sakila) y cargarlos en muestro modelo dimensional desarrollando en el
punto anterior.

En nuestra solucin decidimos realizar una etl para cada tabla tiempo que posee las
tabla de hechos.

ETL DIMENSIONES

A continuacin explicaremos paso a paso la construccin de todos los ETL


DIMENSIONES: Dim_films, Dim_customer, Dim_store, Dim_staf

Se relizaran los mismos pasos para cada uno de los ETL

Paso 1: Primero construimos una tabla de entrada en SPOON la cual le


asignamos el nombre y determinamos la conexin a la base de datos y en
sql determinamos que tabla y que columnas deseamos que nos extraiga y
nos muestre, damosPREVISUALIZAR para observar los datos.

Paso 2: Construimos una selecciona/renombrar valores para determinar que


valores me renombrar de la base de datos y el modelo dimensional para
luego le los almacene en los respectivos campos.
Paso 3: por ultimo construimos un insertar/actualizar para insertarle los
datos extrados de la base de datos al modelo dimensional.

Construccin de Dimensin de Tiempo:

Por solicitud de algunos de los lectores de mi Blog, me han muestre


como constru las 3 dimensiones de tiempo.

Cuando constru este ejemplo por primera vez, mi experiencia en BI era poca 2
aos despues me he dedicado por completo a QlikView y QlikSense pero aun
tengo recuerdo de como trabajar con esta hermosa herramienta de Pentaho.

Es redundante tener 3 dimensiones de tiempo en nuestro DataWareHouse,


no creera que seria mejor tener una sola dimensin de tiempo que contenga
todas las posibles fechas de nuestras Fact Tables ? Esta seria una mejor que
pueden implementar en sus soluciones.

Con el Query a continuacion podemos obtener todas esas fechas de nuestras Fact
Tables, solo queria construir el campo incrementar para hacer nico cada uno de
los registros que contiene nuestra Dim_Tiempo y por el cual sera la relacion con
las Fact:

Dim_Tiempo:
Select date(a.rental_date) AS Fecha,
year(a.rental_date) AS Ao,
quarter(a.rental_date) AS Trimestre,
Month(a.rental_date) AS Mes,
monthname(a.rental_date) AS MesNombre,
Day(a.rental_date) AS Dia
From sakila.rental a

Union All

Select
date(b.payment_date) AS Fecha,
year(b.payment_date) AS Ao,
quarter(b.payment_date) AS Trimestre,
Month(b.payment_date) AS Mes,
monthname(b.payment_date) AS MesNombre,
Day(b.payment_date) AS Dia
From sakila.payment b

Union All

Select
Date(c.last_update) AS Fecha,
year(c.last_update) AS Ao,
quarter(c.last_update) AS Trimestre,
Month(c.last_update) AS Mes,
monthname(c.last_update) AS MesNombre,
Day(c.last_update) AS Dia
From sakila.inventory c;

Por motivos de tiempo les envio solo este Query, en pocos dias actualizare su
implementacion con el Klette y su construccion a un dataWareHouse.

Espero les siga a todos

ETL HECHOS

Para la construccion de los ETL de las tablas de hechos, realizaremos cuatro pasos, los mismos
pasos son para cada uno de las tablas.

Tomaremos como ejemplo la tabla hechos rents

Paso 1: Primero contruimos una tabla de entrada en SPOON la cual le


asignamos el nombre y determinamos la conexin a la base de datos y en
sql determinamos que tabla y que columnas desemoas que nos extraiga y
nos muestre, damos PREVISUALIZAR para observar los datos.

Paso 2: Construimos una seleciona/renombra valores para obtener el


valor de la secuencia de la base de datos

Paso 3: Construimos una seleciona/renombra valores para determinarle


que valores me renombra de la base de datos y el modelo dimensional para
luego le los almance en los respectivos campos

Paso 4: por ultimo construimos un insertar/actualizar para insertarle los


datos extraidos de la base de datos al modelo dimensional.

GERACION DE LOS INFORMES CON PENTAHO

Cargamos la plataforma de pentaho ejecutamos los archivos star-pac.bat y


star-pentaho.bat y cargamos un navegador y en la direccion
ingresamoshttp://localhost:8080/pentaho/Login, que nos abrir la
plataforma de pentaho e procedemos a ingresar el username y password
que es joe y password respectivamente.
Ingresamos a la plataforma de pentaho y procedemos a crear un nuevo
informe, debemos predeterminar la conexin con el modelo dimensional ya
creado y al cual cargamos los datos con ayuda del Spoon.

A continuacin determinamos que el tipo de datos que queremos mostrar


en nuestro informe. Crearemos 3 informes.

1 Informe Film: En este informe mostraremos 4 campos que sean, id_film,


name, category y actors que ya fueron importadas a nuestros modelos
dimensional por medio de los etl.

Seleccionamos la tabla dim_film y selecionamos los campos y los


colocamos en la tabla detalle y selecionamos el tipo de documento que
deseamos el informe, en este caso sera PDF y damos en go
2. Informe Customer: En este informe mostraremos 5 campos que sean,
id_customer, name, address customer, city y country customer que ya
fueron importadas a nuestros modelos dimensional por medio de los etl.
Seleccionamos la tabla dim_cumstomer y seleccionamos los campos y los
colocamos en la tabla detalle y seleccionamos el tipo de documento que
deseamos el informe, en este caso sera PDF y damos en go
CREACIN DE CUBOS OLAP CON LA HERRAMIENTA MONDRIAN

DESCARGAR GUIA PARA ELABORAR CUBOS EN MONDIAN AQUI

CUBO "FACT_INVENTORY"
Paso 1: Se inicializa creando un esquema y luego un cubo add Cube el
cual le seleccionado la fact_inventory y as ser como se llamara

Paso 2: Insertar 3 dimensiones, film, store y date inventory para cada una
de las dimensiones en el campo foreaignkey se seleccionada cada una de
las llaves forneas de cada dimensin.

Paso 3: Luego ingresamos los campos que vamos a medir en este caso
replacement_cost y Price_film, en el campo columna de la tabla
fact_invetory seleccionados la columna replacement_cost, lo mismo
realizamos con el campo a medir Price_Film, en el campo columna de la
tabla fact_inventory seleccionamos la columna Price_FilM

Con esto nuestro primer cubo esta terminado solo falta publicarlo en
pentaho.

Para este ejemplo se realizaron 3 cubos pero solo se mostr como se construye 1.

PUBLICACIN DE CUBOS EN PENTAHO

Demostraremos la publicacin de un solo cubo, ya que el procedimiento es


igual para todos los cubos.
Publicaremos el cubo Fact_sales

click en publish

En este caso la url es el link de la consola de pentaho, el publish password es el password


que determinamos al comienzo de la instalacin de la consola de pentaho. Para
determinar este password realizamos lo siguiente.
Vamos a la carpeta biserver-ce-4.8.0-stable\biserver-ce\pentaho-solutions\system y
seleccionamos el archivo con el nombre de publisher_config y abrirmo con el block de
notas

Aqu escribimos la palabra que deseamos como password, en este caso


escogimos la palabra password>password<. Le damos guardar, vamos a la
consola de pentaho y actualizamos

Luego de haber realizado esto, y poder haber llenado todos los campos de
la publicacin procedemos a la consola de pentaho y vamos
a configuracin del sistema.
Ahora solo nos falta ir he intentar publicar, escogemos una carpeta donde
queramos que se publiquen en el pentaho y le damos en publicar. Nos
debe de salir esto.

También podría gustarte