Академический Документы
Профессиональный Документы
Культура Документы
QUITO – ECUADOR
2015
DEDICATORIA
A mi esposo Néstor por su paciencia, tiempo y ayuda permanente, gracias por estar
siempre a mi lado en esta etapa importante de mi vida.
A mis padres Patricio y Rosana por los ánimos y siempre depositar su confianza en m
ii
AGRADECIMIENTO
Al Mat. Benjamín Valarezo, MSC e Ing. Franz del Pozo por su participación y apoyo
para el avance y finalización de mi trabajo de Grado
iii
iv
v
vi
vii
viii
CONTENIDO
DEDICATORIA ..................................................................................................................................ii
AGRADECIMIENTO ......................................................................................................................... iii
LISTA DE GRÁFICOS ...................................................................................................................... xiii
LISTA DE CUADROS ....................................................................................................................... xv
RESUMEN ................................................................................................................................. xvi
ABSTRACT.................................................................................................................................... xvii
INTRODUCCIÓN.............................................................................................................................. 1
1. CAPITULO: PRESENTACIÓN DEL PROBLEMA .......................................................................... 2
1.1. Planteamiento del Problema ......................................................................................... 2
1.2. Formulación del Problema ............................................................................................. 3
1.3. Interrogantes de la Investigación................................................................................... 3
1.4. Objetivos de la Investigación ......................................................................................... 4
1.4.1. Objetivo General .................................................................................................... 4
1.5. Justificación .................................................................................................................... 4
1.6. Alcance ........................................................................................................................... 6
1.7. Limitaciones ................................................................................................................... 7
2. CAPITULO: REVISION BIBLIOGRAFICA .................................................................................... 9
2.1. Antecedentes ................................................................................................................. 9
2.2. FUNDAMENTACIÓN TEÓRICA ...................................................................................... 10
2.2.1. Marco Teórico ...................................................................................................... 10
2.2.2. Data Warehouse (DW) ......................................................................................... 12
2.2.3. Objetivos de un Data Warehouse ........................................................................ 13
2.2.4. Beneficios del Data Warehouse ........................................................................... 14
2.2.5. Características de un Data Warehouse ................................................................ 16
2.2.6. Estructura del Data Warehouse ........................................................................... 17
2.2.7. Arquitectura del Data Warehouse ....................................................................... 18
2.2.8. Inteligencia de Negocios (BI) ................................................................................ 21
2.2.9. Características de la Inteligencia de Negocios ..................................................... 22
2.2.10. Beneficios de la Inteligencia de Negocios ............................................................ 23
2.2.11. Cadena de Valor de Dato ..................................................................................... 23
2.2.12. Componentes de la Inteligencia de Negocios ...................................................... 24
2.2.13. MySQL .................................................................................................................. 25
ix
2.2.14. Pentaho ................................................................................................................ 28
2.2.15. Pentaho Data Integration (PDI)............................................................................ 29
2.2.16. Pentaho Schema Workbench (PSW) .................................................................... 30
2.2.17. Pentaho Report Designer (PRD) ........................................................................... 31
2.2.18. Modelo Estrella .................................................................................................... 33
2.2.19. Modelo Copo de Nieve ........................................................................................ 35
2.2.20. Modelo Multidimensionales (CUBOS) ................................................................. 36
3. CAPITULO: MODELAMIENTO DIMENSIONAL ....................................................................... 38
3.1. Documentación de los Sistemas Fuentes .................................................................... 38
3.1.1. Archivo Notas.xlsx ................................................................................................ 38
3.1.2. Archivo Facultades.xls .......................................................................................... 40
3.2. Modelo Físico Stage ..................................................................................................... 41
3.2.1. Dsa_notas............................................................................................................. 42
3.2.2. Dsa_Estudiantes_Uce........................................................................................... 42
3.2.3. Dsa_Facultades .................................................................................................... 42
3.3. Modelo Lógico Stage .................................................................................................... 42
3.3.1. Descripción del Modelo ....................................................................................... 44
3.4. Modelo Físico DWH...................................................................................................... 45
3.4.1. Tipos de Datos...................................................................................................... 46
3.4.2. La Precisión de los Flotantes ................................................................................ 46
3.4.3. Llaves Primarias.................................................................................................... 46
3.4.4. Orden de los Atributos (Columnas)...................................................................... 46
3.4.5. Integridad Referencial .......................................................................................... 47
3.4.6. Índices .................................................................................................................. 47
3.4.7. Dim_Fecha ........................................................................................................... 48
3.4.8. Dim_Materias....................................................................................................... 48
3.4.9. Dim_Facultades.................................................................................................... 49
3.4.10. Dim_Estados ........................................................................................................ 49
3.4.11. Dim_Personas ...................................................................................................... 50
3.4.12. Fac_Seguimiento_Notas ...................................................................................... 50
3.5. Modelo Lógico DWH .................................................................................................... 51
3.6. Procesos ETL Diseñados ............................................................................................... 51
3.6.1. Data Stage Notas .................................................................................................. 52
x
3.6.2. Data Stage Estudiantes UCE ................................................................................. 53
3.6.3. Dimensión Fecha .................................................................................................. 53
3.6.4. Dimensión Facultades .......................................................................................... 54
3.6.5. Dimensión Materias ............................................................................................. 55
3.6.6. Dimensión Personas............................................................................................. 55
3.6.7. Dimensión Estados ............................................................................................... 56
3.6.8. Temporal Notas.................................................................................................... 57
3.6.9. Tabla de Hechos Seguimiento Notas ................................................................... 58
3.6.10. Job Notas .............................................................................................................. 59
4. CAPITULO: DESARROLLO Y DISEÑO DEL ETL ........................................................................ 60
4.1. Instalación y Configuración de las Herramientas......................................................... 60
4.1.1. Instalación de Framework 4.0 .............................................................................. 60
4.1.2. Instalación de MySQL ........................................................................................... 63
4.1.3. Instalación de JDK (Java Development Kit) .......................................................... 69
4.1.4. Instalación de Pentaho Data Integration ............................................................. 75
4.1.5. Instalación de Pentaho Schema Workbench ....................................................... 77
4.1.6. Instalación de Pentaho BI Server ......................................................................... 80
4.1.7. Instalación de Pentaho Report Designer ............................................................. 82
4.2. Característica de los datos ........................................................................................... 85
4.3. Diseño del ETL .............................................................................................................. 86
4.3.1. Entrada de Tabla (Table Input) ............................................................................ 86
4.3.2. Salida de Tabla (Table Output) ............................................................................. 87
4.3.3. Entrada Excel (Excel Input)................................................................................... 88
4.3.4. Información del Sistema (Get System Info) ......................................................... 89
4.3.5. Insertar Actualizar (Insert Update) ...................................................................... 90
4.3.6. Generar Filas (Generate Rows) ............................................................................ 91
4.3.7. Seleccionar Valores (Select Values) .................................................................... 91
4.3.8. Calculadora (Calculator) ....................................................................................... 92
4.3.9. Unir Filas (Join Rows) ........................................................................................... 93
4.3.10. Unión Ordenada (Sorted Merge) ......................................................................... 93
4.3.11. Añadir Secuencia (Add Sequence) ....................................................................... 94
4.4. Pruebas del ETL ............................................................................................................ 94
4.5. Cuadre de Datos del Data Warehouse ......................................................................... 96
xi
4.6. Estructura del Diseño del Data Warehouse ................................................................. 97
4.6.1. Estructura de la Dimensión Estado ...................................................................... 98
4.6.2. Estructura dela Dimensión Facultades................................................................. 98
4.6.3. Estructura de la Dimensión Fecha ....................................................................... 99
4.6.4. Estructura de la Dimensión Materias................................................................. 100
4.6.5. Estructura de la Dimensión Persona .................................................................. 100
4.6.6. Estructura de la Tabla de Hechos....................................................................... 100
4.7. Calidad de Datos ........................................................................................................ 102
4.8. Diseño de Cubos OLAP ............................................................................................... 105
4.9. Diseño de Reportes .................................................................................................... 107
4.10. Reportes Diseñados ............................................................................................... 109
5. CAPITULO: CONCLUSIONES Y RECOMENDACIONES .......................................................... 125
5.1. Conclusiones .............................................................................................................. 125
5.2. Recomendaciones ...................................................................................................... 126
5.3. Bibliografía ................................................................................................................. 128
ANEXOS ...................................................................................................................................... 129
Anexo A .............................................................................................................................. 129
Anexo B .............................................................................................................................. 130
Anexo C .............................................................................................................................. 141
xii
LISTA DE GRÁFICOS
xiii
Ilustración 43: Instaladores del JDK ............................................................................................. 71
Ilustración 44: Inicio de Instalación del JDK ................................................................................. 71
Ilustración 45: Progreso de Instalación........................................................................................ 72
Ilustración 46: Pagina de Instalación Completada ....................................................................... 72
Ilustración 47: Información del Sistem ........................................................................................ 73
Ilustración 48: Configuración Avanzada del Sistema ................................................................... 73
Ilustración 49: Variables de Ambiente ......................................................................................... 74
Ilustración 50: Configuración del Path del JDK ............................................................................ 74
Ilustración 51: Pagina de Descarga de Pentaho Data Integration ............................................... 75
Ilustración 52: Pentaho Data Integration..................................................................................... 75
Ilustración 53: JDBC de MySQL .................................................................................................... 76
Ilustración 54: Página de Inicio de Pentaho Data Integration ..................................................... 77
Ilustración 55: Página de Descarga de Pentaho Schema Workbench ......................................... 78
Ilustración 56: Pentaho Schema Workbench............................................................................... 78
Ilustración 57: Configuración del JDBC de MySQL ....................................................................... 79
Ilustración 58: Página de Inicio de Pentaho Schema Workbench ............................................... 79
Ilustración 59: Pagina de Descarga de Pentaho BI server............................................................ 80
Ilustración 60: Pentaho BI Server................................................................................................. 81
Ilustración 61: Ejecución del BI Server ......................................................................................... 81
Ilustración 62: Página de Inicio de Pentaho BI Server ................................................................. 82
Ilustración 63: Pagina de Descarga de Pentaho Report Designer................................................ 83
Ilustración 64: Ruta de Instalación de Pentaho Report Designer ................................................ 83
Ilustración 65: Carpeta de Pentaho Report Designer .................................................................. 84
Ilustración 66: Pentaho Report Designer ..................................................................................... 84
Ilustración 67: Archivo Fuente Notas.xlsx .................................................................................... 86
Ilustración 68: Table Input ........................................................................................................... 87
Ilustración 69: Table Output ........................................................................................................ 88
Ilustración 70: Excel Input ............................................................................................................ 89
Ilustración 71: Get System Info .................................................................................................... 90
Ilustración 72: Insert Update ....................................................................................................... 91
Ilustración 73: Generate Rows ..................................................................................................... 91
Ilustración 74: Select Values ........................................................................................................ 92
Ilustración 75: Calculator ............................................................................................................. 93
Ilustración 76: Join Rows.............................................................................................................. 93
Ilustración 77: Sorted Merge ....................................................................................................... 94
Ilustración 78: Add Sequence ...................................................................................................... 94
Ilustración 79: Estructura del Cubo Notas ................................................................................. 107
Ilustración 80: Diseño de la Cabecera del Reporte .................................................................... 108
Ilustración 81: Detalles del Reporte ........................................................................................... 108
Ilustración 82: Pie de Página del Reporte .................................................................................. 109
Ilustración 83: Alumnos Matriculados por Materia ................................................................... 111
Ilustración 84: Distribución de Alumnos por Rangos de Notas ................................................. 113
Ilustración 85: Distribución de Materias y Número de Estudiantes .......................................... 115
Ilustración 86: Distribución por Número de Matrícula y Número de Estudiantes .................... 117
xiv
Ilustración 87: Distribución por Rango de Notas y Número de Matricula ................................. 119
Ilustración 88: Estudiantes Matriculados y Rangos de Notas .................................................... 121
Ilustración 89: Número de Estudiantes por Materia y Carrera.................................................. 122
Ilustración 90: Distribución de Alumnos por Carrera y Su Estado al Final del Semestre ........... 124
LISTA DE CUADROS
xv
RESUMEN
DESCRIPTORES
xvi
ABSTRACT
This project is based on establishing the Business tool for analysis and effective
exploitation of the student academic data of the SAU system with the aim of supporting
the authorities to take decisions, according to the data of interest. In addition it helps the
planning, allocation and distribution of quotas, through demand each of the subjects of
different periods in the Faculty and thus take advantage of stored data obtaining an
effective tool and the necessary knowledge to optimize the student development.
DESCRIPTORS
xvii
INTRODUCCIÓN
Con el objetivo de proporcionar a las autoridades los indicadores necesarios que ayuden
en la toma de decisiones se plantea explotar datos académicos de estudiantes
almacenados en el sistema SAU, de esta manera se contara con una herramienta
tecnológica que ayude a garantizar la calidad en la educación superior estableciendo una
correcta interpretación de la información resultante seguido de una corrección de los
datos proporcionados mediante soluciones oportunas.
El presente proyecto de tesis aspira proveer de una herramienta informática que ayude a
evaluar la información académica del sistema SAU de la Carrera de Ingeniería
Informática, a través del desarrollo de una solución de Business Intelligence que
mediante procesos de ingeniería de software ayude a consolidar, depurar e integrar los
datos de los estudiantes (notas, materias) en un almacén de datos centralizado,
comúnmente conocido como Data Warehouse.
1
1. CAPITULO: PRESENTACIÓN DEL PROBLEMA
En la actualidad la Facultad cuenta con el sistema SAU, el cual ayuda a administrar las
notas, materias, datos estudiantes e información; sin embargo se ha observado la
carencia de una plataforma tecnológica estructurada y especializada que permita
explotar los datos almacenados y provea de canales dinámicos de acceso autónomos a la
información analítica, así como la generación de reportes académicos desde diferentes
puntos de vista de acuerdo a los requerimientos de cada destinatario, con el objetivo de
mejorar la calidad de educación y optimizar la planificación de los recursos de la
Facultad de Ingeniería, Ciencias Físicas y Matemáticas.
2
En relación con los problemas identificados se presenta el siguiente trabajo, destinado a
mejorar el análisis del rendimiento estudiantil y la asignación de cupos en los cursos de
la malla curricular de la Facultad.
¿Qué análisis se establecen para evaluar la calidad académica involucrando a todos sus
actores como son: estudiantes?
3
1.4. Objetivos de la Investigación
Objetivos Específicos
1.5. Justificación
4
La solución propuesta está destinada a ser una herramienta de distribución de
información on-line, dinámico, hecho a medida de la necesidad del destinatario, de
forma que constituye una transformación apropiada de datos en información
significativa previamente almacenada en un repositorio centralizado.
1.6. Alcance
6
Determinar la demanda de estudiantes en cada carrera aprobados, reprobados,
inscritos, matriculados, convalidado, suspenso, anulado.
Bajo los puntos descritos anteriormente el presente proyecto ayudara a conocer las
tendencias y previsiones respecto a la demanda de asignaturas y mediante este conjunto
de Análisis optimizar la distribución de estudiantes por clase en una determinada
asignatura.
1.7. Limitaciones
7
Se debe establecer el tipo de información que necesita la Facultad de Ingeniería,
Ciencias Físicas y Matemáticas para poder procesar, depurar y clasificar los datos
de los estudiantes.
El modelo no contempla minería de datos.
La autorización de la obtención de datos a nivel de autoridad de la Facultad de
Ingeniería, Ciencias Físicas y Matemáticas de la Universidad Central del Ecuador.
No controla la obtención de datos fuente en forma automática.
No garantiza la veracidad de los resultados, si la data fuente cargada en la
aplicación no cumplen los parámetros establecidos.
Para la implementación de la solución de Business Intelligence se requiere de una
IP fija, espacio en el servidor y en el internet de la facultad
La aplicación final se la implementará a nivel internet.
8
2. CAPITULO: REVISION BIBLIOGRAFICA
2.1. Antecedentes
9
La herramienta está enfocada en analizar el rendimiento académico de los estudiantes de
la Facultad de Ingeniería Ciencias Físicas y Matemáticas mediante un seguimiento
estratégico consolidados en un solo sistema central (Data Warehouse), disponible a todo
aquel que tenga legitimo acceso.
11
1969: Creación del concepto de base de datos (Codd)
“Un Data Warehouse es una base de datos corporativa que se caracteriza por integrar y
depurar información de una o más fuentes distintas, para luego procesarla permitiendo
su análisis desde infinidad de perspectivas y con grandes velocidades de respuesta. La
12
creación de un Data Warehouse representa en la mayoría de las ocasiones el primer
paso, desde el punto de vista técnico, para implantar una solución completa y fiable de
Business Intelligence.” (S.L., 2007)
“La ventaja principal de este tipo de bases de datos radica en las estructuras en las que se
almacena la información (modelos de tablas en estrella, en copo de nieve, cubos
relacionales, etc.). Este tipo de persistencia de la información es homogénea y fiable, y
permite la consulta y el tratamiento jerarquizado de la misma (siempre en un entorno
diferente a los sistemas operacionales).” (S.L., 2007)
“El contenido del Data Warehouse debe ser comprensible, intuitivo y obvio para
el usuario de negocio. La comprensibilidad implica legibilidad, por lo tanto el
contenido del Data Warehouse necesita ser etiquetado de manera significativa. El
usuario de negocio debe estar habilitado para extraer porciones del Data
Warehouse y combinar esta información de todas las formas posibles, utilizando
herramientas simples y fáciles de usar, con un tiempo de respuesta mínimo.”
(KIMBALL, 2002)
“La información del Data Warehouse deber ser creíble. Los datos deben ser
cuidadosamente reunidos de una variedad de orígenes de toda la organización,
deben ser limpiados con calidad asegurada y liberados cuando sean aptos para el
consumo del usuario. La información de un proceso de negocio debe coincidir
con la información de otro proceso. Si dos métricas tienen el mismo nombre,
entonces deben significar lo mismo y viceversa. Información consistente
significa información de alta calidad, esto significa que todos los datos se
contabilizan y están completos. La consistencia también implica que las
13
definiciones comunes del contenido del Data Warehouse está disponible para
todos los usuarios.” (KIMBALL, 2002)
“El data warehouse debe contener la información correcta para soportar la toma
de decisiones, solo hay una salida real para un data warehouse. Las decisiones
que son hechas después de que el Data Warehouse ha presentado su evidencia;
estas decisiones entregan al negocio el impacto y valor atribuible al Data
Warehouse.” (KIMBALL, 2002)
“Un Data Warehouse puede dar lugar a una serie de importantes beneficios para la
organización. En cualquier caso, su utilización permitirá que la información de gestión
sea: accesible, correcta, uniforme y actualizada.” (CAUCA, 2009)
14
bases de datos que estaban diseñadas específicamente para transacciones más
cortas y sencillas.
Mejor servicio al cliente: Todo lo que hemos dicho en el punto anterior implica
una importante mejora en la calidad de gestión, lo que también repercute en la
relación con el cliente, que es, como sabemos, uno de los pilares básicos en los
que descansa cualquier organización ajustada. De hecho, el que un Data
Warehouse implique una mayor flexibilidad ante el entorno tiene una
consecuencia directa en una mayor capacidad para responder a las necesidades
de los clientes.
15
“En conclusión, el concepto de Data Warehouse abarca mucho más que simplemente
copiar datos operacionales a una base de datos informacional distinta. El sistema deberá
ofrecer una solución completa para gestionar y controlar el flujo de información desde
bases de datos corporativas y fuentes externas a sistemas de soporte de decisiones de
usuarios finales.” (CAUCA, 2009)
16
No volátil: el almacén de información de un Data Warehouse existe para ser
leído, y no modificado. La información es por tanto permanente, significando la
actualización del Data Warehouse la incorporación de los últimos valores que
tomaron las distintas variables contenidas en él sin ningún tipo de acción sobre lo
que ya existía.”
17
Datos ligeramente resumidos: Es aquella que proviene desde un bajo nivel de
detalle encontrado al nivel de detalle actual. Este nivel del Data Warehouse casi
siempre se almacena en disco. Los puntos en los que se basa el diseñador para
construirlo son:
18
Ilustración 2: Arquitectura del Data Warehouse (Srl, 1997)
“Es la capa con la que trata el usuario final. La información almacenada se convierte en
información fácil y transparente para las herramientas que utilizan los usuarios. Se
obtienen informes, gráficos, diagramas, etc.” (BUIGUES, 2015)
19
Nivel de Acceso a los Datos
La clave de este nivel está en proveer al usuario de un acceso universal a los datos, es
decir, que los usuarios sin tener en cuenta la ubicación de los datos o la herramienta de
acceso a la información, deberían ser capaces de acceder a cualquier dato del Data
Warehouse que les fuera necesario para realizar su trabajo.” (BUIGUES, 2015)
“Este nivel tiene que ver con la planificación de las tareas que se deben realizar, no sólo
para construir, sino también para mantener el Data Warehouse y la información del
directorio de datos. Es controlador de alto nivel de los procesos que se han de llevar a
cabo para que el Data Warehouse permanezca actualizado.” (BUIGUES, 2015)
20
Nivel de Mensaje de la Aplicación
“Es el núcleo del sistema, el repositorio central de información donde los datos actuales
usados principalmente con fines informacionales residen. En el Data Warehouse físico
se almacenan copias de los datos operacionales y/o externos, en una estructura que
optimiza su acceso para la consulta y que es muy flexible.” (BUIGUES, 2015)
Incluye todos los procesos necesarios para seleccionar, editar, resumir, combinar y
cargar en el Data Warehouse y en la capa de acceso a la información los datos
operacionales y/o externos.
21
Ilustración 3: Arquitectura de Business Intelligence (BYSPEL, 2015)
22
2.2.10. Beneficios de la Inteligencia de Negocios
Dato: Constituye la materia prima con los que cualquier organización dispone, el
elemento primario de la información. También se considerar como la representación de
una realidad discreta, no orientativos, circunscrita a un contexto reducido, de carácter
operacional, consiste en la obtención de los datos de partida, a través de su captura,
estructuración y registro en los sistemas operacionales pertinentes.
23
distribución de información que permitan y faciliten la comprensión y el análisis por
parte de los usuarios finales.
24
reunir información completa aunque se encuentre separadas para resumirla y
tenga un alcance de análisis profundo, con bases sólidas y datos actualizados.
Agentes: Los software analizan los datos sin necesidad del raciocinio de las
personas, pues están programadas para interpretar datos.
2.2.13. MySQL
Una base de datos es una colección estructurada de datos. La información que puede
almacenar una base de datos puede ser tan simple como la de una agenda, un contador, o
un libro de visitas, o tan grande como la de una tienda en línea, un sistema de noticias,
un portal, o la información generada en una red corporativa. Para agregar, accesar, y
procesar los datos almacenados en una base de datos, se necesita un sistema de
administración de bases de datos, tal como MySQL.
“La historia del MySQL (cuya sigla en inglés se traslada a My Structured Query
Language o Lenguaje de Consulta Estructurado) se remite a principios de la década de
25
1980. Programadores de IBM lo desarrollaron para contar con un código de
programación que permitiera generar múltiples y extendidas bases de datos para
empresas y organizaciones de diferente tipo. Desde esta época numerosas versiones han
surgido y muchas de ellas fueron de gran importancia. Hoy en día MySQL es
desarrollado por la empresa Sun Mycrosystems.” (ABC, 2007)
MySQL, que fue concebido originalmente por la compañía sueca MySQL AB, fue
adquirida por Oracle en 2008. Los desarrolladores todavía pueden usar MySQL bajo la
Licencia Pública General de GNU (GPL), pero las empresas deben obtener una licencia
comercial de Oracle.
Características de MySQL
Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP, etc).
26
Soporta hasta 32 índices por tabla.
Ventajas
Velocidad al realizar las operaciones, lo que le hace uno de los gestores con
mejor rendimiento.
27
Bajo costo en requerimientos para la elaboración de bases de datos, ya que
debido a su bajo consumo puede ser ejecutado en una máquina con escasos
recursos sin ningún problema.
Facilidad de configuración e instalación.
2.2.14. Pentaho
Pentaho es una suite de Business Intelligence abierta, que cuenta con la incorporación de
las principales herramientas del mercado Open Source. Al día de hoy es la más completa
y extendida. Cuenta con una gran comunidad de desarrollo, que realiza constantes
mejoras y extensiones en la Plataforma.
Pentaho se compone de un entorno, al que los usuarios pueden acceder vía web, de
forma segura. Cada usuario visualiza todos los elementos habilitados para su perfil, que
incluirán informes, análisis OLAP y cuadros de mando con indicadores y tablas. Usted
podrá generar nuevas vistas de análisis y nuevos informes y guardarlos asociados a su
perfil, para consultarlos más tarde, así como exportarlos a Excel, PDF o realizar su
impresión en papel.
28
2.2.15. Pentaho Data Integration (PDI)
Pentaho Data Integration es fácil de usar. Cada proceso se crea con una herramienta
gráfica donde se especifica qué hacer sin necesidad de escribir código para indicar cómo
hacerlo; debido a esto, se podría decir que la Pentaho Data Integration es una
herramienta orientada a metadatos.
Pentaho Data Integration se puede utilizar como una aplicación independiente, o puede
ser utilizado como parte de la Suite de Pentaho. Como una herramienta ETL, es la
herramienta de código abierto más popular disponible. Pentaho Data Integration es
compatible con una amplia gama de formatos de entrada y salida, incluyendo archivos
de texto, hojas de datos, y la mayoría de sistemas gestores de bases de datos comerciales
y gratuitos. Por otra parte, la capacidad de transformación de Pentaho Data Integration le
permite manipular los datos con muy pocas limitaciones.
29
Ilustración 5: Pentaho Data Integration
Es una interfaz de diseño que permite crear y probar esquemas de cubos OLAP
visualmente. El motor de Mondrian procesa solicitudes MDX con esquemas ROLAP
(Relational OLAP). Estos archivos son modelos de metadatos XML que se crean en una
estructura específica utilizada por el motor de Mondrian. Estos modelos XML pueden
ser consideradas estructuras de cubo que utilizan tablas de hechos y dimensiones que se
encuentran en el Data Warehouse.
Schema Mondrian Workbench fue creado originalmente por algunas organizaciones para
crear fácilmente esquemas y utilizarlo como el motor de análisis. Pentaho ha actualizado
el entorno de trabajo de Workbench adicionando estabilidad, validación y Pentaho BI
Server para trabajar con Pentaho Business Intelligence Suite. Un esquema diseñado en
Workbench realmente es un documento XML que utiliza el motor de análisis de
Mondrian.
30
Ilustración 6: Pentaho Schema Workbench
32
2.2.18. Modelo Estrella
“El modelo estrella es el más sencillo en estructura. Consta de una tabla central de
"Hechos" y varias "dimensiones", incluida una dimensión de "Tiempo". Lo
característico de la arquitectura de estrella es que sólo existe una tabla de dimensiones
para cada dimensión. “ (FABRIZZIO, 2010)
“Esto quiere decir que la única tabla que tiene relación con otra es la de hechos, lo que
significa que toda la información relacionada con una dimensión debe estar en una sola
tabla.” (FABRIZZIO, 2010)
33
Dimensiones
También llamada entidad, perspectiva, característica, dato maestro, etc.) Son los grupos
de datos que permiten identificar quién, cuándo o dónde se genera una operación o
transacción del negocio. Por ejemplo: clientes, proveedores, tiempo y lugar son
dimensiones típicas.
“Una dimensión puede ser creada para usarse en un cubo individual o en múltiples
cubos. Una dimensión creada para un cubo individual, es llamada dimensión privada.
Por el contrario si esta puede ser usada por múltiples cubos, se le llama dimensión
compartida. Estas podrán ser usadas dentro de todo cubo, en la base de datos, así se
optimiza el tiempo y se evita el andar duplicando dimensiones privadas.” (MARTINEZ,
2015)
Tabla de hechos
“Una tabla de hechos (o tabla fact) es la tabla central de un esquema dimensional (en
estrella o en copo de nieve) y contiene los valores de las medidas de negocio. Cada
medida se toma mediante la intersección de las dimensiones que la definen, dichas
dimensiones estarán reflejadas en sus correspondientes tablas de dimensiones que
rodearán la tabla de hechos y estarán relacionadas con ella.” (Creative commons
attribution, 2015)
34
Existen diferentes tipos de tablas de hechos las cuales se describe a continuación:
Tablas de hechos instantánea periódica: Son tablas de hecho usadas para recoger
información de forma periódica a intervalos de tiempo regulares. Dependiendo
de la situación medida o de la necesidad de negocio este tipo de tablas de hecho
son una agregación de las anteriores o están diseñadas específicamente.
“El modelo copo de nieve es una variación o derivación del modelo estrella. En este
modelo la tabla de hechos deja de ser la única relacionada con otras tablas ya que existen
otras tablas que se relacionan con las dimensiones y que no tienen relación directa con la
tabla de hechos. El modelo fue concebido para facilitar el mantenimiento de las
dimensiones, sin embargo esto hace que se vinculen más tablas a las secuencias SQL,
haciendo la extracción de datos más difícil así como vuelve compleja la tarea de
mantener el modelo.” (FABRIZZIO, 2010)
35
Ilustración 9: Ejemplo de Modelo Copo de Nieve
“Los cubos son una estructura de datos organizada mediante jerarquías. Cada indicador
se puede evaluar en cualquiera de los niveles de las jerarquías. Así, por ejemplo, se
pueden obtener las "ventas" a nivel diario, mensual, o a anual, para un cliente, una
provincia, o un país.” (URQUIZU, 2008)
36
comprender para la mente humana, y si ésta coincide con el modelo de negocio,
los resultados suelen ser espectaculares, ya que el cubo se convierte en una gran
"tabla dinámica" que el usuario puede consultar en cualquier momento.
37
3. CAPITULO: MODELAMIENTO DIMENSIONAL
Las fuentes en las cuales se cuenta y en las que se basó el desarrollo del Data Warehouse
son archivos Excel y archivos planos, los mismos que van a ser descritos a continuación:
Este archivo es la fuente principal que alimenta el Data Warehouse, contiene toda la
información de los estudiantes, carrera, notas, número de matrículas, cursos, materias,
asistencia y notas.
38
Por la cantidad de datos que este archivo contiene fue necesario convertir este archivo
Excel a un archivo plano separado por “;” (CSV), es decir del archivo original
Notas.xlsx fue creado el archivo Notas.csv.
Con el archivo plano se empezó a trabajar y diseñar en un modelo Data Warehouse que
cubra todos los datos que se encuentran contenidos en este archivo, pero antes del
diseñar un modelo se realizó una limpieza y homologación de datos.
39
3.1.2. Archivo Facultades.xls
Este documento Excel fue creado para recopilar todos los nombres de las facultades y
carreras que tiene la Universidad Central, esto con el objetivo de que en un futuro esta
solución pueda ser implementada en otras facultades dentro de la universidad.
Este archivo contiene las facultades y carreras de toda la universidad así como códigos
que fueron creados para cada una de las facultades, esto con el propósito de que se pueda
obtener una jerarquía natural cuando los usuarios deseen analizar los datos por facultad o
por carrera.
40
3.2. Modelo Físico Stage
Este modelo es más conocido como DSA (Data Stage Area), este modelo se crea para
que los usuarios pueden extraer la información directamente desde las fuentes en
periodos de tiempo determinado, con la finalidad de no interferir con el funcionamiento
normal de las fuentes y tener los datos almacenados en una base de datos propia del Data
Warehouse.
41
Este modelo consta de 3 tablas las cuales se describen a continuación:
3.2.1. Dsa_notas
3.2.2. Dsa_Estudiantes_Uce
Entidad creada con la finalidad de guardar todos los datos de los estudiantes enviados en
el archivo Notas.xlsx, esta tabla contendrá los solo datos únicos, es decir no habrá datos
de estudiantes repetidos; además se corrige los numero de cedula de los estudiantes que
tenían como inicio el cero (0), pues en el archivo fuente se estaba perdiendo el cero en
los números de cedula.
3.2.3. Dsa_Facultades
Tabla que va a guardar toda la información del archivo Facultades.xlsx, en esta tabla se
va a almacenar las facultades y carreras existentes en la Universidad Central.
Todas las tablas creadas en este modelo tienen un campo llamado etl_tstamp, este campo
sirve para identificar la fecha en la cual fue extraída la información de los sistemas
fuentes.
El modelo lógico del DSA (Data Stage Area), forma parte del diseño completo de un
data warehouse, es la estructura de cómo está formado el modelo lógico del modelo de
la base de datos
42
Este modelo es creado a partir del modelo físico, del cual se obtuvo el siguiente modelo:
43
3.3.1. Descripción del Modelo
Estructura Dsa_Estudiantes_Uce
Name Datatype Is PK Is FK
identificacion VARCHAR(20) No No
nombre_completo VARCHAR(128) No No
etl_tstamp DATETIME No No
Tabla 3: Estructura de la Tabla dsa_estudiantes_uce
Estructura Dsa_Facultades
Name Datatype Is PK Is FK
codigo_facultad VARCHAR(10) No No
facultad TEXT No No
codigo_carrera VARCHAR(10) No No
carrera TEXT No No
etl_tstamp DATETIME No No
Tabla 4: Estructura de la Tabla dsa_facultades
Estructura Dsa_Notas
Name Datatype Is PK Is FK
Fecha_Inicio_Periodo VARCHAR(20) No No
Fecha_Fin_Periodo VARCHAR(20) No No
Ciclo VARCHAR(20) No No
Carrera VARCHAR(100) No No
44
cedula VARCHAR(20) No No
Apellido_Paterno VARCHAR(64) No No
Apellido_Materno VARCHAR(64) No No
Nombres VARCHAR(64) No No
Apellidos_Nombres VARCHAR(256) No No
Curso VARCHAR(10) No No
Mat_Codigo_UCE VARCHAR(20) No No
Materia_Nombre VARCHAR(100) No No
Paralelo VARCHAR(10) No No
Materia_Ciclo VARCHAR(20) No No
Numero_Matricula VARCHAR(10) No No
Nota_1 NUMERIC(10,3) No No
Nota_2 NUMERIC(10,3) No No
Nota_3 NUMERIC(10,3) No No
Nota_4 NUMERIC(10,3) No No
Nota_5 NUMERIC(10,3) No No
Nota_6 NUMERIC(10,3) No No
Nota_7 NUMERIC(10,3) No No
Nota_8 NUMERIC(10,3) No No
Nota_Final NUMERIC(10,3) No No
Aisstencia_1 VARCHAR(20) No No
Asistencia_Total_1 VARCHAR(20) No No
Asistencia_2 VARCHAR(20) No No
Asistencia_Total_2 VARCHAR(20) No No
Asistencia_3 VARCHAR(20) No No
Asistencia_Total_3 VARCHAR(20) No No
Asistencia_Final VARCHAR(20) No No
Estado VARCHAR(20) No No
Sexo VARCHAR(10) No No
Credito VARCHAR(10) No No
etl_tstamp DATETIME No No
Tabla 5: Estructura de la Tabla dsa_notas
El modelo físico del DWH es una descripción del modelo estrella que se va a
implementar en la base de datos donde se va a almacenar el Data Warehouse, este
modelo describe las estructuras de las entidades donde se almacenara los datos que se
tiene en como origen de esta solución.
Para crear el modelo físico hay que tener en cuenta las siguientes consideraciones:
45
3.4.1. Tipos de Datos
Revisar los tipos de datos disponibles en la base de datos destino, en especial número de
dígitos en números enteros.
Algo importante dependiendo de la base de datos que se utilice pero por lo general la
secuencia es:
46
3.4.5. Integridad Referencial
En la medida que sea posible indicar cuales columnas brindan o sirven de vínculo entre
dos tablas.
El usuario puede hacerse cargo de esto pero es mejor que el administrador de la base de
datos se haga cargo.
3.4.6. Índices
Un índice es un atajo desde un campo llave hacia la localización real de los datos.
Si se busca alguna tupla en base a un atributo que no tiene un índice entonces se realiza
un escaneo de la tabla completa lo cual es demasiado costoso, por eso es recomendable
usar índices en:
Llaves primarias
Llaves foráneas
Índices de acceso
Ordenamiento
47
Tabla 6: Modelo Físico del DWH
3.4.7. Dim_Fecha
Esta es una tabla donde se va a almacenar todo lo que se refiere al tiempo (Años, meses,
días, semestres, trimestres, fechas). Esta dimensión va a ayudar a los usuarios a sacar los
indicadores agrupados definidos en esta tabla.
3.4.8. Dim_Materias
Esta tabla va a guardar la información de todas las materias de las que se compone la
malla curricular, esta tabla guarda las materias agrupadas por cursos es decir por
48
semestres. El campo cod_malla y descripción van a ayudar a identificar cambios de
malla que puedan darse en el futuro.
3.4.9. Dim_Facultades
Tabla que tiene todas las carreras que existen actualmente en la Universidad Central,
estas carreras están agrupadas por facultad. Se tiene todas las facultades para que en el
futuro el modelo de Business Intelligence que se construye en el presente proyecto
pueda implementar en todas las facultades sin ningún problema.
3.4.10. Dim_Estados
En esta tabla se guarda los estados que un estudiante va a tener, es decir Aprobado o
Reprobado, Inscrito, etc.
49
Código Estado Estado
AP Aprobado
RE Reprobado
IN Inscrito
MA Matriculado
CO Convalidado
SU Suspenso
AN Anulado
-999 No definido
Tabla 7: Posibles Estados de los Estudiantes
3.4.11. Dim_Personas
3.4.12. Fac_Seguimiento_Notas
Esta es la tabla de hechos, la tabla principal del modelo estrella, aquí se van a guardar
todos los indicadores, en este caso se va a guardar todas las notas y asistencias de los
estudiantes, con los datos de las notas y asistencias se van a crear muchos indicadores
dependiendo de qué reportes requiera el usuario final, esta tabla tienen las fechas inicio y
fin para que los cálculos de los indicadores se puedan agrupar en un rango de tiempo
definido.
50
3.5. Modelo Lógico DWH
Con el modelo físico creado en el paso anterior se creó el modelo lógico de la solución:
Cada una de las tablas que conforman el modelo, tienen su llave primaria, tipo de dato y
longitud.
51
En todos los procesos construidos se colocó la columna etl_tstamp para poder identificar
la fecha en la que se cargó la información.
La tabla dsa_notas tiene la misma estructura que el archivo csv, esto para garantizar que
no se pierdan datos.
52
3.6.2. Data Stage Estudiantes UCE
Proceso que se encarga de extraer todos los datos de los estudiantes de la tabla
dsa_notas.
Este proceso solo carga los estudiantes distintos, es decir se quitan todos los valores
duplicados antes de cargar la tabla dsa_estudiantes_uce.
Proceso encargado de generar todas las fechas dentro de un intervalo finito, este
intervalo es definido por el usuario, en este caso se definido el intervalo comprendido
desde 1920-01-01hasta 2056-11-21, en el caso de requerir más fechas el usuario puede
modificar dicho intervalo.
Este proceso no tiene una tabla origen, pues se utiliza los transformadores
proporcionados por Pentaho para generar de manera ficticia todas las fechas requeridas y
almacenarlas en la tabla dim_fecha.
53
Ilustración 16: Proceso dim_fecha_TF
Este proceso está diseñado para guardar toda la historia de las facultades con sus
respectivas carreras es decir cambios de nombre o incremento de las mismas.
54
3.6.5. Dimensión Materias
Proceso construido para extraer los códigos y nombres de las materias de la tabla
dsa_notas y cargarlas en la tabla dim_materias.
Este proceso solo va a cargar valores distintos, es decir que dentro de este proceso se
quitan los duplicados antes de cargar la tabla.
Para la construcción de este proceso se tuvo en cuenta la malla y todos los cambios que
pueda haber en el tiempo, de esta manera si ocurre un cambio de malla no será necesario
cambiar el proceso debido a que este si soporte dichos cambios.
Proceso construido en base a los datos entregados de los estudiantes, es decir que va a
guardar todos los datos de los estudiantes que fueron entregados. Dentro de este proceso
55
se define el rol de cada una de las personas que van a ser almacenadas en la tabla
dim_personas.
Por el momento todas las personas que fueron enviadas tienen el rol Estudiantes pero si
en el futuro quieren almacenar datos de Docentes, Personal Administrativo lo podrán
hacer sin ningún problema solo hay que cambiar el rol definido.
Proceso construido para extraer todos los datos de estados de la tabla dsa_notas y
guardar esta información en la tabla dim_estado.
56
Ilustración 20: Proceso dim_estado_TF
Proceso que forma parte de la carga de la tabla de hechos, para cargar la tabla principal
del modelo estrella se dividió el proceso en dos partes debido al volumen de datos que se
tienen en el origen y a que los joins se deben hacer por descripciones.
El realizar los joins por descripciones toma mucho tiempo y desgaste recursos de la
máquina, por tal motivo se dividió el proceso en dos partes.
En esta primera parte se obtienen las llaves primarias de las dimensiones de fecha,
materias, facultades y estados, además de hacer todas las conversiones necesarias para
cargar los indicadores definidos en la tabla de hechos.
57
Ilustración 21: Proceso tmp_notas_TF
Proceso que realiza la carga de datos desde la tabla temporal tmp_notas creada en el
paso anterior a la tabla de hechos fac_seguimiento_notas, en este proceso se realiza la
búsqueda de cada uno de los estudiantes almacenados en la tabla dim_persona; además
se realiza los cálculos de notas y asistencias (total y promedios), estos cálculos son
necesarios para ser mostrados en los reportes que posteriormente van a ser creados.
58
3.6.10. Job Notas
Este es el Job principal diseñado para invocar a todas las transformaciones descritas
anteriormente.
En este proceso se colocó una sentencia SQL que va a ayudar a realizar reprocesos y
cargas incrementales de los datos en la tabla de hechos.
59
4. CAPITULO: DESARROLLO Y DISEÑO DEL ETL
Una vez descargado dar clic derecho y ejecutar como administrador sobre
dotNetFx40_Client_x86_x64.exe para ejecutar el instalador.
60
Ilustración 25: Instalador de Framework 4.0
Se abrirá una ventana donde se desplegará todos los términos de la licencia del
programa a instalar, una vez leído dichos términos clic en la opción He Leído y
Aceptado los Términos de la Licencia, luego clic en Instalar.
61
Esperar a que le proceso de instalación finalice.
62
4.1.2. Instalación de MySQL
MySQL es un motor de base de datos Open Source utilizado para desarrollar la presente
solución de Business Intelligence.
Estos son los pasos para descargar e instalar la versión MySQL Community Server 5.1
63
Seleccione la opción “Download” de “Windows Essentials”
64
Aparece la pantalla de inicio del instalador. Seleccione “Next” para continuar
65
Clic en el botón “Install” para comenzar con la copia de archivos.
66
Seleccionar la opción “Standard Configuration” para su instalación y clic en
“Next”
67
Ingrese la contraseña para el usuario root (el administrador del motor).
Si desea administrar el motor de forma remota, seleccione la opción “Enable root
access from remote machines”.
Si desea una cuenta anónima (sin usuario ni clave) seleccione la opción “Create
an Anonymous Account”.
Clic en “Next” para continuar.
68
Al finalizar el proceso de configuración la pantalla deberá indicar que los pasos
se ejecutaron correctamente. Presione “Finish” para finalizar el proceso.
69
Ilustración 41: Página Principal de Java
Clic en Java Patform (JDK) para acceder a la página que contiene los enlaces de
descarga.
Acepta los términos de licencia de Oracle para que los enlaces se activen y elegir
la opción adecuada en función del sistema de 32 o 64 bits.
70
Ilustración 43: Instaladores del JDK
Una vez descargado el instalador del JDK con la versión necesaria, empieza la
instalación dando doble clic sobre el instalador.
71
Clic sobre Next para que empiece la instalación.
72
Para poder invocar las diferentes herramientas de Pentaho desde cualquier lugar
en la línea de comandos, es necesario que la carpeta del JDK instalado figure en
el PATH del sistema.
Clic derecho sobre Mi PC y elegir Propiedades para que se despliegue la
información del sistema.
73
Dentro de la pestaña Opciones avanzadas, pulsa sobre el botón Variables de
entorno para acceder al cuadro de diálogo que nos permite editarlas.
En el cuadro Variables del sistema, clic en el botón Nueva para configurar una
nueva variable llamada PENTAHO_JAVA_HOME y colocar la ruta donde se
instaló el JDK.
74
4.1.4. Instalación de Pentaho Data Integration
Para configurar Pentaho Data Integration hay que realizar los siguientes pasos:
75
Si se va a trabajar con bases de datos MySQL, es necesario descargar los
respectivos .jar del JDBC y copiarlos a la ruta C:\Pentaho\data-integration\lib
76
Ahora los usuarios pueden iniciar el programa entrando al directorio de
instalación (C:\Pentaho\data-integration) y ejecutando el archivo Spoon.bat.
Para instalar Pentaho Schema Workbench hay que seguir los siguientes pasos:
77
Ilustración 55: Página de Descarga de Pentaho Schema Workbench
78
Ilustración 57: Configuración del JDBC de MySQL
79
4.1.6. Instalación de Pentaho BI Server
Pentaho Business Intelligence Server es una herramienta que permite publicar en el web
reporte de Pentaho generado con otras herramientas.
80
Ilustración 60: Pentaho BI Server
Una vez descomprimido el archivo zip, los usuarios ya pueden iniciar BI Server
dando doble clic en start-pentaho.bat
81
Cuando el servidor de BI se haya inicializado, los usuarios podrán ingresar a la
página principal de Pentaho ingresando a un navegador y colocando la siguiente
ruta: http://localhost:8080/pentaho/
Pentaho Report Designer es una herramienta de diseño desktop, que permite a los
usuarios definir y construir reportes, y luego publicarlos en el portal de BI de Pentaho
para que puedan ser ejecutados por los usuarios.
A continuación se detallan los pasos que se deben realizar para descargar y configurar
Pentaho Report Designer:
82
Ilustración 63: Pagina de Descarga de Pentaho Report Designer
83
Una vez descomprimido el archivo los usuarios ya podrán utilizar Pentaho
Report Designer, ingresando a la carpeta report-designer y dando doble clic en el
fichero report-designer.exe.
84
4.2. Característica de los datos
Tres columnas se utilizan para definir el número del curso, código de la materia y
el nombre de la materia que el estudiante toma en un determinado semestre.
Una columna guarda el estado del estudiante al final del semestre es decir si
aprobó, reprobó o se retiró de la materia en la que al inicio del semestre se
matriculo.
Todas las 34 columnas fueron definidas como cadenas (varchar) para evitar problemas al
momento de realizar los procesos de extracción.
85
Ilustración 67: Archivo Fuente Notas.xlsx
A continuación se detallan cada uno de los objetos que fueron utilizados para diseñar los
procesos ETL:
Las opciones proporcionadas en el menú de kettle para permitir las entradas de tabla
son:
86
Nombre de Paso (Step Name): en este campo se coloca el nombre, debe ser único
en una sola transformación.
Conexión (Connection): enlace a la base de datos de la cual se van a leer los
datos.
SQL: sentencia empleada para leer la información con la base de datos
conectada.
Insertar datos de un paso (Insert data from step): determinar el nombre de paso
de entrada de donde vienen los parámetros para la sentencia, si aplica.
Limite (Limit): Pone el número de líneas a leer en la base de datos
Las opciones proporcionadas en el menú de kettle para generar salidas de tablas son:
87
Ignorar Errores de Inserción (Ignore Insert Errors): Impide una interrupción si se
produce un error al insertar.
Especificar los campos de la tabla a cargar (Specify database fields): se activa
esta opción para efectuar el mapeo de los datos en la pestaña Datafields.
Campos a Mapear (Enter Field Mapping): se activa esta opción para efectuar el
mapeo de los datos.
Particionar datos sobre las tablas (Partition data over tables): Se usa para dividir
los datos en distintas tablas.
Usar actualizaciones en lote para inserciones (Use batch Update for inserts) se
activa esta opción para que la actualización de registros sea por bloques y la
carga sea más rápido.
Las opciones proporcionadas en el menú de kettle para aceptar las entradas de Excel
son:
Nombre de Paso (Step Name): en este campo se coloca el nombre, debe ser único
en una sola transformación.
Pestaña Ficheros: se especifica la ruta o el nombre de uno o más archivos de
entrada a procesar, con soporte de variables.
Pestaña Hojas: elige las hojas de los archivos que se usan para extraer los
registros.
Pestaña Contenido: incluye las activaciones de las siguientes opciones.
Cabecera: si se incluyen los encabezados de las columnas en el flujo.
88
Eliminar filas vacías: si existen líneas vacías en el flujo.
Detener al encontrar filas vacías: Detiene el proceso si encuentra filas
vacías en el proceso.
Límite: filas que ingresan en el flujo.
Pestaña Manejador de Error: presenta varias opciones cuando un error es
encontrado en el proceso y través de estas el usuario decide qué medidas se
deben tomar en este específico proceso.
Pestaña Campos: elige los campos de las hojas seleccionadas que van a ser leídos
aquí y se definen los campos tipo, longitud, precisión, formato etc.
Adquiere información del flujo de datos a través los saltos existente en el entorno kettle,
contiene filas con campos que comprende información solicitada.
Las opciones proporcionadas en el menú de kettle para esta clase se dato de entrada son:
Nombre de Paso (Step Name): en este campo se coloca el nombre, debe ser único
en una sola transformación.
Sección campos se establecen los campos de salida.
Tipo
Información de Tiempo (Hora y Fecha)
Datos de tiempo de la ejecución en la transformación.
Argumentos de líneas de comando.
89
Ilustración 71: Get System Info
El procesamiento de unión se automatiza por realiza la búsqueda de una fila usando una
o más claves de consulta, cuando no se encuentra la fila inserta una nueva fila.
Si los campos de una fila encontrada no son iguales no se hace nada. Si los campos no
son iguales se actualiza la fila.
90
Campos de actualización indica todos los campos de la tabla incluyendo las
llaves que desea insertar o actualizar y se coloca N en el campo que no requiere
actualización.
Genera un determinado número de filas por defecto vacías pero también pueden incluir
campos estáticos.
Nombre del paso: se define el nombre del paso debe ser único en la
transformación indicada.
Límite: se registra el número de filas que se desea generar.
Campos: filas con campos estáticos que se incluyen (opcional).
91
Seleccionar y Modificar: establece el orden exacto y nombre en que los campos
deben ser ubicados en las filas de salida. Esta pestaña presenta varias opciones
Nombre del paso: se define el nombre del paso debe ser único en la
transformación indicada.
Nombre Campo: nombre del campo a seleccionar o modificar.
Renombrar a: se utiliza para cambiar de nombre un campo caso contrario
se deja en blanco.
Longitud: se coloca el número que indique la longitud del campo.
Precisión: se coloca el número que indique la precisión del campo.
Eliminar: se señalan los campos que van a ser borrados de las filas de salida.
Meta-Información: Permite cambiar nombre, tipo, precisión (meta data de uno o
más campos)
Proporciona una serie de funciones que pueden ser aplicados sobre los valores de los
campos de entrada.
92
Ilustración 75: Calculator
Efectúa combinaciones (producto cartesiano) de todas las filas del flujo de entrada.
Nombre del paso: se define el nombre del paso debe ser único en la
transformación indicada.
Directorio Temporal: Señala el nombre del directorio en donde el sistema guarda
los archivos temporales.
Prefijo fichero TMP: Es el prefijo de los archivos temporales cuando se generan.
Max tamaño cache en filas: Se fija el número de filas en la cache antes que el
sistema lea los datos de los archivos temporales.
Paso principal desde el que: selecciona el paso en donde se lee la mayoría de
datos. En este paso no se cachean los datos.
Condición: cuando se establece condiciones complejas para limitar el cantidad de
filas de salida.
Asocia filas de entrada de diferentes pasos y las opciones que se encuentran en el menú
son:
93
Nombre del paso: se define el nombre del paso debe ser único en la
transformación indicada.
Sección campos: se determina el nombre del campo y la trayectoria de
orientación (ascendente y descendente).
Se introduce un valor de secuencia que se restaura cada vez que se cambia un valor en la
lista de campos definidos
Cada uno de los procesos creados y desarrollados en el presente proyecto fue probado
más de una vez para garantizar que el proceso funcione bien bajo condiciones normales.
De cada ejecución que se realizó de los procesos diseñados se guardó los tiempos de
duración que se tomó en terminar su proceso normal de ejecución, esto con la finalidad
de tener un tiempo estimado para próximas ejecuciones de los ETL’s,
Los tiempos que arrojaron las ejecuciones de los procesos DSA y DWH son los
siguientes:
94
Nombre del Proceso Tiempo de Ejecución
1 dsa_notas_TF 0:02:45
2 dsa_estudiantes_uce_TF 0:01:49
3 dsa_facultades_TF 0:01:36
4 dwh_tmp_fecha_TF 0:01:38
8 dwh_dim_fecha_TF 0:01:04
6 dwh_dim_personas_TF 0:01:46
7 dwh_dim_materias_TF 0:01:37
8 dwh_dim_estado_TF 0:04:45
9 dwh_dim_facultades_TF 0:01:36
10 dwh_tmp_notas_TF 32:05:26
11 dwh_fac_seguimiento_notas_TF 0:07:28
Total 33:07:11
Tabla 9: Tiempos de Ejecución
Cada proceso está garantizado que funciona normalmente siempre cuando se mantenga
el mismo origen de datos (hojas Excel) y el formato, si el usuario cambio el formato del
Excel y en su defecto cambio de origen el proceso va a fallar en su ejecución.
95
4.5. Cuadre de Datos del Data Warehouse
Una vez finalizado la construcción y pruebas de los procesos ETL se procedió y validar
la información cargada en el Data Warehouse para garantizar que no se estén perdiendo
datos en los procesos de transformación desde el DSA hacia el DWH.
Todos los procesos fueron sometidos a un cuadre de datos, este cuadre se lo realizo en
base al excel que se utilizó para cargar la información.
Para realizar el proceso de cuadre hay que tener en cuenta que en cada una de las
dimensiones del Data Warehouse fueron insertados un registro ficticio llamado NO
DEFINIDO.
Además se adjuntan los select que fueron utilizados para cuadrar los datos con la
finalidad que cualquier usuario pueda validar la transparencia que se tuvo al realizar este
proceso.
96
dsa_notas; dim_estados;
Con el proceso de cuadre de datos se certifica que el modelo estrella construido para el
presente Data Warehouse cumpla con todas las condiciones y especificaciones
realizadas en fases anteriores, por lo tanto el modelo construido en esta solución de
Business Intelligence cumple con los requisitos levantados por los usuarios.
De esta manera se procesó a describir cada una de las estructuras (campos y tipos de
dato de dimensiones y tabla de hechos) que forman parte del Data Warehouse
construido.
Este proceso se lo realiza en base al modelo construido en Erwin Data Modeling, del
cual se va a obtener las estructuras de las tablas.
97
dim_facultades
dim_fecha
dim_materias
dim_persona
fac_seguimiento_notas
Tabla 11: Estructura del DataWarehouse
98
establecidas en
cada facultad
etl_tstamp DATETIME No No Fecha de carga
99
fecha_inicio_mes DATE No No Fecha en la cual
inicia el mes
fecha_fin_mes DATE No No Fecha en la cual
finaliza el mes
etl_tstamp DATETIME No No Fecha de carga
Tabla 14: Estructura de la Dimensión Fecha
100
Estructura de la Tabla de Hechos
Name Datatype Is PK Is FK Comment
sid_fecha_inicio INTEGER Yes Yes Identificador
unico de la tabla
de fechas
sid_fecha_fin INTEGER Yes Yes Identificador
unico de la tabla
de fechas
sid_facultades INTEGER Yes Yes Identificador
unico de la tabla
de facultades
sid_persona INTEGER Yes Yes Identificador
unico de la tabla
de estudiantes
sid_materias INTEGER Yes Yes
sid_estado INTEGER Yes Yes
num_matricula INTEGER Yes No
nota_1 NUMERIC(10, No No
3)
nota_2 NUMERIC(10, No No
3)
nota_3 NUMERIC(10, No No
3)
nota_4 NUMERIC(10, No No
3)
nota_5 NUMERIC(10, No No
3)
nota_6 NUMERIC(10, No No
3)
nota_7 NUMERIC(10, No No
3)
nota_8 NUMERIC(10, No No
3)
asistencia_1 INTEGER No No
asistencia_2 INTEGER No No
asistencia_3 INTEGER No No
asistencia_total INTEGER No No
nota_final NUMERIC(10, No No
3)
promedio_notas NUMERIC(10, No No
3)
promedio_asiste NUMERIC(10, No No
ncia 3)
num_creditos INTEGER No No
conteo INTEGER No No
etl_tstamp DATETIME No No
101
Tabla 17: Estructura de la Tabla de Hechos
Después de haber recibo el archivo fuente en el que se basa todos los procesos
construidos, se realizó un paso previo que es Calidad de Datos a cada uno de los campos
enviados en el archivo Notas.xlsx.
Este paso ayudo a observar algunas inconsistencias que se estaban dando en los datos de
los estudiantes, así mismo ayudo a limpiar duplicados, caracteres especiales y datos
basura que no aportaban valor al DataWarehouse.
De esta manera se garantizó que al Data Warehouse solo se cargan los datos limpios y
validos sin duplicados y datos basura que podrían dañar la información que se va a
almacenar en la estructura del Data Warehouse.
Todos los detalles a los que se les aplico calidad de datos se describen a continuación
para que el usuario puede ver los problemas que tenía el Excel donde almacenada los
datos de los estudiantes, esto con la finalidad que en procesos posteriores la limpieza de
datos se los haga antes de ejecutar los procesos ETL construidos.
mat_codigo_uce materia_nombre
101 CALCULO DIFERENCIAL
102 FISICA I
103 PROGRAMACION I
104 TOPOGRAFIA I
105 QUIMICA DE MATERIALES DE CONSTRUCCION
Tabla 18: Corrección en Columna de Materias
102
Se unificó los nombres de los estudiantes, pues se encontraron casos en los que
había espacios y tab entre los nombres y los apellidos.
Apellidos y Nombre
Se encontró casos en los cuales los nombre de los estudiantes estaban sin
espacios, es decir no se podía diferenciar entre sus nombres y apellidos para lo
cual se coloca espacios entre nombres y apellidos.
Apellidos y Nombre
PAGUAY YUPA JUAN JONNATHAN
HIDALGO RUMIGUANO DIEGO
ISRAEL
ESCOBAR MUÑOZ LUIS JOSE
ROJAS MUÑOZ ELVIS JORDANO
FIGUEROA CUASPA CARLOS
ANDRES
Tabla 20: Estandarización de los Nombres de Estudiantes
Se colocó una fecha inicio y una fecha fin de semestre, las cuales van a ayudar a
identificar los periodos a los cuales pertenecen las materias, notas y estudiantes.
103
fecha_inicio_periodo fecha_fin_periodo
2014-09-01 2015-03-31
2012-09-01 2013-03-31
2013-04-01 2014-08-31
2014-09-01 2015-03-31
Tabla 21: Fechas Inicio y Fin de los Periodos Escolares
104
4.8. Diseño de Cubos OLAP
Para el Data Warehouse construido se diseñó un cubo OLAP llamado Notas, el cual
contiene todas las dimensiones y medidas necesarias para que el usuario pueda realizar
un análisis interactivo e intuitivo.
La plataforma Pentaho permite que todos los cubos OLAP que sean diseñados en
Schema Workbench se los pueda publicar en el servidor web de dicha plataforma, de
esta manera el usuario pueda acceder vía web a visualizar los cubos OLAP y realizar
análisis interactivo con todos los datos almacenados en el Data Warehouse.
105
Además de todas las descripciones se incluyó las siguientes medidas para que el usuario
las utilice en diferentes análisis:
106
Ilustración 79: Estructura del Cubo Notas
Al diseñar los reportes que van a ser vistos tanto por usuarios finales como autoridades y
docentes de la facultad se tomó en cuenta la homogeneidad al crear el formato al que
todos los reportes deben acogerse.
Siguiendo este lineamiento se diseñó un estándar para los reportes que van a ser
creados, el formato definido consta de tres partes:
107
Ilustración 80: Diseño de la Cabecera del Reporte
Detalles del Reporte: Esta sección fue creada para colocar todos los datos que la
consulta genere, estos datos van a ser mostrados en forma de tablas para que el
usuario pueda exportar o guardarlos en el formato que lo desee, además en esta
parte del reporte se podrá visualizar el periodo (fecha inicio y fecha fin) que los
usuarios están consultado en un tiempo determinado.
Pie de Página del Reporte: en esta sección se mostrara todos los gráficos (barras,
pastel) que generen los datos mostrados en la sección de detalles del reporte, de
esta manera se le proporciona otra forma de visualizar los datos y permite que el
usuario tenga dos perspectivas de los datos almacenados en el Data Warehouse.
108
Ilustración 82: Pie de Página del Reporte
Alumnos Matriculados por Materia: Muestra todos las materias de una carrera
específica, el número de estudiantes que se encuentran tomando dicha materia,
además se realiza el cálculo del promedio de las notas, así como se obtiene la
nota máxima y mínima de todos los estudiantes dentro de una materia.
109
110
Ilustración 83: Alumnos Matriculados por Materia
Para clasificar las notas se definió los siguientes rangos 0, 0-3.99, 4-6.99, 7-10
111
112
Ilustración 84: Distribución de Alumnos por Rangos de Notas
Para este reporte se construyó los siguientes rangos 004-, 005-009, 010-014, 015-
024, 025-059, 060-099, 100-149, 150-189, 200+.
113
114
Ilustración 85: Distribución de Materias y Número de Estudiantes
115
116
Ilustración 86: Distribución por Número de Matrícula y Número de Estudiantes
117
118
Ilustración 87: Distribución por Rango de Notas y Número de Matricula
119
120
Ilustración 88: Estudiantes Matriculados y Rangos de Notas
Número de Estudiantes por Materia y Carrera: Muestra todas las materias que se
dictan en la malla actual en la facultad, estas materias están agrupadas por
carrera; además se muestra el número total de estudiantes que toman cada una de
las materias, toda esta información se muestra para un periodo que determine el
usuario.
121
Ilustración 89: Número de Estudiantes por Materia y Carrera
122
Distribución de Alumnos por Carrera y Su Estado al Final del Semestre: Muestra
todos los alumnos de cada una de las carreras existentes en la facultad con su
respectiva estado al final del semestre. El usuario podrá observar todos los
estados que un estudiante puede tener.
123
Ilustración 90: Distribución de Alumnos por Carrera y Su Estado al Final del Semestre
124
5. CAPITULO: CONCLUSIONES Y RECOMENDACIONES
5.1. Conclusiones
De acuerdo a las métricas obtenidas en los informes las autoridades podrán observar
fácilmente el rendimiento académico de los estudiantes de la Facultad de Ciencias
Físicas y Matemáticas y tomas las decisiones pertinentes.
5.2. Recomendaciones
126
Antes de cargar los datos al Data Warehouse se debe realizar una limpieza y
tratamiento de la información espacios marcados entre palabras, correcta ubicación
de datos en los campos correspondientes caracteres especiales.
El presente trabajo de tesis está diseñado para soportar los diferentes cambios de
malla que se pueden dar a lo largo del tiempo en la facultad. La dimensión de
materias tiene el código y la descripción de la malla que ayudaran a identificar las
cambios de la misma.
Para mejorar la utilidad del sistema en una fase posterior a la solución de Business
Intelligence, en sus procesos ETL (dsa_notas_TF) se podrá conectar directamente a
la base de datos del sistema SAU para garantizar la veracidad de los datos.
El modelo del Business Intelligence puede ser alojado en un servidor que tenga
mayor capacidad de almacenamiento con la finalidad de mejorar el funcionamiento
de la solución.
127
5.3. Bibliografía
2.- BUIGUES, A. (2015). El blog de Ana Buigues. Obtenido de el blog de Ana Buigues:
http://anabuigues.com/2010/03/05/arquitectura-de-un-data-warehouse/
6.- DAVENPORT, T. H. (1998). working knowledge: how organizations manage what they know.
10.- (2013). Business intelligence road map. En A. MOSS, business intelligence road map.
13.- Srl, t. c. (1997). técnicas cuantitativas srl. Obtenido de técnicas cuantitativas srl:
http://www.tecnicas.com/conceptos/olap/elementos.aspx
128
ANEXOS
Anexo A
El proyecto para brindar portabilidad a los usuarios se lo realizo en una máquina virtual
desarrollada en VMWare versión 10.
Disco 120 GB
129
Anexo B
Manual de Usuario
Para utilizar el prototipo desarrollado en este proyecto, se debe realizar los siguientes
pasos:
130
Abrimos la máquina y le damos play para que empiece el encendido de la misma.
131
Ingresamos los siguientes datos:
Usuario: Administrador.
Contraseña:
132
Cuando el sistema operativo se inicie, deben subir el servidor BI Server, para lo
cual deben dirigirse a la siguiente ruta:
133
Cuando en la pantalla del servidor aparezca el mensaje INFORMACION: Server
startup in 231449 ms podemos estar seguro de que el Servidor de BI subió con
normalidad todos sus servicios.
134
El siguiente paso es ingresar al portal web de Pentaho, la ruta es
http://ip_maquina_virtual:8080/pentaho
Usuario: Admin
Contraseña: password
135
En esta página los usuarios pueden ver todos los reportes construidos, administrar las
cuentas de usuarios y ver los cubos construidos.
136
Para ver y ejecutar los reportes publicados los usuarios debe escoger la opción
Browse Files. Mostrará el directorio interno con todas que se encuentran creadas
dentro de la plataforma.
En el recuadro de Files se mostrara todos los reportes que están disponibles para
su ejecución y visualización.
137
El usuario podrá seleccionar cualquier reporte disponible. Una vez escogido el
reporte deseado clic en la opción Open a New Windows.
138
Se desplegara una ventana donde se muestran todos los parámetros requeridos
para ejecutar el reporte, el usuario debe ingresar de manera obligatorio todos los
parámetros para que el reporte muestre información.
Luego de haber ingresado los valores en los parámetros clic en View Report y
esperar a que el reporte se despliegue con los datos requeridos.
139
De esta manera los usuarios pueden ver todos los reportes que fueron creados y
publicados en este proyecto.
Cabe recalcar que todos los reportes tienen parámetros debido a que esto permite que los
reportes diseñados puedan ser ejecutados para un periodo de tiempo y facultad
determinada, de esta manera si la aplicación es implementada en otras facultades los
reportes pueden ser reutilizados.
140
Anexo C
TERMINOLOGÍA BASICA
DATA WAREHOUSE: es la base de datos central donde se consolidan todos los datos
procedentes de los diferentes sistemas fuente.
141
SPOON: Es una herramienta gráfica que modelar transformaciones y tareas
SALTO: representación gráfica que indica el paso de uno o más flujos de datos entre
pasos.
142