Objetivo:
* Crear tres transformaciones, que extraigan los datos desde un oltp y los almacenen en el Data Warehouse.
* Crear un paso que obtenga un id secuencial de forma dinámica.
* Incluir este id secuencial como clave primaria de las dimensiones.
Requisitos:
* Haber leído
[Tutorial 02].
Esquema de trabajo:
Es muy útil mantener al Data Warehouse con claves primarias que no dependan directamente de las fuentes transaccionales, esto hará que nuestro depósito sea independiente de las codificaciones utilizadas en estas fuentes.
El mantenimiento de dichas claves también soluciona los casos en que las claves principales de los OLTP son de tipo texto.
Pasos generales:
1) Crear Tablas de la Base de Datos datawarehouse:
* Descargar el archivo adjunto:
ScriptBDPracticoDWMySQL.sql
* Abrir MySQL Query Browser.
* Ir a File → Open Script...
* Seleccionar ScriptBDPracticoDWMySQL.sql.
* Presionar Execute (o ir a Script → Execute).
* Hacer clic derecho sobre la base de datos datawarehouse y seleccionar la opción Refresh Schemata.
2) Crear Transformación para poblar DW_ClientesLookup:
* Crear una nueva Transformación y llamarla: “DW_ClientesLookup – Load Datawarehouse”.
3) Crear pasos:
3.1)
* Añadir a la zona de trabajo el paso: Entrada → Entrada Tabla
* Acceder al paso.
* Crear y probar la conexión a la base de datos “intermedio”.
* Pegar la siguiente consulta y previsualizar los datos:
SELECT
c.idCliente
,c.Cliente
,z.Zona
,c.cuentaHabi
FROM
Clientes c INNER JOIN zonas z
ON c.idZona=z.idZona;
* Presionar Aceptar.
3.2)
* Añadir a la zona de trabajo el paso: Trasformar → Añadir Secuencia
* Unir el paso del punto 3.1 con este paso.
* Acceder al paso.
* Para este ejemplo, completar el siguiente campo:
___* Nombre del Valor: nombre del campo que contendrá la secuencia. En este caso: idNuevo
* Presionar Aceptar.
3.3)
* Añadir a la zona de trabajo el paso: Trasformar → Selecciona/Renombra Valores
* Unir el paso del punto 3.2 con este paso.
* Acceder al paso.
* En la pestaña actual (Selecciona & Modifica), seleccionar los siguientes campos:
___Nombre Campo:
___* idCliente
___* idNuevo
* Presionar Aceptar.
3.4)
* Añadir a la zona de trabajo el paso: Salida → Salida Tabla
* Unir el paso del punto 3.3 con este paso.
* Acceder al paso.
* La conexión será a “intermedio”, la tabla destino “ids_Clientes”, se tildará la opción vaciar tabla y se creará el esquema de la misma a través de la opción SQL.
* Presionar Aceptar.
3.5)
* Añadir a la zona de trabajo el paso: Trasformar → Selecciona/Renombra Valores
* Unir el paso del punto 3.2 con este paso.
* Acceder al paso.
* En la pestaña actual (Selecciona & Modifica), seleccionar los siguientes campos:
___Nombre Campo | Renombrar a:
___* idNuevo | idCliente
___* Cliente
___* Zona
___* cuentaHabi | cuentaHabilitada
* Presionar Aceptar.
3.6)
* Añadir a la zona de trabajo el paso: Salida → Salida Tabla
* Unir el paso del punto 3.5 con este paso.
* Acceder al paso.
* La conexión será a “datawarehouse”, la tabla destino “DW_ClientesLookup” y se tildará la opción vaciar tabla.
* Presionar Aceptar.
Si han seguido los pasos correctamente, deberían obtener el siguiente resultado:

4) Crear Transformación para poblar DW_ProductosLookup:
* Crear una nueva Transformación y llamarla: “DW_ProductosLookup – Load Datawarehouse”.
* Rehacer y adaptar los pasos del punto 3.
* La consulta que extrae los datos de “intermedio” es la siguiente:
SELECT
p.idProducto
,p.Producto
,r.Rubro
,pr.Proveedor
FROM
productos p INNER JOIN rubros r
ON p.idRubro=r.idRubro
INNER JOIN proveedores pr
ON p.idProveedo=pr.idProveedo;
5) Crear Transformación para poblar DW_VendedoresLookup:
* Crear una nueva Transformación y llamarla: “DW_VendedoresLookup – Load Datawarehouse”.
Rehacer y adaptar los pasos del punto 3.
La consulta que extrae los datos de “intermedio” es la siguiente:
SELECT
idVendedor
,vendedor
,comision
FROM
vendedores;
Espero les sea útil.
Saludos.