Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TEMA:
IMPLEMENTACIÓN DE UN DATAWAREHOUSE PARA LA TOMA DE
DECISIONES EN EL ÁREA LOGÍSTICA DE LA COMPAÑÍA PRONACA.
AMBATO – ECUADOR
2016
APROBACIÓN DEL ASESOR DEL TRABAJO DE TITULACIÓN
CERTIFICACIÓN:
_______________________________
Ing. Martínez Campaña Carlos Eduardo.
ASESOR
DECLARACIÓN DE AUTENTICIDAD
_______________________________
Lic. Jaramillo Delgado Freddy Rene
CI. 171446660-2
AUTOR
DERECHOS DE AUTOR
Yo, Freddy Rene Jaramillo Delgado, declaro que conozco y acepto la disposición constante
en el literal d) del Art. 85 del Estatuto de la Universidad Regional Autónoma de Los Andes,
que en su parte pertinente textualmente dice: El Patrimonio de la UNIANDES, está
constituido por: La propiedad intelectual sobre las Investigaciones, trabajos científicos o
técnicos, proyectos profesionales y consultaría que se realicen en la Universidad o por cuenta
de ella;
_______________________________
Lic. Jaramillo Delgado Freddy René
CI. 171446660-2
AUTOR
DEDICATORIA
A mis dos hijos Jearly y Josué, que son la razón de mi vida el tesoro más grande que Dios
me regaló y el motivo de mí existir.
Primero y antes que nada, gracias a Dios, por estar junto a mí en cada paso, por fortalecer
nuestros corazones e iluminar nuestras mentes y por haber puesto en el camino a aquellas
personas que han sido soporte y compañía durante mis estudios.
A mi esposa Mayra Enriquez por ser mi motivación, apoyo incondicional en cada momento
de mi vida, pilar fundamental para el logro de la culminación de este trabajo.
A la Universidad Regional Autónoma de Los Andes, "Uniandes", por acogerme en sus aulas
y permitir que continúe con una mejor formación profesional.
Para el desarrollo de esta investigación se aplicó el método inductivo que parte de procesos
logísticos en abastecimiento de materias primas y distribución de producto terminado y de
la funcionalidad de cada proceso, el método deductivo que parte del conocimiento básico de
inteligencia de negocios, investigando las diferentes ramas que van dirigidas a la
implementación de este tipo de soluciones. Para el desarrollo de este tipo de proyecto de
datawarehouse se estableció usar la propuesta de Ralph Kimball, porque garantiza
funcionalidad, escalabilidad, permitiendo obtener un producto final de calidad.
It has been demonstrated in the last few years the growth of information in the livestock
business managed by the logistics department of the company PRONACA, which constitutes
a valuable resource, has become a problem at the time to handle the information, it is here
where is born the need of the logistics department by not having a computer tool that permits
to perform data analysis.
For the development of this research was applied the inductive method that parts of the
logistics processes in terms of the supply of raw materials and distribution of finished
product and the functionality of each process, the deductive method that parts of the basic
knowledge of business intelligence, investigating the different branches that are directed to
the implementation of this type of solutions. For the development of this type of project of
datawarehouse was established using the proposal of Ralph Kimball, because it ensures
functionality, scalability, allowing to obtain a high quality final product.
The present study is framed in the research line of "information technologies and
communications"
With the implementation of the concept of datawarehouse within the logistics department is
to inculcate in the headquarters and the managements of the institution for the effective
management of the managers of the business, obtaining as product, useful information of the
business to analyze.
TEMA: IMPLEMENTACIÓN DE UN DATAWAREHOUSE PARA LA TOMA DE
DECISIONES EN EL ÁREA LOGÍSTICA DE LA COMPAÑÍA PRONACA.
INTRODUCCIÓN.
Antecedentes de la investigación.
En la actualidad, la manera cómo se gestiona la información en el mundo es cada vez más
importante y genera ventajas competitivas, es por esta razón que se han venido desarrollando
un conjunto de estrategias y herramientas enfocadas a la administración y creación de
conocimiento mediante el análisis de datos como son el estudio del datawarehouse como
apoyo soporte a la toma de decisiones de manera que pueda responder a las necesidades en
el ámbito gerencial y a las nuevas tecnologías de información y comunicación, de ahí que se
ha investigado la herramienta tecnológica datawarehouse basada en Business Intelligence
(BI).
1
Planteamiento del problema.
La empresa PRONACA área de logística regional Santo Domingo actualmente no cuenta
con el suficiente flujo de información para las gerencias del departamento de logística.
Entendiendo que la información no se encuentra estructurada y procesada. Los datos están
almacenados en diferentes bases de datos (ERP, Excel, sistema de gestión pesaje (Aries)), y
para poder llevar a cabo la obtención de reportes necesitamos demasiado tiempo. Los
gerentes requieren tener el acceso a la información de una manera más personalizada y
rápida, debido a que en algunas ocasiones se ha perdido tiempo en tomar acciones en
eventualidades por la falta inmediata de información estructurada, de forma que se pueda
analizar y tener un soporte en la toma de decisiones. Uno de los problemas principales se da
cuanto a la generación de reportes, estos son realizados de una forma manual, lo que requiere
tiempo para el área de sistemas en la generación de los mismos además causando un gran
tráfico en la base de datos de producción. Reflejándose en el tiempo de espera de cada
consulta realizada a la base de datos.
2
almacenar más y más datos, mayor es la incapacidad para extraer información realmente útil
de éstos en las empresas. Mucha información importante, quedaba sepultada y disgregada,
y los sistemas existentes no estaban preparados para el nuevo reto.
En el campo de la investigación podemos decir que este tema constituye un aporte científico
del investigador, ya que es original por no existir un tema igual.
Objetivos.
Objetivo General.
Implementar un datawarehouse para mejorar la toma de decisiones en el área de logística de
la compañía PRONACA.
Objetivos Específicos.
Realizar el análisis y levantamiento de los requerimientos para la construcción de un
datawarehouse.
Estudio bibliográfico de herramientas para construir un datawarehouse, y la gestión
de la información.
Implementar el datawarehouse para el área logística regional Santo Domingo.
3
1 CAPITULO I. MARCO TEÓRICO.
1.1 Origen y evolución del objeto de investigación.
Dentro del marco histórico que presenta la gestión logística en las empresas al nivel mundial,
los procesos de abastecimiento de materias primas y distribución de producto terminado, se
originaron por las necesidades de abastecerse de materia prima para cumplir sus demandas
en su producción y colocar sus productos en el lugar y tiempo adecuado, con el pasar del
tiempo estas necesidades fueron creciendo ya que la demanda de los diferentes productos
iban en aumento, esto ocasiono mayores flujos por lo que se requería de mayor recursos
como el talento humano, el transporte y la información, uno de ellos y el más importante
para la administración logística son los datos, grandes cantidades de datos que deben ser
tratados para lograr una buena toma de decisiones en la administración de sus recursos.
En el sitio web de la revista É Logística (Tesler, 2010) cita que “Las soluciones de Business
Intelligence ofrecen diferentes maneras para ver, analizar y presentar métricas corporativas,
como Key Performance Indicators (KPI) con el uso de tableros de control, análisis
interactivo, informes estándar o al publicar información al momento que sea necesario,
usando el medio necesario dentro de una infraestructura integrada para mejorar el
desempeño corporativo al tomar mejores decisiones.”
En el sitio web de la revista (Logistec, 2014) cita que “En la actualidad, la inteligencia de
negocios o Business Intelligence puede aportar muchísimo más valor a la logística que en el
pasado. Esto se debe a que la cadena de valor del negocio logístico hoy en día puede recoger
los datos en tiempo real y disponer de estos en cualquier momento gracias a las tecnologías
de las telecomunicaciones.”
De acuerdo a los autores citados se puede concluir que por medio de herramientas de
inteligencia de negocios aplicado al análisis de la información en los procesos de
4
abastecimiento de materias primas y distribución de producto terminado, permite mejorar
significativamente la toma de decisiones.
1.3 Valoración crítica de los conceptos principales de las distintas posiciones teóricas
sobre el objeto de investigación.
1.3.1.2 Definiciones.
Para definir inteligencia de negocios partiremos de la definición de Gartner editada en el
libro del autor: (Cano, 2007): “BI es un proceso interactivo para explorar y analizar
información estructurada sobre un área (normalmente almacenada en un datawarehouse),
para descubrir tendencias o patrones, a partir de los cuales derivar ideas y extraer
conclusiones. El proceso de inteligencia de negocios incluye la comunicación de los
descubrimientos y efectuar los cambios”.
Una definición más amplia es la que proponen The datawarehouse Institute, “Business
Intelligence (BI) es un término paraguas que abarca los procesos, las herramientas, y las
5
tecnologías para convertir datos en información, información en conocimiento y planes para
conducir de forma eficaz las actividades de los negocios.”
Cavalcanti define como: “Un concepto actualizado que va más allá de la gestión empresarial.
Consiste en la utilización de productos y soluciones con tecnologías analíticas avanzadas
para transformar los datos en información que ayuda a los distintos niveles de la
organización en la toma de decisiones y otras contribuciones, casi todas en análisis de
estrategias.” (Puerta Gálvez, 2015)
1.3.2.1.1 Función.
La función principal del Sistema de Soporte de Decisiones es la de apoyar a la toma de
decisiones mediante el análisis de las variables de un negocio con la generación y evaluación
de diferentes alternativas de decisión, todo esto utilizando modelos y herramientas
computacionales.
1.3.2.1.2 Características.
El sistema de soporte de decisiones es una de las herramientas más emblemáticas de la
inteligencia de negocios, estas son algunas de sus características principales:
Informes dinámicos e interactivos, de manera que el usuario no tenga que limitarse
a los listados predefinidos que se configuraron en el momento de la implantación, y
que no siempre responden a sus dudas reales.
7
No requiere conocimientos técnicos, un usuario no técnico puede crear nuevos
gráficos e informes y navegar entre ellos, solo con “arrastrar y soltar” y examinar la
información disponible o crear nuevas métricas.
Rapidez en el tiempo de respuesta, ya que la base de datos suele ser un
datawarehouse corporativo o un datamart, con modelos de datos en estrella o copo
de nieve. Este tipo de bases de datos están optimizadas para el análisis de grandes
volúmenes de información.
Integración entre todos los sistemas, el proceso de ETL previo a la implantación
de un sistema de soporte a la decisión garantiza la calidad y la integración de los
datos entre las diferentes unidades de la empresa.
Cada usuario dispone de información adecuada a su perfil, no se trata de que
todo el mundo tenga acceso a toda la información, sino de que tenga acceso a la
información que necesita para que su trabajo sea lo más eficiente posible.
Disponibilidad de información histórica, en estos sistemas está a la orden del día
comparar los datos actuales con información de otros períodos históricos de la
compañía, con el fin de analizar tendencias, fijar la evolución de parámetros de
negocio, entre otros.
1.3.3 Datawarehouse.
1.3.3.1 Definiciones.
En la actualidad existen muchas definiciones para el datawarehouse, las más conocidas e
importantes que fueron citadas por (Días & Cnesa, 2010) son: Bill Inmon y Ralph Kimball.
Inmon (considerado por muchos el padre del concepto) dice: “Un Data Warehouse es un
conjunto de datos orientados por temas, integrados, variantes en el tiempo y no volayiles, que
tienen por objetivo dar soporte a la toma de decisiones”.
Kimball (considerado el principal promotor del enfoque dimensional para el diseño de almacenes
de datos), dice: ”Un datawarehouse e la copia delos datos transaccionales específicamente
estructurada para la consulta y el análisis. También fue Kimball quien determinó que un data
warehouse no era más que: “la unión de todos los Data marts de una entidad”. Defiende por tanto
una metodología ascendente (Bottom-up) a la hora de diseñar un almacén de datos.
8
1.3.3.2 Función.
La principal función de un datawarehouse es almacenar datos para convertirlos en
información útil para las empresas, esta información debe estar disponible para las gerencias
en el momento que requieran y con un formato adecuado sin afectar las operaciones de los
sistemas operacionales.
1.3.3.3 Características.
Según definió Bill Inmon, el datawarehouse se caracteriza por ser:
9
1.3.3.4 Arquitectura de un datawarehouse.
Para comprender el concepto de datawarehouse, es importante considerar los procesos que
lo conforman. A continuación se describen dichos procesos clave en la gestión de un
datawarehouse: (Fernandez, 2009)
Sistemas origen.- En cuanto a los sistemas origen, son en donde se encuentra los datos de
interés y que serán objeto de extracción, estos orígenes pueden ser desde múltiples lugares
como por ejemplo las bases de datos, así como también hojas de cálculo, archivos planos,
Sistemas ERP (Enterprise Resource Planning), entre otros que serán los que proveerán los
datos de interés.
Staging Area (Area Temporal).- Es un área en la que se almacenará de manera temporal
todos los datos que son extraídos de los sistemas origen según las necesidades planteadas
del negocio. La función primordial es minimizar la afectación a los sistemas origen, porque
cuando se realiza la carga al Datawarehouse, los orígenes de datos no intervendrán hasta que
se realice una próxima carga.
ODS (Operational Data Store).- Como su nombre indica, esta área es la que va a dar
soporte a los sistemas operacionales. El modelo de datos del almacén de datos operacional
sigue una estructura relacional y normalizada, para que cualquier herramienta de reporting
o sistema operacional pueda consultar sus datos. Está dentro del datawarehouse porque se
aprovecha el esfuerzo de integración que supone la creación del almacén de datos
corporativo para poder atender también a necesidades operacionales, pero no es obligatorio,
10
y ni siquiera es algo específico del Business Intelligence, los ODS ya existían antes de que
empezáramos a hablar de BI y de DWH.
Datawarehouse.- Los datos a ser cargados en el almacén provendrán del Staging Area así
como también puede ser desde el ODS. Aquí los modelos de datos no serán tan normalizados
como lo es en los sistemas origen y en el ODS, aquí sucede lo contrario y se realizan técnicas
de des normalización.
Data marts.- Es un subconjunto de los datos del datawarehouse cuyo objetivo es responder
a un determinado análisis, función o necesidad, con una población de usuarios específica. Al
que en un datawarehouse, los datos están estructurados en modelos de estrella o copo de
nieve y un data mart puede ser dependiente o independiente de un datawrehouse. Por
ejemplo, un posible uso seria para la minería de datos o para la información de marketing.
El data mart está pensado para cubrir las necesidades de un grupo de trabajo o de un
determinado departamento dentro de la organización. (Días & Cnesa, 2010)
1.3.3.5 Estructura.
Los datawarehouses tienen una estructura distinta. Hay niveles diferentes de
esquematización y detalle que delimitan, en la siguiente figura se puede apreciar mejor su
estructura. (INEI, 1997)
11
cuales son de gran interés, es voluminoso, ya que se almacena al más bajo nivel de
granularidad, casi siempre se almacena en disco el cual es de fácil acceso, aunque su
administración sea costosa y compleja.
Detalle de datos antiguos.- La data antigua es aquella que se almacena sobre alguna
forma de almacenamiento masivo. No es frecuentemente accesada y se almacena a
un nivel de detalle, consistente con los datos detallados actuales. Mientras no sea
prioritario el almacenamiento en un medio de almacenaje alterno, a causa del gran
volumen de datos unido al acceso no frecuente de los mismos, es poco usual utilizar
el disco como medio de almacenamiento.
Datos ligeramente resumidos.- Son aquellos que proviene desde un bajo nivel de
detalle y sumarizan o agrupan los datos bajo algún criterio o condición de analisis.
Este nivel del datawarehouse casi siempre se almacena en disco.
Datos completamente resumidos.- Estos datos son compactos y fácilmente
accesibles, a veces se encuentra en el ambiente de dfatawarehouse y en otros, fuera
del límite de la tecnología que ampara al datawarehouse. (De todos modos, los datos
completamente resumidos son parte del datawarehouse sin considerar donde se
alojan los datos físicamente.)
Metadata.- El componente final del datawarehouse es el de la metadata. De muchas
maneras la metadata se sitúa en una dimensión diferente al de otros datos del
datawarehouse, debido a que su contenido no es tomado directamente desde el
ambiente operacional. La metadata juega un rol especial y muy importante en el
datawarehouse y es usada como: Un directorio para ayudar al analista a ubicar los
contenidos del datawarehouse, y es una guía para el mapping de datos de cómo se
transforma, del ambiente operacional al de datawarehouse. Una guía de los
algoritmos usados para la esquematización entre el detalle de datos actual, con los
datos ligeramente resumidos y éstos, con los datos completamente resumidos, etc.
(INEI, 1997)
12
estuvieran en el mismo formato o lenguaje de destino no será necesario hacer la
transformación. (Puerta Gálvez, 2015)
13
Transformación.- Es el subproceso más laborioso con respecto a los otros dos,
debido a que en esta etapa se realiza el refinamiento de los datos que han sido
extraídos de las diferentes fuentes, por lo que aquí se especificará pasos de acuerdo
a los datos que van a ser tratados dando valor para los usuarios. Este proceso incluye
corrección de errores, decodificación, borrado de campos que no son de interés,
generación de claves, agregación de información, etc., lo que es más conocido como
limpieza de los datos fuentes. (Duque Galvez, 2010)
Carga.- El último subproceso se caracteriza por realizar la carga hacia el
datawarehouse, los datos que previamente han sido extraídos y tratados en los dos
subprocesos anteriores para contar con datos de calidad, ahora se procederá a realizar
la carga de los mismos a un nuevo ambiente que es el de almacén de datos, para ello
es importante implementar métodos y/o maneras de carga de datos con el fin de
controlar por ejemplo datos actualizados o históricos. (Rojas & Duque, 2010)
14
Figura 1-5: Esquema Estrella
Fuente: (Duque Galvez, 2010)
15
y manipular la información almacenada en la tabla de hechos. En la siguiente figura se puede
apreciar un ejemplo.
Cada tabla posee un identificador único y al menos un campo o dato de referencia que
describe los criterios de análisis relevantes para la empresa, los datos dentro de estas tablas,
que proveen información del negocio o que describen alguna de sus características, son
llamados datos de referencia. Cada tabla de dimensión podrá contener los siguientes campos:
Clave principal o identificador único.
Clave foráneas.
Datos de referencia primarios que identifican la dimensión. Ej: nombre del cliente.
Datos de referencia secundarios: datos que complementan la descripción de la
dimensión. Por ejemplo: e-mail del cliente, fax del cliente, etc. (Bernabeu, 2010)
16
relacionadas a este. En la siguiente figura se puede apreciar lo anterior misionado.
(Bernabeu, 2010)
1.3.3.7.3 Nivel.
En las dimensiones se pueden especificar características (atributos) en particular de acuerdo
a cada dimensión. Estos atributos necesitan ser ordenados o agrupados de acuerdo a un fin
en específico como por ejemplo se puede observar en la Figura 1-9, en la cual dos
dimensiones se encuentran agrupadas de cierta manera, a estas agrupaciones son llamadas
niveles.
Para garantizar que existan registros únicos en cada dimensión es necesario contar con una
clave única para cada nivel de agregación, la misma que se recomienda sea secuencial.
17
1.3.3.7.4 Jerarquías.
Las jerarquías son estructuras lógicas usadas para categorizar los datos, de acuerdo a los
niveles definidos, la jerarquía también ayuda a definir la navegación por la información que
va a tener la dimensión en un orden (de los niveles) definido. (Duque Galvez, 2010)
18
1.3.3.7.7 Claves subrogadas.
Una clave subrogada es un identificador único que se asigna a cada registro de una tabla de
dimensión. Esta clave, generalmente, no tiene ningún sentido específico de negocio. Son
siempre de tipo numérico. Preferiblemente, un entero autoincremental. (Urquizu, 2009)
Las herramientas OLAP se caracterizan por subdividirse en tres tipos de acuerdo a la manera
de almacenar los datos, estos son:
ROLAP (Relational OLAP).
Arquitectura en la que se almacenan los datos en un motor de base de datos
relacional, pero de igual manera se proporciona la funcionalidad analítica. A través
de esta implementación se soporta de mejor manera las capacidades OLAP con
respecto a las bases de datos relacionales, en el sentido que realiza consultas directas
a la base de datos, e igualmente presenta los datos de la manera multidimensional
19
caracterizada por la arquitectura. Los esquemas más comunes sobre los que se trabaja
son estrella o copo de nieve. La arquitectura está compuesta por un servidor de datos
relacional y el motor OLAP.
MOLAP (Multidimentional OLAP).
En este tipo de arquitectura los datos se almacenan de manera dimensional en un
servidor de base de datos multidimensional, permitiendo optimizar los tiempos de
respuesta en la información, ya que al ser sumarizada y/o agregada ayuda mucho a
los datos calculados por adelantado como por ejemplo los totales, lo que aumenta el
desempeño de análisis.
Para tener un idea de cómo funciona la tecnología OLAP se puede hacer una analogía
con la representación de un cubo, y es aquí donde nace el término de los cubos de
información, que no son otra cosa más que el análisis multidimensional de los
datos, como se puede apreciar en la figura 1-13 a continuación.
20
Figura 1-14: Operación OLAP - Drill Down
Fuente: (Duque Galvez, 2010)
Roll up.- Agregar una métrica de lo particular a lo general por la jerarquía ascendente
de sus dimensiones.
22
Costos de Hardware.- Se toma en cuenta el costo de acuerdo a los equipos que serán
utilizados para el proyecto.
Costos de Software.- Tomar en cuenta el costo de Software que se necesitara para
el proyecto, como software para ETL, reportería, entre otros.
Recursos Internos.- Recursos con los que la organización cuenta para el proyecto.
Recursos Externos.- En caso de necesitar algún tipo de consultoría o servicio
externo a la organización.
Costos de Mantenimiento.- La mayoría de productos de hardware y software
necesitan de un mantenimiento.
Soporte.- Todo lo que es el soporte a los usuarios ya sean estos a través de help desk.
Costos de Crecimiento.- Se debe considerar nuevos requerimientos, mejoras
tecnológicas de los productos relacionados de software.
Se considera también los retornos y beneficios a obtener, como:
Incremento de ganancias.
Incremento en los niveles de servicio a los clientes.
Aumento de información para la empresa, y su rápido acceso a ella.
23
Aquí se deberá considerar las reuniones con el equipo de trabajo, el monitoreo de estado del
proyecto realizado periódicamente, el alcance y estrategias de comunicación ya sea con el
equipo de trabajo o con usuarios externos, en estos últimos esencialmente la manera de tratar
por ejemplo cuando llegan nuevos requerimientos a los cuales hay que ver la manera de
manejar estas situaciones.
1.3.4.2 Definición de los requerimientos del negocio.
Los requerimientos de los usuarios del negocio ayudan a definir el diseño e implementación
del datawarehouse, es por esto que desde una perspectiva macro los requerimientos son el
centro del negocio y por ende factor de éxito para un satisfactorio desarrollo de un
datawarehouse.
Algo importante a tener en cuenta es saber identificar y asociar los requerimientos desde una
perspectiva macro y así como también desde pequeñas perspectivas.
Para empezar se debe hablar con los usuarios del negocio, sobre sus trabajos, objetivos, e
intentar conocer cómo y en base a que toman decisiones, al contrario lo que no se debe hacer
es preguntar a los usuarios que datos quieren que aparezca o conste en el datawarehouse, ya
que al conocer su objetivos, decisiones, metas tendremos una mayor perspectiva de que
desean o de qué tipo de información manejan más frecuencia.
24
En esta etapa, el entregable es diseño de la arquitectura de todo el proceso de integración de
los datos y de la presentación de los mismos, con el fin de obtener un esquema gráfico del
funcionamiento del datawarehouse.
Plataforma DBMS.
Existen dos tipos, motor relacional y motor OLAP, lo que se deberá tener en cuenta
cuales son las necesidades, para seleccionar una o ambas opciones.
Herramienta ETL.
Se evalúa la herramienta a utilizar, tomando en cuenta aspectos importantes, como si
es funcional, y si cumple las posibles necesidades a presentarse en el desarrollo,
como por ejemplo si la herramienta puede generar claves subrogadas y hacer
búsquedas de ellas, entre otras; esto ayudará determinar la herramienta a utilizar.
Herramienta BI.
Para seleccionar la mejor opción de una herramienta de Front room o de presentación,
se debe tomar en cuenta la funcionalidad, versatilidad y manejo amigable para el
usuario final. En esta etapa como entregable, son las herramientas a utilizar en cada
sección de desarrollo.
26
Figura 1-17: Datawarehouse Bus Matrix
Fuente: (Duque Galvez, 2010)
En esta etapa, el entregable son los scripts, que son generados al finalizar el diseño y
desarrollo físico. (Kimball, 2008)
27
Desarrollo del Plan ETL.
1.3.4.7.1 Paso 1 – Trazar un plan de alto nivel.
Se diseña un mapa mediante cuadros que especifican la actividad a realizar, con el fin de
mostrar el flujo de datos, desde el origen hacia el destino.
1.3.4.7.2 Paso 2 – Seleccionar la herramienta ETL.
Se selecciona la herramienta ETL adecuada, tomando en cuenta las funcionalidades que se
van a utilizar.
1.3.4.7.3 Paso 3 – Desarrollar estrategias por defecto.
Teniendo la idea de cómo va a funcionar el proceso ETL, se desarrollará estrategias con el
fin de garantizar y aumentar el rendimiento del mismo, como por ejemplo:
Administración de cambios en los atributos de las dimensiones.
Carga de datos.
Frecuencia de carga.
Organización del área temporal ETL.
Secuencia de los procesos de transformaciones.
Registro y manejo de errores.
1.3.4.7.4 Paso 4 – Profundizar la tabla objetivo.
Se diseña la jerarquía de las tablas objetivo mediante gráficos, es decir, se le da un orden a
los niveles de las dimensiones, con lo que se puede apreciar la estructura desde un nivel
macro hasta el más detallado.
28
De igual manera se implementará las actividades de extracción, transformación según la
necesidad, y de carga de datos.
29
Es por ello la importancia de una base de datos para una aplicación de este tipo, ya que es la
base, y el núcleo en el cual reposarán los datos que previamente han sido tratados.
Por lo que para la creación de la base de datos se debe tomar en cuenta ciertas
funcionalidades como:
Alto rendimiento y gestión de datos.
Alta escalabilidad y desempeño para el crecimiento exponencial de datos, lo cual
depende mucho de la cantidad de datos a tratar y ser alojados en el almacén. (Duque
Galvez, 2010)
30
Figura 1-18: Arquitectura Integration Services
Fuente: (Mendoza Rivera, 2008)
31
Microsoft Excel.
Es mucho más que una simple hoja de cálculo. Se ha convertido en la herramienta
multipropósito del puesto de escritorio: permite realizar cálculos, tratar y consolidar
datos, realizar el control de gestión, crear cuadros de mando. Muchas de estas
actividades que han encontrado su lugar natural dentro de Excel se aplican de forma
lógica en el sistema decisional. Aun así Excel es la herramienta ideal para el puesto
de trabajo en lo que respecta al consumo de datos decisionales: su interfaz es
conocida, posee una gran potencia de cálculo y de formateo de datos orientada a
business intelligence. Por último, es capaz de conectarse a orígenes de datos
relacionales o decisionales. (Gauchet, 2011)
32
2 CAPITULO II MARCO METODOLÓGICO.
2.1 Caracterización del sector, rama, empresa, contexto institucional o problema
seleccionado para la investigación.
En 1957 nació INDIA, empresa precursora del grupo, dedicada a la importación de insumos
agrícolas. Creció en la industria avícola con la incubación, venta de huevos comerciales y
más adelante fortaleció el campo agrícola con la investigación y producción de semillas.
En 1979 se crea PRONACA, Procesadora Nacional de Aves, que se convierte en
Procesadora Nacional de Alimentos en 1999.
En los 90 diversificó su producción en cárnicos y otros alimentos, e inició la exportación de
palmito en conserva. En el nuevo siglo PRONACA lleva su modelo de producción y
comercialización de palmito a Brasil y productos listos a Colombia.
Esta empresa es el resultado de años de trabajo, creatividad y constancia. Como empresa
procesadora y comercializadora de alimentos, ha alcanzado el reconocimiento por la alta
calidad de sus productos que provienen de los sectores: cárnico, agroindustrial y acuacultura.
Actualmente, es una empresa orgullosamente ecuatoriana, que alimenta bien y genera
desarrollo en el sector agropecuario con responsabilidad social y ambiental.
33
utilización de datawarehouse por el gerente del negocio logístico y su influencia en la gestión
logística pecuaria.
Y de campo porque se ha acudido al lugar donde se producen los hechos para adquirir datos
primarios (PRONACA – Departamento de logística pecuaria regional Santo Domingo).
2.2.3 Técnicas
Las técnicas de investigación utilizados para obtener información del estado situacional son
las siguientes:
Encuesta.- Fue aplicada a los colaboradores con relación directa al proceso de gestión
logística en abastecimiento y distribución, que a su vez sirvió para tabular, graficar y analizar
34
la información que brindó un conocimiento amplio de las necesidades y del problema a
solucionar; así como a determinar el nivel de aceptación, impacto y beneficios que
proporcionará con la implementación del sistema datawarehouse en la empresa.
2.2.4 Población.
La población a la que se va a dirigir la encuesta está conformada por 20 personas, por cual
se toma la totalidad de la misma.
35
Cuestionario tabulado las respuestas de la encuesta.
Pregunta 1.
¿Conoce usted que es un sistema de datawarehouse y para qué sirve?
10%
Si
No
90%
Interpretación: La grafica refleja que el 90% de las personas encuestadas desconocen para
que sirven un datawarehouse.
Análisis: Esto implica que la mayoría de los colaboradores del área de logística con una
charla o capacitación podrían conocer y entender sobre los beneficios que brinda un
datawarehouse.
36
Pregunta 2.
¿Ud necesita tener información puntual para la tomar decisiones?
10%
Si
No
90%
Interpretación: La grafica refleja que el 100% de las personas encuestadas necesitan tener
información puntual para la toma de decisiones.
37
Pregunta 3.
¿Los reportes obtenidos de sistemas informáticos son rápidos?
0%
10%
Nunca
Interpretación: Se observa que el 75% opina que la velocidad para obtener reportes nunca
es rápido, el 15% alguna vez, el 10% casi siempre y el 0% siempre.
Análisis: La mayoría de los encuestados, manifiesta que nunca es rápida la velocidad para
obtener los reportes.
38
Pregunta 4.
¿De los reportes obtenidos siempre encuentras la totalidad de los datos que necesitas?
0%
10%
Nunca
Interpretación: Se observa que el 75% opina que nunca obtiene los datos requeridos en un
reporte, el 15% alguna vez obtuvo los datos requeridos, el 10% casi siempre, y el 0%
siempre.
Análisis: En este caso podemos apreciar que la mayoría de los colaboradores encuestados
no obtienen los datos completos al momento de sacar un reporte de los sistemas informáticos,
por lo que necesitan elaborar nuevas campos en Excel para obtener lo requerido,
convirtiéndose en una actividad lenta y compleja.
39
Pregunta 5.
¿Puedes obtener reporte histórico de los sistemas informáticos?
10%
Si
No
90%
Análisis: El total de las personas encuestadas nos responde que de los sistemas informáticos
no es posible obtener reportes históricos de más de un año.
40
Pregunta 6.
¿Te gustaría tener la información en el momento oportuno?
10%
Si
No
90%
Análisis: El total de las personas encuestadas nos responde que, el tener la información a la
mano aporta a la toma de decisiones oportunamente.
41
Pregunta 7.
¿Cree usted que mejoraría el desempeño en su puesto de trabajo con las estadísticas de la
gestión logística que se obtendría del datawarehouse?
Si 15 75,00%
No 1 5,00%
8%
17%
Si
No
Tal vez
75%
Análisis: La mayoría de los encuestados manifiestan que si mejoraría la gestión que realiza
en su puesto de trabajo al contar con datos estadísticos y una minoría opina que tal vez o no
aportaría mayor cosa en la mejorar de su gestión.
42
Pregunta 8.
¿Frecuentemente obtiene reportes de los sistemas informáticos?
0%
10%
Nunca
Interpretación: Se observa que el 0% opina que nunca obtiene reportes de los sistemas
informáticos, el 10% alguna vez se requiere un reporte, el 25% casi siempre y el 65%
siempre.
Análisis: La mayoría de los encuestados manifiestan que necesitan obtener datos de los
reportes generados por los sistemas informáticos, ya que son imprescindibles para el análisis
de los mismos.
43
2.3 Conclusiones parciales.
De la entrevista aplicada al jefe regional de logística se obtuvo como resultado una
información muy detallada acerca de los procesos que realizan para obtener informes y
reportes estratégicos de la gestión logística, de esta manera se obtendrá un datawarehouse
acorde a las necesidades que se realiza en este departamento y esto a su vez permite optimizar
tiempo y recursos. Y de la encuesta realizada a los empleados, se pudo apreciar que existe
una gran acogida y aceptación que avala el desarrollo e implantación de un datawarehouse
para la empresa.
44
3 CAPITULO III MARCO PROPOSITIVO.
Para el desarrollo del datawarehouse, se utilizará como guía la metodología de Ralph
Kimball tratada en el capítulo I. Esto permitirá realizar el proyecto en base a pasos que
garantizan la calidad del mismo. Metodología que será adaptada a las necesidades del
proyecto.
45
Gestión tecnológica.
Jefe regional de logística
Personal involucrado en el departamento.
Empleados que participan activamente en la gestión logística de abastecimiento y
distribución.
Gestión logística.
La jefatura de logística supo dar a conocer la información que le interesa y sobre la cual se
soportan para la toma de decisiones, estas son:
TM abastecidas de MP.
Costo de transporte.
Dólares por TM transportada.
TM despachadas de PT.
TM despachadas por especie
Ordenes atendidas.
Cumplimiento de reaprovisionamiento.
Cumplimiento pedidos
Cantidades despachadas.
46
Costo redes de distribución.
Análisis de la información en un horizonte de tiempo, anual, trimestral, mensual,
semanal.
Costo logístico por tonelada comercial [$/TM].
Indicadores.
Entregas a tiempo.
Descripción: Este indicador representa las entregas a tiempo sobre el total de
entregas.
Entregas completas.
Descripción: Este indicador representa las entregas completas sobre el total de
entregas.
Tiempo de ciclo de pedido
Descripción: Media del valor de tiempo pasado desde que un cliente emite un pedido
hasta que lo recibe.
Costo de transporte medio unitario.
Descripción: Costo total de transporte sobre el número de unidades movidas.
Volumen por red de transporte x 100
Volumen total expedido
Utilización de transporte.
Descripción: Costo total de transporte por red sobre kilogramos totales movidos por
red.
Costo por kilómetros.
Descripción: Costo total de trasporte sobre kilómetros totales recorridos.
47
Cantidades despachadas de ítems por:
Tipo de Cliente.
Cliente
Red de cliente.
Zona de cliente.
Familia de Ítem.
Volúmenes.
Nivel de servicio:
A tiempo.
Completo.
OTIF.
48
3.3.2 Front room
En esta sección se especifica la arquitectura de presentación del datawarehouse, mediante
aplicaciones dirigidas al usuario final.
Es parte del datawarehouse en donde se encuentra los datos que ya han sido tratados y
almacenados, posteriormente se procede a la presentación de acuerdo al tipo de aplicación
de usuario final que se utilice. Para el desarrollo del presente proyecto se implementará una
arquitectura de ambiente analítico para poder diseñar los cubos OLAP.
49
Herramienta DW.
Para la construcción del cubo se utilizó Analysis Services por su facilidad en el manejo.
DIMENSION_ARTICULO
DIMENSION_CLIENTE
DIMENSION_VEHICULOSP
DIMENSION_PROVEEDOR
DIMENSION_TIPOMOVIMIENTO
DIMENSION_TIEMPO
DIMENSION_RUTA
DIMENSION_REDTRANSPORTE
DIMENSION_COMPAÑIATRANS
HECHO_GESTIONLOG_MP
HECHO_GESTIONLOG_PT
HECHO_NIVELSERVICIO
50
Tabla 3-1: Mapeo de datos Dimensión Artículo
Nombre de la Tabla: DIMENSION_ARTICULO
3.5.1.1 Dimensión artículo.
DESTINO ORIGEN
Nombre Columna Descripción Tipo de Dato/Tamaño Clave Sistema/Tabla Campo Origen Tipo de Dato/Tamaño
ID_ARTICULO Clave primaria Subrogada int Primaria Sistema ETL
mismos están clasificados por tipo y especie.
51
NOMBRE_ARTICULO Descripción del articulo varchar(50) articulos titulo varchar(50)
PRESENTACION_ARTICULO Peso en kg por unidad nvarchar(4) auxiliar_articulos presentación nvarchar(255)
Clasificación de la especie de
ESPECIE_ARTICULO animales nvarchar(10) auxiliar_articulos especie nvarchar(255)
TIPO_ARTICULO Tipo de Articulo nvarchar(10) auxiliar_articulos tipo nvarchar(255)
NEGOCIO_ARTICULO Calcificación de negocio nvarchar(15) auxiliar_articulos negocio nvarchar(255)
DESTINO ORIGEN
Nombre Columna Descripción Tipo de Dato/Tamaño Clave Sistema/Tabla Campo Origen Tipo de Dato/Tamaño
ID_CLIENTE Clave primaria subrogada int Primaria Sistema ETL
CODIGO_CLIENTE Codigo Cliente varchar(6) clientes codcli varchar(6)
52
NOMBRE_CLIENTE Nombre Cliente varchar(100) clientes nomcli varchar(100)
DIRECCION_CLIENTE Direccion del Cliente nvarchar(100) clientes dircli nvarchar(100)
Clacificacion del Cliengte por
TIPO_CLIENTE tipo char(20) clientes tipocli char(20)
Zona de ubicación de los
ZONA_CLIENTE Clientes. nvarchar(15) auxiliar_zonacliente zona nvarchar(255)
DESTINO ORIGEN
Nombre Columna Descripción Tipo de Dato/Tamaño Clave Sistema/Tabla Campo Origen Tipo de Dato/Tamaño
ID_PROVEEDOR Clave primaria subrogada int Primaria Sistema ETL
53
CODIGO_PROVEEDOR Código Proveedor char(6) Sistema ETL código varchar(6)
NOMBRE_PROVEEDOR Nombre Proveedor varchar(100) Sistema ETL nombrep varchar(100)
Dirección Proveedor
DIRECCION_PROVEEDOR varchar(100) Sistema ETL direcp nvarchar(100)
Clasificación de Proveedor
TIPO_PROVEEDOR por tipo char(10) Sistema ETL tipo_proveedor char(20)
DESTINO ORIGEN
Nombre Columna Descripción Tipo de Dato/Tamaño Clave Sistema/Tabla Campo Origen Tipo de Dato/Tamaño
54
ID_MOVIMIENTO Clave primaria subrogada int Primaria Sistema ETL
CODIGO_MOVIMIENTO Código movimiento nvarchar(2) pesaje codigo_mov decimal(11,6)
TIPO_MOVIMIENTO Clasificacion movimientos nvarchar(20) Sistema ETL tipo_mov varchar(100)
DETALLE_MOVIMIENTOClase de tipo movimiento nvarchar(30) Sistema ETL Clase_mov varchar(100)
DESTINO ORIGEN
55
Nombre Columna Descripción Tipo de Dato/Tamaño Clave Sistema/Tabla Campo Origen Tipo de Dato/Tamaño
ID_REDTRANS Clave primaria subrogada int Primaria Sistema ETL
CODIGO_REDTRANS codigo red transporte char(4) detalle_pesaje codred char(4)
DESCRIPCION_REDTRANS
descripcion red de transporte cahr(15) Sistema ETL
DESTINO ORIGEN
Nombre Columna Descripción Tipo de Dato/Tamaño Clave Sistema/Tabla Campo Origen Tipo de Dato/Tamaño
ID_COMPAÑIATRANS Clave primaria subrogada int Primaria Sistema ETL
Código compañía transporte
CODIGO_COMPAÑIATRANS char(6) propitran Codigopv char(6)
56
Nombre de la compañía
transporte
NOMBRE COMPAÑIATRANS char(35) propitran propieta char(35)
Dirección compañía de
DIR_COMPAÑIATRANS transporte char(35) propitran direccionp char(35)
Telefonos de la diferentes
compañias
TELEFONO_COMPAÑIATRANS char(9) propitran telefonop char(9)
57
Nombre Columna Descripción Tipo de Dato/Tamaño Clave Sistema/Tabla Campo Origen Tipo de Dato/Tamaño
ID_VEHICULO Clave primaria subrogada int Primaria Sistema ETL Clave primaria sobrogada
int
PLACA_VEHICULO codigo vehiculo char(7) vehiculos placa char(7)
58
Tabla 3-10 : Medidas tabla de hecho Nivel de Servicio
Medida Detalle
Insuficiencia Pedidos no entregados
Cumplimiento % cumplimiento de pedidos
A tiempo % cumplimiento de pedidos en la fecha programada
59
Tabla 3-11: Mapeo de datos tabla de hecho gestionlog_PT
Nombre de la Tabla: HECHO_GESTIONLOG_PT
Tipo de Tabla: HECHO
PESAJE, DIMENSION_ARTICULO, DIMENSION_VEHICULO, DIMENSION_COMPAÑIATRANS, DIMENSION_PROVEEDOR, DIMENSION_RUTA,
Tablas Origen: DIMENSION_TIEMPO, VALORTRA
DESTINO ORIGEN
Nombre Columna Descripción Tipo de Dato/Tamaño Clave Sistema/Tabla Campo Origen Tipo de Dato/Tamaño
ID_DISTRIBUCION Clave primaria subrogada int Primaria Sistema ETL
Clave foranea de la dimensión
ID_VEHICULO VEHICULO int Primaria foranea DIMENSION_VEHICULO ID_VEHICULO INT
Clave foranea de la dimensión
ID_COMPAÑIATRANS COMPAÑIATRANS int Primaria foranea DIMENSION_COMPAÑIATRANS ID_COMPAÑIATRANS INT
Clave foranea de la dimensión
ID_ARTICULO ARTICULO int Primaria foranea DIMENSION_ARTICULO ID_ARTICULO INT
Clave foranea de la dimensión
ID_PROVEEDOR PROVEEDOR int Primaria foranea DIMENSION_PROVEEDOR ID_PROVEEDOR INT
60
Clave foranea de la dimensión
ID_CLIENTE CLIENTE int Primaria foranea DIMENSION_CLIENTE ID_CLIENTE INT
Clave foranea de la dimensión
ID_MOVIMIENTO TIPOMOVIMIENTO int Primaria foranea DIMENSION_MOVIMIENTO ID_MOVIMIENTO INT
Calve foranea de la dimension
ID_RUTA RUTA int Primaria foranea DIMENSION_RUTA ID_RUTA INT
Clave foranea de la dimensión
ID_FECHA TIEMPO date Primaria foranea DIMENSION_FECHA ID_FECHA INT
Clave foranea de la dimensión
ID_REDTRANS REDTRANS int Primaria foranea DIMENSION_REDTRANSPORTE ID_REDTRANS INT
KILOS Kilos despachados decimal(15,2) pesaje pesokilos decimal (15,4)
Diferencia de kg entre peso enviado
DIFERENCIA_PESO y recibido decimal(9,2) pesaje diferencia decimal (9,2)
VALOR_FLETE Valor flete decimal(11,2) pesaje netotrans decimal (11,2)
KMS_RECORRIDO Kilometros recorridos por ruta decimal(5,0) valortra kmsvt decimal (5,2)
61
Tabla 3-12: Mapeo de datos tabla de hecho gestionlog MP.
Nombre de la Tabla: HECHO_GESTIONLOG_MP
Tipo de Tabla: HECHO
PESAJE, DIMENSION_ARTICULO, DIMENSION_CLIENTE, DIMENSION_VEHICULO, DIMENSION_COMPAÑIATRANS, DIMENSION_PROVEEDOR,
Tablas Origen: DIMENSION_RUTA, DIMENSION_REDTRANS, DIMENSION_TIEMPO, VALORTRA
DESTINO ORIGEN
Nombre Columna Descripción Tipo de Dato/Tamaño Clave Sistema/Tabla Campo Origen Tipo de Dato/Tamaño
ID_GESTIONLOG Clave primaria subrogada INT Primaria Sistema ETL
Clave foranea de la dimensión
ID_VEHICULO VEHICULO INT Primaria foranea DIMENSION_VEHICULO ID_VEHICULO INT
Clave foranea de la dimensión
ID_COMPAÑIATRANS COMPAÑIATRANS INT Primaria foranea DIMENSION_COMPAÑIATRANS ID_COMPAÑIATRANS INT
Clave foranea de la dimensión
ID_ARTICULO ARTICULO INT Primaria foranea DIMENSION_ARTICULO ID_ARTICULO INT
Clave foranea de la dimensión
ID_PROVEEDOR PROVEEDOR INT Primaria foranea DIMENSION_PROVEEDOR ID_PROVEEDOR INT
Clave foranea de la dimensión
62
ID_CLIENTE CLIENTE INT Primaria foranea DIMENSION_CLIENTE ID_CLIENTE INT
Clave foranea de la dimensión
ID-MOVIMIENTO TIPOMOVIMIENTO INT Primaria foranea DIMENSION_MOVIMIENTO ID_MOVIMIENTO INT
Clave foranea de la dimensión
ID_RUTA RUTA INT Primaria foranea DIMENSION_RUTA ID_RUTA INT
Clave foranea de la dimensión
ID_FECHA TIEMPO date Primaria foranea DIMENSION_TIEMPO fecha date
Clave foranea de la dimensión
ID_REDTRANS REDTRANS INT Primaria foranea DIMENSION_REDTRANSPORTE ID_REDTRANS INT
KILOS Kilos despachados decimal(15,2) pesaje pesokilos decimal (15,2)
Diferencia de kg entre peso enviado
DIFERENCIA_PESO y recibido decimal(9,2) pesaje diferencia decimal (9,2)
VALOR_FLETE Valor flete decimal(11,2) pesaje netotrans decimal (11,2)
KMS_RECORRIDO Kilometros recorridos por ruta decimal(5,0) valortra kmsvt decimal (5,2)
63
Tabla 3-13: Mapeo de datos tabla de hecho nivelservicio
Nombre de la Tabla: HECHO_NIVELSERVICIO
Tipo de Tabla: HECHO
Tablas Origen: TABLAS DE EXCEL BASE_PEDIDOS_M12, DIMENSION_ARTICULO, DIMENSION_CLIENTE, DIMENSION_TIEMPO
DESTINO ORIGEN
Nombre Columna Descripción Tipo de Dato/Tamaño Clave Sistema/Tabla Campo Origen Tipo de Dato/Tamaño
ID_SERVICIO Clave primaria subrogada INT Primaria Sistema ETL
Clave foranea de la dimensión
ID_CLIENTE CLIENTE INT Primaria foranea DIMENSION_CLIENTE ID_CLIENTE INT
Clave foranea de la dimensión
64
ID_ARTICULO ARTICULO INT Primaria foranea DIMENSION_ARTICULO ID_ARTICULO INT
Clave foranea de la dimensión
ID_FECHA TIEMPO date Primaria foranea DIMENSION_TIEMPO fecha date
INSUFICIENCIA Kilos no despachados float BASE_PEDIDOS_M12 Sistema ETL numerico
CUMPLIMIENTO Pedidos entregados float BASE_PEDIDOS_M12 Sistema ETL numerico
A_TIEMPO Fecha de pedido cumplido a tiempo float BASE_PEDIDOS_M12 Sistema ETL numerico
OTIF Kilometros recorridos por ruta float BASE_PEDIDOS_M12 Sistema ETL numerico
Compañía Transporte
Movimiento
Proveedor
Recorrido
Vehículo
Articulo
Tiempo
Cliente
Red
Proceso de Negocio Tabla de hecho Granularidad
GestionLog_MP Un registro por cada movimiento X X X X X X X X X
Gestion Logistica
GestionLog_PT Un registro por cada movimiento X X X X X X X X X
Pecuaria
Nivel de servicio Un registro por cada movimiento X X X
65
será explicada en el diseño ETL para su mayor entendimiento así como de la funcionalidad
que aportará.
66
Diagrama tabla temporal (Mantenimiento DW).
67
Diagrama GestionLog_PT
69
3.7.4.1 Extracción de Datos.
La extracción de los datos se lo realizará mediante sentencias SQL a las tablas de la base
origen. Como resultado devolverá todos los registros de acuerdo a la tabla consultada debido
a que es el proceso de carga inicia.
3.7.4.2 Transformación de Datos.
Los datos antes de ser cargados en el almacén serán transformados según lo requieran, para
lo cual se especificó ciertas transformaciones que se mencionan a continuación de acuerdo
a cada dimensión, los datos a las tablas de hecho se cargan por medio de procedimientos
almacenados.
3.7.4.3 Carga de datos.
Los datos ya tratados procedemos a cargarlos por medio de una tarea de procesamiento de
Analysis Services.
70
3.8 Implementación de cubo.
Después de realizar el proceso de ETL y una vez que el datawarehouse ya contiene los datos
se procede a la construcción y publicación de los cubos con la herramienta Analysis Services
para el análisis OLAP. Para el caso práctico se presenta en resumen el procedimiento para
la creación y publicación de un cubo, el Anexo 5, detalla cada uno de los pasos que a
continuación se enumeran:
1. Creación de conexión.- Antes de crear un cubo se debe crear la conexión a la base de
datos de donde se va extraer la información.
2. Creación de vistas de origen de datos.- Se crea un esquema de vista de origen de datos
que es la base para la creación del cubo.
3. Creación de cubos.- Se procede con la creación de los cubos.
4. Creación de dimensiones.- Añadir las dimensiones de acuerdo al diseño del cubo.
5. Creación de jerarquías.- Al momento de la creación de los cubos se debe configurara
las jerarquías, normalmente la jerarquías se configuran a las dimensiones de tiempo,
geográficas etc.
6. Creación de medidas.- Añadir medidas en los cubos de información de acuerdo al
requerimiento.
71
Figura 3-13: Menú visualización de datos del cubo OLAP.
Elaboración: Freddy Jaramillo.
72
3.9.2 Tablero de control abastecimiento de materia prima
En este tablero de control podemos visualizar TM de materias primas abastecidas a la planta
de producción, conocer esta información nos permite administrar nuestros recursos
(transporte, productividad logística).
73
CONCLUSIONES.
Para el desarrollo del datawarehouse fue indispensable contar con el apoyo tanto del área de
informática, los cuales brindan el soporte tecnológico, así como del área referente al negocio
con el fin de evaluar en conjunto las necesidades, y ser ente activo durante todas las etapas
de desarrollo.
74
RECOMENDACIONES.
Se recomienda como alcance para los desarrollos futuros del datawarehouse, trabajar en
conjunto con las TIC y las diferentes regiones, con el fin de visionar y conformar indicadores
representativos, que sean objeto de medición dentro del negocio logístico al nivel nacional.
Es recomendable contar con el apoyo técnico del área informática y del departamento
logístico, con el fin de recoger adecuadamente las necesidades, y que las mismas sean
reflejadas en el diseño del datawarehouse.
Se recomienda llevar a cabo un estudio del negocio y de la veracidad de fuentes de datos que
lo respalda, con el fin de sustentar un origen de calidad para la integración de datos.
75
BIBLIOGRAFÍA.
4. ¿De los reportes obtenidos siempre encuentras la totalidad de los datos que necesitas?
___Nunca ___ Algunas veces ___Casi siempre ___Siempre
7. ¿Cree usted que mejoraría el desempeño en su puesto de trabajo con las estadísticas de la
gestión logística que se obtendría del datawarehouse?
___ Si ___ No ___Tal vez
Creamos las vistas de origen de datos donde incorporamos todas las tablas requeridas, en
este caso creamos dos vistas denominadas de la siguiente manera:
Diseño de la vista Abast_Dist_PT, dentro de estas vistas anexaremos los Query
correspondientes que será el proceso mediante el cual trataremos los datos desde su origen.
SELECT
CASE WHEN ROW_NUMBER() OVER (PARTITION BY ticketpeso
ORDER BY ticketpeso) = 1 THEN 1 ELSE 0 END num_transaccion, dbo.pesaje.ticketpeso,
dbo.pesaje.placast,
CAST(CASE
WHEN codigopv = 'tr0000' THEN REPLACE(codigopv, 'TR0000', 'TR0157')
WHEN codigopv = 'TR0026' THEN REPLACE(codigopv, 'TR0026', 'TR1709')
WHEN codigopv = 'TR1498' THEN REPLACE(codigopv, 'TR1498', 'TR1751')
ELSE codigopv
END AS NVARCHAR(6)) AS COD_COMPAÑIA,dbo.pesaje.codigo, dbo.pesaje.codigod,
dbo.pesaje.codigovt, dbo.pesaje.codigop, dbo.pesaje.pesoartic, dbo.pesaje.fechasale,
dbo.pesaje.pesosalida,
CASE
WHEN (codigopv = 'TR0157' OR
codigopv = 'tr0000' OR
codigopv = 'pm0198' OR
codigopv = 'tr0685') AND (codigod LIKE '80%') AND pesoartic = 2 THEN 0
ELSE netotrans
END AS netotrans, dbo.pesaje.cantsacos, dbo.pesaje.presentac, dbo.pesaje.pesokilos,
dbo.pesaje.diferencia,
CASE
WHEN (codigop = 'M11' OR
codigop = 'M13' OR
codigop = 'M31' OR
codigop = 'M88' OR
codigop = 'M89') AND (pesoartic = 4) AND codigo LIKE 'T%' THEN '01'
WHEN (codigopv = 'tr0487' OR
codigopv = 'tr1709' OR
codigopv = 'tr0026' OR
codigopv = 'tr1495') AND (codigod LIKE '80%') AND pesoartic = 2 AND codigo LIKE 'T%' THEN
'02'
WHEN (codigod LIKE '0IN%' OR
codigod LIKE '2IN%') AND pesoartic = 2 AND codigo LIKE 'T%' THEN '04'
WHEN codigod LIKE 'M86%' AND pesoartic = 3 AND codigo LIKE 'T%' THEN '05'
WHEN codigod LIKE 'B%' AND pesoartic = 3 AND
codigo LIKE 'T%' THEN '06'
WHEN (codigopv = 'tr0157' OR
codigopv = 'tr0000' OR
codigopv = 'pm0198' OR
codigopv = 'tr0685') AND (codigod LIKE '80%') AND pesoartic = 2 AND codigo LIKE 'T%' THEN
'07'
WHEN codigop = 'M34' OR
codigop = 'M75' OR
codigop = 'M33' AND (codigo LIKE 'S%' OR
codigo LIKE 'VM%' OR
codigo LIKE 'MD%' OR
codigo LIKE 'QU%' OR
codigo LIKE '25%' OR
codigo LIKE '00%') AND pesoartic = 4 THEN '08'
WHEN codigod LIKE 'M%' AND pesoartic = 3 AND codigo LIKE 'T%' THEN '10'
ELSE '11'
END AS codred,
CASE
WHEN valortra.kmsvt IS NULL
THEN 0
ELSE valortra.kmsvt
END AS kmsvt
FROM dbo.pesaje FULL OUTER JOIN
dbo.valortra ON pesaje.CODIGOVT = VALORTRA.CODIGOVT
WHERE(dbo.pesaje.pesosalida <> 'N') AND (dbo.pesaje.pesoartic = 2 OR
dbo.pesaje.pesoartic = 3 OR
dbo.pesaje.pesoartic = 4) AND (dbo.pesaje.codigo <> '' AND pesokilos IS NOT NULL)
SELECT
CASE
WHEN ROW_NUMBER() OVER (PARTITION BY ticketpeso
ORDER BY ticketpeso) = 1 THEN 1
ELSE 0
END num_transaccion, histpesa.ticketpeso, dbo.histpesa.placast,
CAST(CASE
WHEN codigopv = 'tr0000' THEN REPLACE(codigopv, 'tr0000', 'tr0157')
WHEN codigopv = 'TR0026' THEN REPLACE(codigopv, 'TR0026', 'TR1709')
WHEN codigopv = 'TR1498' THEN REPLACE(codigopv, 'TR1498', 'TR1751')
ELSE codigopv
END AS NVARCHAR(6)) AS COD_COMPAÑIA,dbo.histpesa.codigo, dbo.histpesa.codigod,
dbo.histpesa.codigovt, dbo.histpesa.codigop, dbo.histpesa.pesoartic, dbo.histpesa.fechasale,
dbo.histpesa.pesosalida,
CASE WHEN (codigopv = 'TR0157' OR
codigopv = 'tr0000' OR
codigopv = 'pm0198' OR
codigopv = 'tr0685') AND (codigod LIKE '80%') AND pesoartic = 2 THEN 0
ELSE netotrans
END AS netotrans, dbo.histpesa.cantsacos, dbo.histpesa.presentac, dbo.histpesa.pesokilos,
dbo.histpesa.diferencia,
CASE
WHEN (codigop = 'M11' OR
codigop = 'M13' OR
codigop = 'M31' OR
codigop = 'M88' OR
codigop = 'M89') AND (pesoartic = 4) AND codigo LIKE 'T%' THEN '01'
WHEN (codigopv = 'tr0487' OR
codigopv = 'tr1709' OR
codigopv = 'tr0026' OR
codigopv = 'tr1495') AND (codigod LIKE '80%') AND pesoartic = 2 AND codigo LIKE 'T%'
THEN '02'
WHEN (codigod LIKE '0IN%' OR
codigod LIKE '2IN%') AND pesoartic = 2 AND codigo LIKE 'T%' THEN '04'
WHEN codigod LIKE 'M86%' AND pesoartic = 3 AND codigo LIKE 'T%' THEN '05'
WHEN codigod LIKE 'B%' AND pesoartic = 3 AND
codigo LIKE 'T%' THEN '06'
WHEN (codigopv = 'tr0157' OR
codigopv = 'tr0000' OR
codigopv = 'pm0198' OR
codigopv = 'tr0685') AND (codigod LIKE '80%') AND pesoartic = 2 AND codigo LIKE 'T%'
THEN '07'
WHEN codigop = 'M34' OR
codigop = 'M75' OR
codigop = 'M33' AND (codigo LIKE 'S%' OR
codigo LIKE 'VM%' OR
codigo LIKE 'MD%' OR
codigo LIKE 'QU%' OR
codigo LIKE '25%' OR
codigo LIKE '00%') AND pesoartic = '4' THEN '08'
WHEN codigod LIKE 'M%' AND codigo LIKE 'T%' AND pesoartic = 3 THEN '10'
ELSE '11'
END AS codred,
CASE
WHEN valortra.kmsvt IS NULL THEN 0
ELSE valortra.kmsvt
END AS kmsvt
FROM dbo.histpesa FULL OUTER JOIN dbo.valortra ON HISTPESA.CODIGOVT =
VALORTRA.CODIGOVT
WHERE(dbo.histpesa.pesosalida <> 'N') AND (dbo.histpesa.pesoartic = 2 OR
dbo.histpesa.pesoartic = 3 OR dbo.histpesa.pesoartic = 4) AND (dbo.histpesa.codigo <> '' AND pesokilos
IS NOT NULL)
Diseño de la vista Abastecimiento_MP
SELECT
CASE
WHEN ROW_NUMBER() OVER (PARTITION BY ticketpeso
ORDER BY ticketpeso) = 1 THEN 1
ELSE 0
END num_transaccion, histpesa.ticketpeso, dbo.histpesa.placast,
CAST(CASE WHEN codigopv = 'tr0000' THEN REPLACE(codigopv,'tr0000','TR0157')
WHEN codigopv = 'TR0026' THEN REPLACE(codigopv, 'TR0026', 'TR1709')
WHEN codigopv = 'TR1498' THEN REPLACE(codigopv, 'TR1498', 'TR1751')
ELSE codigopv
END AS NVARCHAR(6)) AS COD_COMPAÑIA, dbo.histpesa.codigo, dbo.histpesa.codigod,
dbo.histpesa.codigovt,
dbo.histpesa.codigop, dbo.histpesa.pesoartic, dbo.histpesa.fechasale, dbo.histpesa.pesosalida,
CASE
WHEN (codigopv = 'tr0157' OR
codigopv = 'tr0000' OR
codigopv = 'pm0198' OR
codigopv = 'tr0685') THEN 0
ELSE netotrans
END AS netotrans, dbo.histpesa.cantsacos, dbo.histpesa.presentac, pesokilos,
dbo.histpesa.diferencia,
CASE
WHEN (pesoartic = 4 OR pesoartic = 6) THEN '01'
WHEN pesoartic = 1 THEN '03'
ELSE '11'
END AS codred,
CASE
WHEN valortra.kmsvt IS NULL THEN 0
ELSE valortra.kmsvt
END AS kmsvt
FROM dbo.histpesa FULL OUTER JOIN dbo.valortra ON HISTPESA.CODIGOVT =
VALORTRA.CODIGOVT
WHERE(dbo.histpesa.pesosalida <> 'N') AND (dbo.histpesa.pesoartic = 1 OR dbo.histpesa.pesoartic = 4 OR
dbo.histpesa.pesoartic = 6) AND (dbo.histpesa.codigo LIKE 'M%') AND
(dbo.histpesa.codigod = 'M12') AND (dbo.histpesa.codigop <> '' AND pesokilos IS NOT NULL)
SELECT
CASE
WHEN ROW_NUMBER() OVER (PARTITION BY ticketpeso
ORDER BY ticketpeso) = 1 THEN 1
ELSE 0
END num_transaccion, dbo.pesaje.ticketpeso, dbo.pesaje.placast,
CAST(CASE
WHEN codigopv = 'tr0000' THEN REPLACE(codigopv, 'tr0000', 'TR0157')
WHEN codigopv = 'TR0026' THEN REPLACE(codigopv, 'TR0026', 'TR1709')
WHEN codigopv = 'TR1498' THEN REPLACE(codigopv, 'TR1498', 'TR1751')
ELSE codigopv
END AS NVARCHAR(6)) AS COD_COMPAÑIA, dbo.pesaje.codigo, dbo.pesaje.codigod,
dbo.pesaje.codigovt,
dbo.pesaje.codigop, dbo.pesaje.pesoartic, dbo.pesaje.fechasale, dbo.pesaje.pesosalida,
CASE
WHEN (codigopv = 'tr0157' OR
codigopv = 'tr0000' OR
codigopv = 'pm0198' OR
codigopv = 'tr0685') THEN 0
ELSE netotrans
END AS netotrans, dbo.pesaje.cantsacos, dbo.pesaje.presentac, pesokilos, dbo.pesaje.diferencia,
CASE
WHEN (pesoartic = 4 OR
pesoartic = 6) THEN '01'
WHEN pesoartic = 1 THEN '03'
ELSE '11'
END AS codred,
CASE
WHEN valortra.kmsvt IS NULL THEN 0
ELSE valortra.kmsvt
END AS kmsvt
FROM dbo.pesaje FULL OUTER JOIN dbo.valortra ON pesaje.CODIGOVT = VALORTRA.CODIGOVT
WHERE(dbo.pesaje.pesosalida <> 'N') AND (dbo.pesaje.pesoartic = 1 OR
dbo.pesaje.pesoartic = 4 OR dbo.pesaje.pesoartic = 6) AND (dbo.pesaje.codigo LIKE 'M%') AND
(dbo.pesaje.codigod = 'M12') AND (dbo.pesaje.codigop <> '' AND pesokilos IS NOT NULL)
BEGIN TRANSACTION
SELECT @FechaDesde = CAST('20100101' AS smalldatetime)
SELECT @FechaHasta = CAST(CAST(YEAR(GETDATE())+2 AS CHAR(4)) + '1231' AS
smalldatetime)
FechaSK,Fecha,Año,Trimestre,Mes,Semana,Dia,DiaSemana,NTrimestre,NMes,NMes3L,NSemana,NDi
a,NDiaSemana
) VALUES
(
@FechaAAAAMMDD,@FechaDesde,@Año,@Trimestre,@Mes,@Semana,@Dia,@DiaSemana,@
NTrimestre,@NMes,@NMes3l,@NSemana,@NDia,@NDiaSemana
)
SELECT @FechaDesde = DATEADD(DAY, 1, @FechaDesde)
END
COMMIT TRANSACTION
end
Go
Una vez listo nuestras vistas, continuamos con la creación de los paquetes SSIS, que es
donde se diseñan los flujos de datos con diferentes conexiones organizadas, en este proyecto
creamos cuatro paquetes que son:
Paquete Extrae_Datos..- En este paquete extraemos los datos desde la DDB origen
Almacen_M12, de cada una de las tablas necesarias, además incorporamos datos desde
tablas electrónicas de Excel son datos manejados por el departamento de logística.
Flujo de control Extrae datos desde su origen.
Paquete Transforma_datos.- Con este paquete logramos incorporar datos a una DDB con
estructura de un datawarehouse, además incorporamos claves foráneas para mejorar el
rendimiento de búsqueda.
Flujo de control Transforma datos.
from Mantenimiento_DW..DETALLE_PESAJE_MP PE
inner join DIMENSION_VEHICULOS dv on pe.COD_PLACA=dv.PLACA_VEHICULO
inner join DIMENSION_COMPAÑIATRANS dco on
pe.COD_COMPAÑIA=dco.CODIGO_COMPAÑIATRANS
inner join DIMENSION_ARTICULO da on pe.COD_ARTICULO=da.COD_ARTICULO
inner join DIMENSION_PROVEEDOR pr on pe.COD_PROVEEDOR=PR.CODIGO_PROVEEDOR
inner join DIMENSION_TIPOMOVIMIENTO tm on
pe.COD_TIPOMOVIMIENTO=tm.CODIGO_MOVIMIENTO
inner join DIMENSION_TIEMPO dt on pe.COD_FECHA=dt.FECHA
inner join DIMENSION_RUTA rc on pe.COD_RUTA=rc.CODIGO_RUTA
inner join DIMENSION_REDTRANSPORTE rt on pe.COD_RED=rt.CODIGO_REDTRANS
end
go
from Mantenimiento_DW..DETALLE_PESAJE_PT PE
inner join DIMENSION_VEHICULOS dv on pe.COD_PLACA=dv.PLACA_VEHICULO
inner join DIMENSION_COMPAÑIATRANS dco on
pe.COD_COMPAÑIA=dco.CODIGO_COMPAÑIATRANS
inner join DIMENSION_ARTICULO da on pe.COD_ARTICULO=da.COD_ARTICULO
inner join DIMENSION_PROVEEDOR pr on pe.COD_PROVEEDOR=PR.CODIGO_PROVEEDOR
inner join DIMENSION_CLIENTE dc on pe.COD_CLIENTE=dc.CODIGO_CLIENTE
inner join DIMENSION_TIPOMOVIMIENTO tm on
pe.COD_TIPOMOVIMIENTO=tm.CODIGO_MOVIMIENTO
inner join DIMENSION_TIEMPO dt on pe.COD_FECHA=dt.FECHA
inner join DIMENSION_RUTA rc on pe.COD_RUTA=rc.CODIGO_RUTA
inner join DIMENSION_REDTRANSPORTE rt on pe.COD_RED=rt.CODIGO_REDTRANS
end
go
from Mantenimiento_DW..DETALLE_PEDIDOS_PT DP
INNER JOIN DIMENSION_CLIENTE DC ON DP.Cod_Cliente=DC.CODIGO_CLIENTE
INNER JOIN DIMENSION_ARTICULO DR ON DP.Cod_articulo=DR.COD_ARTICULO
INNER JOIN DIMENSION_TIEMPO dt on dp.fecha_pedido=DT.Fecha
order by fecha_pedido
end
go
Paquete Carga_datos.- En este paquete actualizamos nuestros cubos por medio de una tarea
de procedimiento de Analisis Services.
Paquete ETL.- En este paquete demostramos la lógica inherente a un proyecto de
Extracción, Transformación y Carga (ETL). ETL es un proyecto que, por naturaleza, es
dividido en tres etapas: la primera etapa es responsable de extraer los datos de orígenes, la
segunda etapa es responsable de la aplicación de varias transformaciones, como la calidad
de datos y las reglas del negocios, y la última etapa es responsable de cargar los datos de
origen transformados al destino.
Por ello hemos configurado este paquete (ETL) como el padre de los paquetes hijos
(extrae_datos, transforma_datos, carga_datos).
ANEXO 3 Carga de datos ejecutando el proceso ETL.
Extracción de datos.- La extracción de los datos se lo realizará con la herramienta
Integration Services mediante sentencias SQL a las tablas de la base origen. Como resultado
devolverá todos los registros de acuerdo a la tabla consultada debido a que es el proceso de
carga inicia.
Flujo de control extrae datos artículo.
ANEXO 4 Diagrama de flujo del funcionamiento del ETL por cada dimensión y tablas
de hecho.
Plan ETL Dimension Artículos
Definimos que tipo de credenciales usará Analysis Services para conectarse a la fuente de
datos, usaremos la cuenta del servicio
Ya tenemos la conexión a nuestra fuente de datos, ahora vamos a crear la Vista, con la cual
podemos especificar las tablas a usar para nuestro cubo, crear campos calculados, etc...
Luego seleccionamos las tablas relacionadas a cada tabla de Hecho, si las tablas tienen bien
definidas todas las claves primarias y foráneas podemos simplemente usar el botón "Agregar
tablas relacionadas".
ANEXO 6 Creando conexión OLAP desde Microsoft Excel a SQL Server de Analysis
Services.
1. Crear conexión de Excel a un cubo de SQL Server de Analisys Services
2. Conectar con el servidor de la base de datos.- Aquí se escribe el nombre del servidor
donde se encuentra diseñado el cubo OLAP.
3. En credenciales de conexión.
Para usar el nombre de usuario y la contraseña actuales de Windows, haga clic en
Usar autenticación de Windows.
Para escribir el nombre de usuario y la contraseña de una base de datos, haga clic en
Utilizar el nombre de usuario y la contraseña siguientes y, a continuación, escriba el
nombre de usuario y la contraseña en los cuadros de texto Nombre de usuario y
Contraseña correspondientes.
En este caso seleccionamos la primera opción.