Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
2.1.1 Seleccin de la Estrategia de Implementacin La estrategia de implementacin del proyecto contiene las siguientes tareas: 1. Conocer la realidad de la empresa y familiarizarnos con la cultura organizacional a travs de las entrevistas y encuestas realizadas. 2. Analizar la documentacin, manuales y procedimientos de la Cooperativa. 3. Analizar los sistemas transaccionales de la Cooperativa. 4. Recolectar los requerimientos empresariales. 5. Analizar los requerimientos. 6. Realizar el diseo y la arquitectura para los Data Marts. 7. Implementar los Data Marts.
2.1.2 Seleccin de la Metodologa de Desarrollo El diseo de un Data Mart es un proceso complejo, es por esto que deben usarse las mejores prcticas existentes. Una de ellas es el mtodo propuesto por Ralph Kimball, el cual se utilizar para desarrollar la metodologa de trabajo, adaptndola al caso especifico de este proyecto.
2.1.3 Seleccin del mbito de Implementacin El mbito de la implementacin de los Data Mart fue determinado basndose en los requerimientos de informacin del personal de nivel medio o administrativo de la Cooperativa de Ahorro y Crdito San Jos Cartavio; y el anlisis con el apoyo del equipo desarrollador. Para ello se formulo las siguientes preguntas: a) Cul es el rea ms recomendable estratgicamente para aplicar los data marts? b) Cul es la priorizacin de desarrollo de los Data Marts en los procesos de las principales reas de la Cooperativa? c) Cul es el rango de consultas empresariales a los que se debe responder inicialmente los Data Marts? Despus de haber realizado el anlisis del funcionamiento del funcionamiento de la organizacin, las respuestas obtenidas fueron las siguientes:
32
a) Las reas de Crditos y de Cobranza y de Operaciones, son las ms recomendables, en el cual deben se aplicadas los Data Marts, por ser las reas que brindan mayor informacin acerca de la situacin de la empresa. b) De acuerdo a las entrevistas, manuales y documentacin de los sistemas, la priorizacin de desarrollo ser la siguiente 1 Proceso de Crditos y Cobranzas 2 Proceso de Operaciones c) El rango de consultas empresariales que debe responder inicialmente los data marts, es de 10 consultas.
2.1.4 Seleccin del enfoque arquitectnico El enfoque arquitectnico para los data marts estarn compuestos de los siguientes niveles Back Room Est compuesto por 1 Servidor de Base de Datos HP ProLiant ML370 G6 Intel Xeon de 2.53 GHz, cuya estructura se encuentra en SQL Server. 1 Servidor de Base de Datos SQL Server 2005, que servir como repositorio de los data marts de la Cooperativa.
Front Room PCs clientes, que sern cada una de las computadoras desde lo que se accese a la informacin que brindaran los data marts, a travs de documentos en Excel.
2.1.5.1 Presupuesto
a. Recursos Humanos
RECURSOS HUMANOS
COSTO S/.
33
CAPITULO II: Desarrollo del Trabajo de Suficiencia b. Bienes: materiales, equipos, software
MATERIALES
01 05 02 01 02 02 01 10 01 01 01 01 01 01 01
EQUIPOS
SOFTWARE
SERVICIOS
BIENES Millar de papel bond A-4 Lapiceros Correctores Lapiz Cartuchos de tinta Negra Cartuchos de tinta Color Toner 35A Folder manila A-4 TOTAL Computadora Intel Corel 2 Duo 2GB RAM Impresora HP deskjet D2400 Impresora HP Laser P1006 Grabador de DVD Memoria USB 8GB TOTAL SQL Server 2005 Licencia Excel (Office 2007) TOTAL Servicio de transporte Servicio de tipeos Servicio de Fotocopiados Servicios de Internet TOTAL
COSTO S/. 44.00 10.00 4.00 1.50 110.00 120.00 220.00 10.00 519.50 1,770.00 160.00 480.00 130.00 80.00 2,620.00 230.00 400.00 630.00 100.00 150.00 10.00 50.00 310.00
c. Presupuesto Total
PRESUPUESTO TOTAL GENERAL CATEGORIA COSTO TOTAL S/. Recursos Humanos 4,500.00 Materiales 519.50 Equipo 2,620.00 Software 630.00 Servicios 310.00 COSTO TOTAL : 8,579.50
34
2.1.6 Desarrollo del escenario del uso empresarial Para este proyecto de tesis el escenario de uso empresarial es el que se muestra a continuacin con sus respectivos componentes:
Tabla N 2: Personal involucrado en el Proyecto Nombre Representa Directivo de la Cooperativa Presidente Consejo Administracin del de que fija estrategias y Rol Preparar y proponer el orden del da para las reuniones y entregar los materiales necesarios para una gil y consciente toma de decisiones. Coordinar con el gerente general, en lo atinente a las relaciones de tipo laboral Ejercer la representacin legal de la Cooperativa, tomando las decisiones definitivas de acuerdo a las atribuciones conferidas, dando cuenta posteriormente al Consejo de Administracin. Controlar el funcionamiento operativo de la Cooperativa, responsabilizndose de la situacin econmico-financiera de la empresa, tomando decisiones definitivas en provecho del cumplimiento de los objetivos de la Cooperativa. Aplicar las polticas del Consejo de Administracin y acuerdos de la Asamblea General de Delegados y
35
de de sus
en
Ejercer el control interno de todas las operaciones y actividades que se realizan en la empresa. Ejecutar las polticas crediticias, proponiendo a la Gerencia los lineamientos especficos de modificacin o implementacin de productos y/o servicios. Recibir, registrar, procesar y calificar las solicitudes tanto en la oficina principal como en las Agencias de acuerdo a las normas y Reglamentos vigentes, las recomendaciones del Comit de Crdito y las directivas de la Gerencia. Preparar programas de trabajo para la regularizacin de morosidad, confeccionando citaciones, informes para la notificacin del socio moroso y garante, para analizar el problema. Efectuar transacciones con el socio moroso, a fin de recuperar los crditos otorgados. Procesar la Planilla de Descuentos y remitirlas a las diferentes Empresas donde trabajaban nuestros socios. Responsable de la Captacin de nuevos socios. Recepcin, y trmite de las solicitudes de Renuncias. Registrar las cuentas de Ahorros, plazo fijo y fondo mortuorio.
solicitudes de crditos Personal encargado de la ejecucin de las cobranzas de los crditos as como el encargado Jefe de Cobranzas de los
refinanciamientos crediticios.
encargado
de
ciones. Atencin, consultas y captacin de socios y clientes, Ahorro y Plazo Fijos. Operador que maneja los
Maneja el acceso de los usuarios al Sistema de Informacin y la seguridad de los Data Marts, adems de la actualizacin de los datos.
36
CAPITULO II: Desarrollo del Trabajo de Suficiencia Usuarios del Data Mart
Nombre
Tabla N 3: Descripcin de usuarios del Data Mart Representa Stakeholder Persona que se encarga de Presidente del Consejo de Administracin
Gerente General
Persona que supervisa todas las reas de la empresa. Persona que se encarga de Jefe de Crditos Gerente General
Jefe de Crditos
Jefe de Cobranzas
asegurar cobranzas
ingreso de
supervisar
Jefe de Cobranzas
morosidad de la empresa. Persona encargada de la atencin, Jefe de Operaciones consultas y captacin de socios, ahorro y Plazo Fijos. Administrador Data Marts de los Persona que se encarga de la seguridad Data Mart. y mantenimiento del Administrador de los Data Marts Jefe de Operaciones
2.2 Determinacin de los Requerimientos 2.2.1 Requerimientos del Propietario. Responder a las preguntas que proponen los propietarios del Data Mart.
Por qu construir un Data Mart? Para desarrollar estrategias como lograr una mayor participacin en el mercado y administrar riesgos, haciendo uso del anlisis de sus datos histricos y actuales, beneficiando de esta manera un mejor desempeo de la Cooperativa de Ahorro y Crdito San Jos Cartavio.
Cul ser el impacto sobre la organizacin? El impacto del Data Mart sobre la Cooperativa, ser beneficioso a corto y a largo plazo de acuerdo a la rapidez con que se tome las decisiones y a
37
la creatividad que se emplee, permitiendo la reduccin en la obtencin de informes solicitadas por la gerencia, que servirn para tomar decisiones en el momento necesario, lo cual le permitirn tomar ventajas sobre el mercado.
Cmo afecta nuestras inversiones actuales en cmputo? Al contar con la mquina para los usuarios finales slo se necesitar hacer una inversin en la instalacin del Data Mart que es de $320.00.
Cules son los riesgos? Los riesgos al implementarse el Data Mart serian que la base de datos operacional tenga complicaciones, es decir genere problemas de consistencia.
2.2.2 Requerimientos del Usuario Final Para determinar los requerimientos empresariales realizaron entrevistas a los usuarios finales que utilizaran los data marts basadas en la metodologa de Ralph Kimball. Estas entrevistas estn descritas en los anexos 2, 3 y 4, como resultado de ellos se obtuvieron los siguientes requerimientos empresariales.
A. rea de Operaciones
R1 Cul es la cantidad de socios nuevos por mes, por agencia y por tipo socio? R2 Cul es la cantidad de socios renunciantes por mes, por agencia y por tipo socio? R3 Cul es la cantidad de Plazos Fijos aperturados por plazo, por meses y por agencia? R4 Cul es el monto de aportes depositados por meses y por agencia?
R5 Cul es el monto de colocaciones por tipo de prstamo, por producto, por analista, por meses y por agencia? R6 Cul es el saldo capital de cartera por agencia, por analista, tipo prstamo?
38
R7 Cul es el ratio de morosidad por agencia, por mes, por tipo prstamo y por analista? R8 Cul es el monto recuperado de los prestamos por meses, por agencia, y por recuperador? R9 Cul es el ratio de morosidad por meses, por agencia y por recuperador? R10 Cul es el Indice de Cobertura por meses, por agencia?
Tabla N 4: Consultas y medidas NRO 01 CONSULTAS Cul es la cantidad de socios nuevos por mes, por agencia y por tipo de socio? Cul es la cantidad de socios renunciantes por mes, por agencia y por tipo de socio? Cul es la cantidad de Plazos Fijos aperturados por plazo, meses y por agencia? Cul es el monto de aportes depositados por meses y por agencia? Cul es el monto de colocaciones por tipo de prstamo, por producto, por analista, por meses y por agencia? Cul es el saldo capital de cartera por meses, por agencia, por analista, tipo prstamo? Cul es el ratio de morosidad por agencia, por mes, por tipo prstamo y por analista? Cul es el monto recuperado de los prestamos por meses, por agencia, y por recuperador? Cul es el ratio de morosidad por meses, por agencia y por recuperador? Cul es el Indice de Cobertura por meses, por agencia? UNIDAD Nro de socios Nro de socios Monto en soles Monto en soles Monto en soles Monto en soles Indice en porcentaje Monto en soles Indice de porcentaje Indice de porcentaje
02
03
04
05
06
07
08
09
10
39
Brindar mejor informacin a los usuarios, en el menor tiempo. Establecer seguridad adecuada para la administracin de los data marts. Los Data Marts deben funcionar sobre la plataforma de Microsoft Windows 2003 Server, con el manejador de base de datos Microsoft SQL Server 2005 y utilizando el Microsoft SQL Server 2005 Analysis Services como herramienta de diseo y construccin de los cubos. Utilizar MS Excel 2007 para mostrar los reportes de los cubos. Para el anlisis de los requerimientos funcionales y no funcionales utilizaremos los datos que nos proporcionaron la Cooperativa de Ahorro y Crdito San Jos Cartavio, adems de las entrevistas, manuales de procedimientos y documentos proporcionados por el personal.
2.2.4 Anlisis de los requerimiento En esta parte se har un anlisis de cada requerimiento del usuario final y definiendo algunas tablas de la Base de Datos Operacional de la Cooperativa de Ahorro y Crdito San Jos Cartavio, que actuaran como dimensin dentro del Data Mart. Tambin se definir las posibles mediciones dentro del Data Mart.
rea de Operaciones R1 Cul es la cantidad de socios nuevos por mes, por agencia y por tipo socio?
40
R2 Cul es la cantidad de socios renunciantes por mes, por agencia y por tipo socio?
TIEMPO Ao Nro. Socios Renunciantes Mes
R3 Cul es la cantidad de Plazos Fijos aperturados por plazo, por meses y por agencia?
TIEMPO Ao Mes Monto. Plazos Fijos
Plazo PLAZO
Agencia
Ciudad
AGENCIA
41
TIEMPO
rea de Crditos y Cobranzas R5 Cul es el monto de colocaciones por tipo de prstamo, por producto, por analista, por meses y por agencia?
PRESTAMO Prestamo PRODUCTO
ANALISTA
SOCIO
42
R6 Cul es el saldo capital de cartera por meses, por agencia, por analista y por tipo de prstamo?
PRESTAMO Prestamo Monto Saldo Capital Mes ANALISTA
Analista
Ao TIEMPO
Analista
ANALISTA
Indice de Morosidad
Mes
Ao
TIEMPO
Agencia Ciudad
AGENCIA
Figura N 21: Anlisis del requerimiento R7 R8 Cul es el monto recuperado de los prestamos por meses, por agencia, y por recuperador?
Recuperador
RECUPERADOR
Monto Recuperado
Mes
Ao
TIEMPO
Agencia Ciudad
AGENCIA
43
Recuperador
RECUPERADOR
Indice de Morosidad
Mes
Ao
TIEMPO
Agencia Ciudad
AGENCIA
TIEMPO
44
SOCIO
PLAZO
Mes
Ao
TIEMPO
45
RECUPERADOR
Recuperador
PRODUCTO
Ao
ANALISTA
TIEMPO
2.3 Diseo Tcnico de la Arquitectura 2.3.1 Nivel de Datos Para el anlisis de los datos, se comienza por analizar los datos fuentes que manejan los procesos de la empresa, el tipo de la base de datos y la estructura de las tablas.
Base de Datos Fuente: Se utilizo la base de datos Financoop.mdf cuyo modelo esta descrito en la Figura N 27. En este diagrama se muestran las tablas que se relacionan con el rea de Operaciones as como al rea de Crditos y Cobranzas, y que son de inters para el Datamart. La mayora de estas tablas servirn para crear las consultas para el poblamiento de nuestro datamart.
46
47
El enfoque arquitectnico para los data marts estarn compuestos de los siguientes niveles Back Room Est compuesto por 1 Servidor de Base de Datos HP ProLiant ML370 G6 Intel Xeon de 2.53 GHz, cuya estructura se encuentra en SQL Server. 1 Servidor de Base de Datos SQL Server 2005, que servir como repositorio de los datamarts de la Cooperativa.
Front Room PCs clientes, que sern cada una de las computadoras desde lo que se accese a la informacin que brindaran los datamarts, a travs de documentos en Excel.
48
Esta parte llamada Modelamiento Dimensional, busca presentar los datos en un marco de trabajo estndar. Identificaremos los Componentes del Modelo desarrollando el Mtodo de los Cuatro Pasos. Luego, se construir el primer diagrama para el modelo y se detallar cada componente del diagrama.
2.4.1
Identificacin de los Componentes del Modelo Para identificar los componentes utilizaremos el mtodo propuesto por Ralph Kimball.
El Mtodo de los cuatro pasos Consiste en cuatro elecciones: Eleccin del Data Mart Eleccin del Objetivo de la Tabla de Hechos Eleccin de las Dimensiones Eleccin de los Hechos
1. Eleccin del Data Mart En este paso identificaremos los posibles Data Mart que se pueden construir en la Cooperativa de Ahorro y Crdito San Jos Cartavio. En nuestro caso identificaremos el rea que est en estudio por este proyecto, el cual ya tenemos conocimiento sobre su Modelo General de Datos. Entonces, para identificar nuestro Data Mart en estudio recurrimos al siguiente mtodo:
Mtodo de la Matriz Menciona los posibles hechos relacionados y que son usados juntos. Listamos las entidades que apoyan a estos hechos.
Listado de los Data Marts Segn la situacin general de la Cooperativa, se identifico las posibles fuentes de Data Marts que correspondern a las filas de la matriz:
49
CAPITULO II: Desarrollo del Trabajo de Suficiencia rea de Crditos y Cobranzas rea de Operaciones
Listado de las Dimensiones Para los posibles Data Mart mencionados anteriormente listamos las siguientes posibles dimensiones:
Marcado de las Intersecciones Ordenamos las filas y las columnas en una tabla, dando forma a la matriz, y marcamos las intersecciones donde exista una dimensin relacionada a un Data Mart.
Tabla N 5: Matriz de Intersecciones DIMENSIONES Area de Operaciones TIEMPO AGENCIA TIPO PRESTAMO PRODUCTO PERIODO ANALISTA RECUPERADOR SOCIO X X X X
Para el fcil manejo de las consultas hechas por el usuario, en el Data Mart se consider dos Tablas de Hechos: Operaciones, Crditos y Cobranzas.
50
CAPITULO II: Desarrollo del Trabajo de Suficiencia 2. Eleccin del Objetivo de las Tablas de Hechos
Este paso consiste en declarar como es el Registro del Hecho en las Tablas de Hechos, es decir hay que definir claramente y exactamente que registros de cada Tabla de Hechos figurar en el diseo del modelado del Data Mart.
Tabla N 6: Objetivos de las tablas de Hecho Tabla de Hechos Operaciones Objetivo Controlar el ingreso de socios as como de la captacin de dinero. Controlar las colocaciones y recuperaciones de crditos .
Crditos y Cobranzas
Al enunciar el objetivo de cada Data Mart, van a intervenir las posibles dimensiones que se explicarn a continuacin.
3. Eleccin de las dimensiones Al establecer el objetivo para cada tabla de hechos, podemos escoger cuales sern nuestras dimensiones para cada una de estas tablas. El objetivo por si mismo establece cuales sern nuestras dimensiones. A continuacin por cada objetivo escogeremos las dimensiones:
Tiempo Controlar el ingreso de Operaciones socios as como de la captacin de dinero Agencia Plazo Socio
51
Tabla N 8: Dimensiones de la tabla de Hechos de Creditos Y Cobranzas Tabla de Hechos Objetivos Dimensiones
Tiempo Agencia Controlar las colocaciones y recuperaciones de crditos Socio Analista Recuperador Tipo Prstamo Producto
Crditos y Cobranzas
Como se puede ver la mayora de las dimensiones elegidas pertenecen a las Entidades del Modelo de Datos General descritos anteriormente. Otras dimensiones son la unin de entidades.
4. Eleccin de los Hechos El Objetivo de cada tabla de hechos tambin permite definir los hechos y hace claro el alcance que estos hechos deben tener. En nuestro caso tenemos:
Tabla N 9: Eleccin de Hechos Tabla de Hechos Cantidad Operaciones Monto Monto de Colocaciones Monto Saldo Capital Crditos y Cobranzas ndice de Morosidad Monto Recuperado ndice de Cobertura Hechos
52
CAPITULO II: Desarrollo del Trabajo de Suficiencia 2.4.2 DIAGRAMA DE LA TABLA DE HECHOS
Para esta etapa se prepara un diagrama lgico para cada Tabla de Hechos completada. Cada Diagrama nombra a la Tabla de Hechos, establece su Objetivo y muestra todas las dimensiones conectadas a la Tabla de Hechos.
TIEMPO
AGENCIA
SOCIO
PLAZO
53
TIEMPO
AGENCIA
PRODUCTO
54
CAPITULO II: Desarrollo del Trabajo de Suficiencia Detalle de las Tablas de Hechos
Tabla N 10: Detalle de las claves de las dimensiones Nombre de la Tabla Nombre de la Columna Descripcin de la Columna Llave primaria nica para la Dimensin Tiempo Llave primaria nica para la Dimensin Agencia Llave primaria nica para la Dimensin Plazo Llave primaria nica para la Dimensin Analista Llave primaria nica para la Dimensin Tipo Prestamo Llave primaria nica para la Dimensin Producto Llave primaria nica para la Dimensin Recuperador Llave primaria nica para la Dimensin Socio
Dimensin Tiempo
Tiempo_Key
Dimensin Agencia
Agencia_Key
Dimensin Plazo
Plazo_Key
Dimensin Analista
Analista_key
Tipo_Prestamo_Key
Dimensin Producto
Producto_Key
Dimensin Recuperador
Recuperador_Key
Dimension Socio
Socio_Key
Tabla N 11: Detalle de las Medidas de las Tablas de Hecho Nombre de la Tabla Nombre de la Columna Cantidad Descripcin de la Columna Cantidad Ingresos, Renuncias Monto de Aportes y Plazos Fijos
Hecho Operaciones
Hecho Operaciones
Monto
55
Hecho Creditos y Cobranzas Hecho Creditos y Cobranzas Hecho Creditos y Cobranzas Hecho Creditos y Cobranzas Hecho Creditos y Cobranzas
Monto de Colocaciones
Indice Morosidad
Indice Morosidad
Monto Recuperado
Monto Recuperado
Indice Cobertura
Indice Cobertura
Por consiguiente, de las dos tablas completadas anteriormente se obtienen las siguientes Tablas de Hechos:
TABLA DE HECHOS ACADEMICO Tiempo_Key Agencia_Key Tipo_Prestamo_Key Producto_Key Analista_Key Recuperador_Key Socio_Key Monto de Colocaciones Monto Saldo Capital Indice Morosidad Monto Recuperado Indice Cobertura
56
Dimensin Tiempo
AO
MES
Tabla N 12: Detalle de Dimensin Tiempo Nombre del Atributo Ao Descripcin del Atributo Representa el ao. Representa los meses que posee un ao Cambiando Poltica No Actualizar No Actualizar Valores de Muestra 2008, 2009,
Mes
Julio, Agosto,...
Dimensin Agencia
Ciudad
Agencia
57
Tabla N 13: Detalle de Dimensin Agencia Nombre del Atributo Ciudad Descripcin del Atributo Representa el area geogrfica de la ciudad. Representa las Agencia agencias que hay en una ciudad Cambiando Poltica No Actualizar No Actualizar Valores de Muestra Cartavio, Paijan
Dimensin Plazo
Tabla N 14: Detalle de Dimensin Plazo Nombre del Atributo Descripcin del Atributo Representa el periodo Plazo en que es dejado un plazo fijo. Cambiando Poltica No Actualizar Valores de Muestra
Dimensin Socio
Tabla N 15: Detalle de Dimensin Socio Nombre del Atributo Descripcin del Atributo Representa el tipo de Tipo Socio socio que se registra en la Cooperativa. Representa la situacin Tipo Situacin que se encuentra un socio en la Cooperativa Cambiando Poltica No Actualizar Valores de Muestra Delegado, Normal, Trabajador Nuevo, Reingresante, Retirado
No Actualizar
58
Tabla N 16: Detalle de Dimensin Analista Nombre del Atributo Analista Descripcin del Atributo Representa el nombre del Analista Cambiando Poltica Actualizar Valores de Muestra Carlos Murga, Zoila Rosso
Tabla N 17: Detalle de Dimensin Tipo Prestamo Nombre del Atributo Tipo Prestamo Descripcin del Atributo Representa el nombre del tipo de prstamo Cambiando Poltica No Actualizar Valores de Muestra Consumo, MES, Hipotecario
Dimensin Producto
Tabla N 18: Detalle de Dimensin Producto Nombre del Atributo Producto Descripcin del Atributo Representa el nombre del tipo de producto Cambiando Poltica No Actualizar Valores de Muestra Ordinario, DPP, Extra,
Dimensin Recuperador
Tabla N 19: Detalle de Dimensin Recuperador Nombre del Atributo Recuperador Descripcin del Atributo Representa el nombre del Recuperador Cambiando Poltica Actualizar Valores de Muestra Santos Medina, Erick Vilchez,
59
Sabiendo el nmero de Tablas de Hechos y las dimensiones asociadas a estas, orientamos nuestro Data Mart al Esquema Estrella para una mejor visualizacin del Modelo para el Diseo Fsico.
Para una mejor comprensin, listamos primero los componentes que intervendrn el esquema, luego dividimos el Data Mart en dos grficos: El esquema estrella de cada Tabla de Hechos y el Diseo Lgico del Data Mart.
TABLA DE HECHOS OPERACIONES TABLA DE HECHOS CREDITOS Y COBRANZAS TABLA DE DIMENSION TIEMPO TABLA DE DIMENSIN AGENCIA TABLA DE DIMENSIN ANALISTA TABLA DE DIMENSIN RECUPERADOR TABLA DE DIMENSIN TIPO PRESTAMO TABLA DE DIMENSIN PRODUCTO TABLA DE DIMENSIN SOCIO
60
Tabla de Hecho Operaciones Dimension Tiempo Tiempo_Key Ao Mes Tiempo_Key (FK) Agencia_Key (FK) Plazo_Key (FK) Socio_Key (FK) Cantidad Monto Dimension Agencia Agencia_Key Ciudad Agencia
61
Tabla de Hecho Creditos y Cobranzas Tiempo_Key (FK) Agencia_Key (FK) Analista_Key (FK) Recuperador_Key (FK) Tipo_Prestamo_Key (FK) Producto_Key (FK) Socio_Key (FK) Monto Colocaciones Monto Saldo Capital Indice Morosidad Monto Recuperado Indice Cobertura
62
Tabla de Hecho Operaciones Tiempo_Key (FK) Agencia_Key (FK) Plazo_Key (FK) Socio_Key (FK) Cantidad Monto Dimension Tiempo Tiempo_Key Ao Mes Dimension Socio Socio_Key Tipo_Socio Tipo_Situa Dimension Agencia Agencia_Key Ciudad Agencia
Tabla de Hecho Creditos y Cobranzas Tiempo_Key (FK) Agencia_Key (FK) Analista_Key (FK) Recuperador_Key (FK) Tipo_Prestamo_Key (FK) Producto_Key (FK) Socio_Key (FK) Monto Colocaciones Monto Saldo Capital Indice Morosidad Monto Recuperado Indice Cobertura
63
CAPITULO II: Desarrollo del Trabajo de Suficiencia 2.5 Diseo Fsico Se tiene que tener en cuenta lo siguiente:
Modificar nombres a nombres estndar, si fuera necesario. Para nuestro Data Mart se realizaron los siguientes cambios:
DISEO LGICO Tabla de Hecho Operaciones Tabla de Hecho Crditos y Cobranzas Dimensin Tiempo Dimensin Agencia Dimensin Plazo Dimensin Analista Dimensin Tipo Prestamo Dimensin Producto Dimensin Recuperador Dimensin Socio
DISEO FISICO Hecho_Operaciones Hecho_Creditos_Cobranzas Dim_Tiempo Dim_Agencia Dim_Plazo Dim_Analista Dim_Tipo_Prestamo Dim_Producto Dim_Recuperador Dim_Socio
NOMBRE DE LA TABLA Dimensin Tiempo Dimensin Tiempo Dimensin Agencia Dimensin Agencia
64
Dimensin Plazo Dimensin Analista Dimensin Recuperador Dimensin Tipo Prstamo Dimensin Producto Dimensin Socio Dimensin Socio
Plazo Analista Recuperador Tipo Prestamo Producto Tipo Socio Tipo Situa
Tabla N 22: Nombres estndares para los atributos de las Tablas de Hechos
NOMBRE DE LA TABLA
DISEO LGICO
DISEO FISICO
Tabla de Hecho Operaciones Tabla de Hecho Operaciones Tabla de Hecho Creditos y Cobranzas Tabla de Hecho Creditos y Cobranzas Tabla de Hecho Creditos y Cobranzas Tabla de Hecho Creditos y Cobranzas Tabla de Hecho Creditos y Cobranzas
Cantidad
Cantidad
Monto
Monto
Monto Colocaciones
Monto_Colocaciones
Monto_Saldo_Capital
Indice Morosidad
Indice_Morosidad
Monto Recuperado
Monto_Recuperado
Indice Cobertura
Indice_Cobertura
65
Determinar el Tipo de Dato para cada Tabla que intervendr en el Data Mart. Estos cuadros muestran el detalle de cada tabla:
Tabla 1 : Dim_Agencia Tabla N 23: Tipo de Dato para Dim_Agencia NOMBRE DEL CAMPO COD_AGE CIUDAD AGENCIA TIPO DE DATO CHAR CHAR CHAR LONGITUD 2 25 30
Tabla 2 : Dim_Tiempo Tabla N 24: Tipo de Dato para Dim_Tiempo NOMBRE DEL CAMPO FECHA AO MES TIPO DE DATO DATETIME INTEGER CHAR LONGITUD 10 4 10
Tabla 3 : Dim_Plazo Tabla N 25: Tipo de Dato para Dim_Plazo NOMBRE DEL CAMPO PLAZOID PLAZO TIPO DE DATO CHAR INTEGER LONGITUD 2 4
66
Tabla N 26: Tipo de Dato para Dim_Analista NOMBRE DEL CAMPO COD_ANA ANALISTA TIPO DE DATO CHAR CHAR LONGITUD 4 30
Tabla 5 : Dim_Recuperador Tabla N 27: Tipo de Dato para Dim_Recuperador NOMBRE DEL CAMPO COD_REC RECUPERADOR TIPO DE DATO CHAR CHAR LONGITUD 4 30
Tabla 6 : Dim_Tipo_Prestamo Tabla N 28: Tipo de Dato para Dim_Tipo_Prestamo NOMBRE DEL CAMPO TIPO_PRES PRESTAMO TIPO DE DATO CHAR CHAR LONGITUD 2 30
Tabla 7 : Dim_Producto Tabla N 29: Tipo de Dato para Dim_Producto NOMBRE DEL CAMPO TIPO_PROD PRODUCTO TIPO DE DATO CHAR CHAR LONGITUD 2 30
67
Tabla N 30: Tipo de Dato para Dim_Socio NOMBRE DEL CAMPO SOCIOID TIPO_SOCIO TIPO_SITUA TIPO DE DATO CHAR VARCHAR VARCHAR LONGITUD 4 30 30
Determinar el tipo de Datos de las claves Primarias. Para nuestro Data Mart se generaran en forma automtica y ordenada:
Agencia_Key Tiempo_Key Plazo_Key Analista_Key Tipo de Datos Entero ( 4 ) Recuperador_Key Prestamo_Key Producto_Key Socio_Key
68
CAPITULO II: Desarrollo del Trabajo de Suficiencia Especificar las claves forneas para cada Tabla de Hechos:
Por consiguiente, con los Datos del diseo Lgico y los cambios en la estructura fsica, se obtiene el siguiente Modelo de Base de Datos Fsica para el Data Mart.
69
Hecho_Operaciones tiempo_key: int (FK) plazo_key: int (FK) agencia_key: int (FK) socio_key: int (FK) Cantidad: int Monto: decimal(12,2) Dim_Tiempo tiempo_key: int fecha: datetime anio: int mes: char(10) Dim_Socio socio_key: int socioID: char(4) tipo_socio: varchar(30) Tipo_situa: varchar(30) Dim_Agencia agencia_key: int cod_age: char(2) ciudad: char(25) agencia: char(30)
Hecho_Creditos_Cobranzas Dim_Analista analista_key: int cod_ana: char(4) analista: char(30) tiempo_key: int (FK) agencia_key: int (FK) analista_key: int (FK) producto_key: int (FK) recuperador_key: int (FK) tipo_prestamo_key: int (FK) socio_key: int (FK) Monto_Colocaciones: decimal(12,2) Monto_Saldo_Capital: decimal(12,2) Indice_Morosidad: decimal(12,2) Monto_Recuperado: decimal(12,2) Indice_Cobertura: decimal(12,2) Dim_Recuperador recuperador_key: int cod_rec: char(4) recuperador: char(30)
70
CAPITULO II: Desarrollo del Trabajo de Suficiencia 2.5.1 Determinacin de las agregaciones
Determinamos las agregaciones por defecto que tendrn cada Hecho o medidas en las Tablas de Hechos. La mayora de las reglas de agregacin son sumas, como veremos a continuacin:
Tabla N 31: Determinacin de las Agregaciones Tabla de Hechos Hecho Regla de Agregacin Frmula (SQL Server) count(CASE WHEN Hecho_Operaciones Cantidad Sum FECHA_APE THEN 1) as Cantidad SUM(CASE WHEN tipo_aho = 01 Hecho_Operaciones Monto Sum THEN capital WHEN THEN tipo_aho = 03 capital ELSE 0 END) Hecho_Creditos_Co branzas Hecho_Creditos_Co branzas Hecho_Creditos_Co branzas Tabla_Hecho_Acad emico Hecho_Creditos_Co branzas SUM(capital) as Monto_Colocaciones SUM(saldo_pres) as Monto_Saldo_Capital Select(saldo_vencido/saldo_c apital) as ndice_morosidad SUM(capital + interes+ mora) as Monto_Recuperado Select(Saldo_Vencido/Prov_R equerida) as Indice_Cobertura
Monto_Colocaciones
Sum
Monto_Saldo_Capital
Sum
Indice_Morosidad
Sum
Monto_Recuperado
Sum
Indice_Cobertura
Sum
71
Construccin de las Tablas y la Base de Datos en SQL Despus de haber realizado el Diseo Fsico de las tablas pasamos a la etapa de construccin de dichas tablas utilizando el SQL Server.
Tabla 1 : Dim_Agencia
Tabla 2 : Dim_Tiempo
Tabla 3 : Dim_Plazo
72
Tabla 5 : Dim_Recuperador
Tabla 6 : Dim_Tipo_Prestamo
Tabla 7 : Dim_Producto
73
Una vez construido todas las tablas para el Data Mart para la Cooperativa, continuamos con la construccin del Diagrama de la Base de Datos:
74
75
CAPITULO II: Desarrollo del Trabajo de Suficiencia 2.6 Proceso de Extraccin, Transformacin y Carga de Datos
Para completar la construccin del Data Mart debemos poblar cada Tabla de la Base de Datos. Como ya conocemos la estructura de cada tabla, ahora debemos seguir los siguientes pasos para el Poblamiento: Definicin de los Pasos de Transformacin. Definicin de los Workflows. Creacin de los Paquetes de Servicio de Transformacin de Datos (DTS).
A. Definicin de los Pasos de Transformacin Para un correcto Poblamiento de los datos debemos definir los Pasos de Transformacin, con la unidad de trabajo como parte de un proceso de transformacin. Para poblar el Data Mart se tiene que realizar los siguientes pasos :
Paso 1: Limpiando Dimensiones, consiste en eliminar los datos de todas las Dimensiones y Tablas de Hechos, paso que nos permite asegurar de que no pueda existir algn dato que se pudiera duplicar.
Paso 2: Poblamiento de la Dimensin Tiempo, consiste en ejecutar una sentencia SQL, para transferir datos a la Dimensin Tiempo.
Paso 3: Poblamiento de la Dimensin Agencia, consiste en mover los datos de la Tabla Agencia para poblar la Dimensin Agencia.
Paso 4: Poblamiento de la Dimensin Plazo, consiste en ejecutar una sentencia SQL, para transferir datos a la Dimensin Plazo
Paso 5: Poblamiento de la Dimensin Analista, consiste en ejecutar una sentencia SQL, para transferir datos a la Dimensin Analista.
Paso 6: Poblamiento de la Dimensin Recuperador, consiste en ejecutar una sentencia SQL, para transferir datos a la Dimensin Recuperador.
Paso 7: Poblamiento de la Dimensin Tipo de Prestamo , consiste en ejecutar una sentencia SQL, para transferir datos a la Dimensin Tipo Prestamo.
Paso 8: Poblamiento de la Dimensin Producto, consiste en ejecutar una sentencia SQL, para transferir datos a la Dimensin Producto.
76
Paso 9: Poblamiento de la Dimensin Socio, consiste en ejecutar una sentencia SQL, para transferir datos a la Dimensin Socio.
PASO 1
Restricciones de Precedencia: a) La Limpieza de las Dimensiones (Paso 1) debe realizarse al inicio del proceso.
b) El Poblamiento de la Dimensin Tiempo (Paso 2) debe realizarse slo cuando se tenga la seguridad de que el paso 1 se ha ejecutado con xito.
77
c) El Poblamiento de la Dimensin Agencia (Paso 3) debe realizarse slo cuando se tenga la seguridad de que el paso 1 se ha ejecutado con xito.
d) El Poblamiento de la Dimensin Plazo (Paso 4) debe realizarse slo cuando se tenga la seguridad de que el paso 1 se ha ejecutado con xito.
e) El Poblamiento de la Dimensin Analista (Paso 5) debe realizarse slo cuando se tenga la seguridad de que el paso 1 se ha ejecutado con xito.
f)
El Poblamiento de la Dimensin Recuperador (Paso 6) debe realizarse slo cuando se tenga la seguridad de que el paso 1 se ha ejecutado con xito.
g) El Poblamiento de la Dimensin Tipo Prestamo (Paso 7) debe realizarse slo cuando se tenga la seguridad de que el paso 1 se ha ejecutado con xito.
h) El Poblamiento de la Dimensin Producto (Paso 8) debe realizarse slo cuando se tenga la seguridad de que el paso 1 se ha ejecutado con xito. i) El Poblamiento de la Dimensin Socio (Paso 9) debe realizarse slo cuando se tenga la seguridad de que el paso 1 se ha ejecutado con xito. j) El Poblamiento de las Tablas de Hechos (Operaciones, Creditos y Cobranzas) (Paso 9) debe realizarse slo cuando se tenga la seguridad de que el paso 2,3,4,5,6,7,8,9 se hallan ejecutado con xito.
Una vez conocido las relaciones de precedencias diagramaremos el workflows que se necesitar realizar al construir el paquete de poblamiento del Data Mart, para la Cooperativa de Ahorro y Crdito San Jos Cartavio.
78
PASO 1
PASO 2
PASO 3
PASO 4
xito xito
PASO 5
PASO 6
PASO 7
PASO 8 PASO 9
xito
PASO 10
C. Creacin de los Paquetes de Servicio de Transformacin de Datos Definidos los pasos de la transformacin de datos y las restricciones de precedencia, podemos crear el paquete Servicio de Transformacin de Datos (DTS); recordaremos que un DTS tiene como objetivos importar, exportar y realizar cambios en el formato de datos.
Para su construccin utilizaremos el Servicio de Transformacin de Datos SQL Server 2005, aqu los datos pueden ser almacenado en varios formatos y en muchos lugares diferentes lo cual no es ningn problema.
Basndonos en Workflow con restricciones de la figura anterior, creamos el paquete DTS al cual llamamos Poblamiento General Data Mart COOPAC, con los pasos previos definidos as como todas sus restricciones.
79
80
Paso 1: Limpiando Dimensiones Aadimos una tarea al paquete al cual tendr por nombre Limpiando Tablas, con la siguiente sentencia: DELETE hecho_operaciones DELETE hecho_creditos_cobranzas DELETE from Dim_Agencia DBCC CHECKIDENT('Dim_Agencia',reseed,0) DELETE from Dim_Tiempo DBCC CHECKIDENT('Dim_Tiempo',reseed,0) DELETE from Dim_Plazo DBCC CHECKIDENT('Dim_Plazo',reseed,0) DELETE from Dim_Analista DBCC CHECKIDENT('Dim_Analista',reseed,0) DELETE from Dim_Recuperador DBCC CHECKIDENT('Dim_Recuperador',reseed,0) DELETE from Dim_Tipo_Prestamo DBCC CHECKIDENT('Dim_Tipo_Prestamo',reseed,0) DELETE from Dim_Producto DBCC CHECKIDENT('Dim_Producto',reseed,0) DELETE from Dim_Socio DBCC CHECKIDENT('Dim_Socio',reseed,0)
Esta sentencia nos permite limpiar los datos de todas las tablas de nuestro Data Mart. Esta limpieza asegura que no se dupliquen los datos.
81
Figura N 51: Ventana de Cdigo para el Paso Limpiando Dimensiones Paso 2: Poblamiento de la Dimensin Agencia Para transferir los datos a la dimensin Agencia, se efectan los siguientes pasos: a. Se define la tabla Agencia como origen de datos de la Base de Datos Operacional de la Cooperativa. b. Determinamos la Dimensin Agencia como destino de Datos. c. En las transformaciones se determina que columnas del origen correspondern con las del destino.
82
CAPITULO II: Desarrollo del Trabajo de Suficiencia Paso 3: Poblamiento de la Dimensin Tiempo
Para transferir los datos a la dimensin Tiempo, se efectan los siguientes pasos: a. Definimos una sentencia SQL como origen de datos.
select distinct(otorga) as fecha,datename(mm,otorga) as mes, datepart(yy,otorga) as anio from prestamo where otorga>'31/12/2005' order by anio b. Determinamos la Dimensin Tiempo como destino de datos. c. En las transformaciones se determina que columnas del origen correspondern con las de la Dimensin Tiempo.
83
CAPITULO II: Desarrollo del Trabajo de Suficiencia Paso 4: Poblamiento de la Dimensin Plazo
Para transferir los datos a la dimensin Plazo, se efectan los siguientes pasos: a. Definimos una sentencia SQL como origen de datos.
Select distinct(plazo) as plazos, (case (plazo) when 30 then '1M' when 90 then '3M' when 180 then '6M' when 360 then '1A' when 720 then '2A' end) as ID from ahorro where tipo_aho='03' and fecha_apert>'31/12/2006' order by plazos b. Determinamos la Dimensin Plazo como destino de datos. c. En las transformaciones se determina que columnas del origen correspondern con las de la Dimensin Plazo.
84
CAPITULO II: Desarrollo del Trabajo de Suficiencia Paso 5: Poblamiento de la Dimensin Analista
Para transferir los datos a la dimensin Analista, se efectan los siguientes pasos: a. Definimos una sentencia SQL como origen de datos. select (a.cod_age + a.cod_ana) as ID, (select nombre from usuarios where cod_user=a.cod_user) as analista from analista a where a.cod_user in ( select cod_user from solipresta where fecha_soli>'30/06/2006') b. Determinamos la Dimensin Plazo como destino de datos. c. En las transformaciones se determina que columnas del origen correspondern con las de la Dimensin Plazo.
85
CAPITULO II: Desarrollo del Trabajo de Suficiencia Paso 6: Poblamiento de la Dimensin Recuperador
Para transferir los datos a la dimensin Recuperador, se efectan los siguientes pasos: a. Definimos una sentencia SQL como origen de datos. select distinct(u.nombre),(r.cod_age + r.cod_rec) as ID from usuarios u inner join recuperador r on r.cod_user=u.cod_user inner join carterarecup c on r.cod_rec=c.cod_rec and r.cod_age=c.cod_age where std_user='a' and r.cod_acc like'RECUPERA%' order by nombre desc b. Determinamos la Dimensin Recuperador como destino de datos. c. En las transformaciones se determina que columnas del origen
86
CAPITULO II: Desarrollo del Trabajo de Suficiencia Paso 7: Poblamiento de la Dimensin Tipo Prestamo
Para transferir los datos a la dimensin Tipo Prestamo, se efectan los siguientes pasos: a. Definimos una sentencia SQL como origen de datos. select tipo_pres,nom_pres from tippres b. Determinamos la Dimensin Tipo Prestamo como destino de datos. c. En las transformaciones se determina que columnas del origen
87
CAPITULO II: Desarrollo del Trabajo de Suficiencia Paso 8: Poblamiento de la Dimensin Producto
Para transferir los datos a la dimensin Producto, se efectan los siguientes pasos: a. Definimos una sentencia SQL como origen de datos. select tipo_prod,nom_prod from tipprod where tipo_prod not in('52','50') b. Determinamos la Dimensin Producto como destino de datos. c. En las transformaciones se determina que columnas del origen
88
CAPITULO II: Desarrollo del Trabajo de Suficiencia Paso 9: Poblamiento de la Dimensin Socio
Para transferir los datos a la dimensin Socio, se efectan los siguientes pasos: a. Definimos una sentencia SQL como origen de datos. select distinct(s.tipo_socio+ tipo_situa),t.nom_socio, (select nom_situa from tipsitua where tipo_situa=s.tipo_situa) from socios s inner join tipsocio t on s.tipo_socio=t.tipo_socio where s.fecha_apert>'31/12/2006' and s.tipo_situa in ('01','04')
b. Determinamos la Dimensin Socio como destino de datos. c. En las transformaciones se determina que columnas del origen
89
CAPITULO II: Desarrollo del Trabajo de Suficiencia Paso 10: Poblamiento de la Tabla de Hechos
a. Para poblar los Datos de la Tabla de Hechos Operaciones se tiene que ejecutar el siguiente procedimiento almacenado: EXEC SPA_POBLAMIENTO_OPERACIONES
Procedimiento almacenado EXEC SPA_POBLAMIENTO_OPERACIONES ALTER PROCEDURE [dbo].[SPA_POBLAMIENTO_OPERACIONES] AS SET NOCOUNT ON SELECT distinct(t.tiempo_key),a.agencia_key,s.socio_key, (isnull((select count(*) from SOCIOS where righT(left(cuenta,5),2)=a.cod_age and fecha_apert=t.fecha and tipo_socio=s.socioID),0)) AS Nuevos, (isnull((select count(*) from SOCIOS where righT(left(cuenta,5),2)=a.cod_age and fecha_reing=t.fecha and tipo_socio=s.socioID),0)) reingresos, (isnull((select count(*) from SOCIOS where righT(left(cuenta,5),2)=a.cod_age and fecha_reti=t.fecha and tipo_socio=s.socioID),0)) retiros, (isnull((select sum(capital) from movaho mo inner join ahorro ah on mo.cta_aho=ah.cta_aho and mo.tipo_aho=ah.tipo_aho inner join socios so on ah.cuenta=so.cuenta where mo.tipo_aho='01' and mo.tipo_mov in('0002') and not exists(select * from movaho where tipo_mov ='0102' and cta_aho=mo.cta_aho and fecha_mov=mo.fecha_mov) and mo.cta_aho is not null and righT(left(mo.cta_aho,5),2)=a.cod_age and fecha_mov=t.fecha and so.tipo_socio=s.socioID),0)) aportes INTO #TABLAA from SOCIOS fs left join DM_Coopac.dbo.Dim_tiempo t on datename(mm,fs.fecha_apert)=t.mes inner join DM_Coopac.dbo.Dim_agencia a on righT(left(fs.cuenta,5),2)=a.cod_age inner join DM_Coopac.dbo.Dim_socio s on fs.tipo_socio=s.socioID order by t.tiempo_key
SELECT distinct(t.tiempo_key),a.agencia_key,s.socio_key,p.plazo_key, (isnull((select sum(capital) from movaho mo inner join ahorro ah on mo.cta_aho=ah.cta_aho and mo.tipo_aho=ah.tipo_aho inner join socios so on ah.cuenta=so.cuenta where mo.tipo_aho='03' and mo.tipo_mov in('0001') and not exists(select * from movaho where tipo_mov ='0101' and cta_aho=mo.cta_aho and fecha_mov=mo.fecha_mov) and mo.cta_aho is not null and righT(left(mo.cta_aho,5),2)=a.cod_age and fecha_mov=t.fecha and so.tipo_socio=s.socioID and ah.plazo=p.plazo),0)) plazo INTO #TABLAB from SOCIOS fs left join DM_Coopac.dbo.Dim_tiempo t on datename(mm,fs.fecha_apert)=t.mes inner join DM_Coopac.dbo.Dim_agencia a on righT(left(fs.cuenta,5),2)=a.cod_age inner join DM_Coopac.dbo.Dim_socio s on fs.tipo_socio=s.socioID inner join ahorro fa on fa.cuenta=fs.cuenta
90
OPEN PLAZO_CUR FETCH NEXT FROM PLAZO_CUR INTO @TIEMPO,@AGENCIA,@SOCIO,@PLAZO,@PFIJO WHILE @@FETCH_STATUS= 0 BEGIN IF EXISTS (SELECT * FROM DM_Coopac.dbo.HECHO_OPERACIONES WHERE TIEMPO_KEY=@TIEMPO AND AGENCIA_KEY=@AGENCIA AND SOCIO_KEY=@SOCIO) BEGIN INSERT INTO DM_Coopac.dbo.HECHO_OPERACIONES VALUES(0,0,0,0,@PFIJO,@TIEMPO,@PLAZO,@AGENCIA,@SOCIO) END ELSE BEGIN SELECT @NUEVO=NUEVOS,@REING=REINGRESOS,@RETIRO=RETIROS,@APORTE=APO RTES FROM #TABLAA WHERE TIEMPO_KEY=@TIEMPO AND AGENCIA_KEY=@AGENCIA AND SOCIO_KEY=@SOCIO INSERT INTO DM_Coopac.dbo.HECHO_OPERACIONES VALUES(@NUEVO,@REING,@RETIRO,@APORTE,@PFIJO,@TIEMPO,@P LAZO,@AGENCIA,@SOCIO) END FETCH NEXT FROM PLAZO_CUR INTO @TIEMPO,@AGENCIA,@SOCIO,@PLAZO,@PFIJO END CLOSE PLAZO_CUR deallocate PLAZO_CUR DROP TABLE #TABLAA DROP TABLE #TABLAB
91
b. Para poblar los Datos de la Tabla de Hechos Crditos y Cobranzas se tiene que ejecutar el siguiente procedimiento almacenado: EXEC SPA_POBLAMIENTO_CRED_COB
Procedimiento almacenado EXEC SPA_POBLAMIENTO_ CRED_COB
ALTER PROCEDURE [dbo].[SPA_POBLAMIENTO_CRED_COB] AS SET NOCOUNT ON select fecha_evalua,cod_age,cod_ana,cod_rec,tipo_pres,tipo_prod,s.tipo_socio, sum(saldo_pres) saldo_pres,sum(saldo_vencido) saldo_vencido,sum(prov_requerida)prov, (isnull((select sum(capital) from movpre m where datepart(yy,fecha_mov)=datepart(yy,fecha_evalua) and datepart(mm,fecha_mov)=datepart(mm,fecha_evalua) and tipo_mov='0001' and not exists(select * from movpre where tipo_mov ='0101' and pagare=m.pagare and fecha_mov=m.fecha_mov) and m.cod_age=e.cod_age and (select top 1 cod_ana from carteranalista where pagare=m.pagare and otorga=m.otorga)=e.cod_ana and (select top 1 cod_rec from carterarecup where pagare=m.pagare and otorga=m.otorga)=e.cod_rec and (select top 1 tipo_pres from prestamo where pagare=m.pagare and otorga=m.otorga and cuenta=m.cuenta)=e.tipo_pres and (select top 1 tipo_prod from prestamo where pagare=m.pagare and otorga=m.otorga and cuenta=m.cuenta)=e.tipo_prod and (select top 1 tipo_socio from socios where cuenta=m.cuenta)=s.tipo_socio ),0)) colocaciones, (isnull((select sum(capital) from movpre m where datepart(yy,fecha_mov)=datepart(yy,fecha_evalua) and datepart(mm,fecha_mov)=datepart(mm,fecha_evalua) and tipo_mov='0002' and not exists(select * from movpre where tipo_mov ='0102' and pagare=m.pagare and fecha_mov=m.fecha_mov) and m.cod_age=e.cod_age and (select top 1 cod_ana from carteranalista where pagare=m.pagare and otorga=m.otorga)=e.cod_ana and (select top 1 cod_rec from carterarecup where pagare=m.pagare and otorga=m.otorga)=e.cod_rec and (select top 1 tipo_pres from prestamo where pagare=m.pagare and otorga=m.otorga and cuenta=m.cuenta)=e.tipo_pres and (select top 1 tipo_prod from prestamo where pagare=m.pagare and otorga=m.otorga and cuenta=m.cuenta)=e.tipo_prod and (select top 1 tipo_socio from socios where cuenta=m.cuenta)=s.tipo_socio ),0)) recuperar into #TABLAP from evalua_cartera e inner join socios s on e.cuenta=s.cuenta where fecha_evalua between '31/01/2009' and '31/03/2009' group by fecha_evalua,cod_age,cod_ana,cod_rec,tipo_pres,tipo_prod,tipo_socio order by fecha_evalua,cod_age,cod_ana DECLARE @SALDO_PRES DECIMAL(12,2) DECLARE @SALDO_VENCIDO DECIMAL(12,2) DECLARE @PROV DECIMAL(12,2) DECLARE @COLOCACIONES DECIMAL(12,2) DECLARE @RECUPERAR DECIMAL(12,2) DECLARE @FECHA DATETIME DECLARE @COD_AGE CHAR(2) DECLARE @COD_ANA CHAR(2)
92
OPEN CREDITOS_CUR FETCH NEXT FROM CREDITOS_CUR INTO @FECHA,@COD_AGE,@COD_ANA,@COD_REC,@COD_PRES,@COD_PROD,@C OD_SOCIO,@SALDO_PRES,@SALDO_VENCIDO,@PROV,@COLOCACIONES,@RE CUPERAR WHILE @@FETCH_STATUS= 0 BEGIN SELECT @TIEMPO=TIEMPO_KEY FROM DM_Coopac.dbo.DIM_TIEMPO WHERE FECHA=@FECHA SELECT @AGENCIA=AGENCIA_KEY FROM DM_Coopac.dbo.DIM_AGENCIA WHERE COD_AGE=@COD_AGE SELECT @SOCIO=SOCIO_KEY FROM DM_Coopac.dbo.DIM_SOCIO WHERE SOCIOID=@COD_SOCIO SELECT @ANALISTA=ANALISTA_KEY FROM DM_Coopac.dbo.DIM_ANALISTA WHERE LEFT(COD_ANA,2)=@COD_AGE AND RIGHT(COD_ANA,2)=@COD_ANA SELECT @RECUPERADOR=RECUPERADOR_KEY FROM DM_Coopac.dbo.DIM_RECUPERADOR WHERE LEFT(COD_REC,2)=@COD_AGE AND RIGHT(COD_REC,2)=@COD_REC SELECT @PRESTAMO=TIPO_PRESTAMO_KEY FROM DM_Coopac.dbo.DIM_TIPO_PRESTAMO WHERE COD_PRES=@COD_PRES SELECT @PRODUCTO=PRODUCTO_KEY FROM DM_Coopac.dbo.DIM_PRODUCTO WHERE COD_PROD=@COD_PROD IF NOT EXISTS (SELECT * FROM DM_Coopac.dbo.HECHO_CREDITOS_COBRANZAS WHERE TIEMPO_KEY=@TIEMPO AND AGENCIA_KEY=@AGENCIA AND SOCIO_KEY=@SOCIO AND ANALISTA_KEY=@ANALISTA AND RECUPERADOR_KEY=@RECUPERADOR AND TIPO_PRESTAMO_KEY=@PRESTAMO AND PRODUCTO_KEY=@PRODUCTO) BEGIN INSERT INTO DM_Coopac.dbo.HECHO_CREDITOS_COBRANZAS VALUES(@COLOCACIONES,@SALDO_PRES,0,@RECUPERAR,0,0,@SALD O_VENCIDO,@PROV,@TIEMPO,@AGENCIA,@ANALISTA,@PRODUCTO,@RECUP ERADOR,@PRESTAMO,@SOCIO) END FETCH NEXT FROM CREDITOS_CUR INTO @FECHA,@COD_AGE,@COD_ANA,@COD_REC,@COD_PRES,@COD_PROD,@C OD_SOCIO,@SALDO_PRES,@SALDO_VENCIDO,@PROV,@COLOCACIONES,@RE CUPERAR END CLOSE CREDITOS_CUR deallocate CREDITOS_CUR DROP TABLE #TABLAP
93
2.7.1
Hardware La base de datos y los servidores OLAP deben de tener la siguiente configuracin de hardware: a. RAM: 2GB b. Disco Duro (espacio): 80GB. c. Procesador: Corel 2 Duo Intel Xeon de 2.53 GHz,
2.7.2
Software Para la implementacin se trabajar con ERwin Data Modeler r7, MS SQL Server 2005. En la tabla N32 se detalla la herramienta a utilizar y los procesos a ejecutar.
Tabla N 32: Software para el proceso de Diseo del DataMart Componente del Proceso Construccin de Interfaces Cubos ETL DataMart Modelo Lgico y Fsico Herramienta MS Excel 2007 Analys Services SQL Server Business Intelligenc SQL Server 2005 ERwin Data Modeler r7
2.8 Especificacin de la Aplicacin del Usuario Final 2.8.1 Estructura de Cubo La herramienta utilizada para el diseo del cubo es el SSAS (SQL Server Analysis Services) que es el diseador de cubos de Business Intelligence Development Studio para crear el cubo, incluido las medidas, las dimensiones y sus respectivas relaciones. a. El cubo de operaciones se llama Operaciones.Cube. Las medidas y dimensiones de este cubo son originadas por su equivalente a las tablas del modelo dimensional como se muestra en la Figura N 60
94
95
En la Figura N 61 se puede observar como el diseo del cubo cumple con los requerimientos bsicos a descritos en Anlisis de Requerimientos, donde podemos observar como los datos (las medidas) son mostrados.
b. El cubo de Crditos y Cobranzas se llama Cred_Cob.Cube. Las medidas y dimensiones de este cubo son originadas por su equivalente a las tablas del modelo dimensional como se muestra en la Figura N 62 Y en las Figuras N 63 y 64 se puede observar como el diseo del cubo cumple con los requerimientos bsicos a descritos en Anlisis de Requerimientos, donde podemos observar como los datos (las medidas) son mostrados.
96
97
2.9 Desarrollo de la Aplicacin del Usuario Final El desarrollo de las aplicaciones de los usuarios finales involucra configuraciones del metadata y construccin de reportes especficos. Las Figuras N 65, 66, 67 y 68 son interfaces personalizadas creadas en Excel con herramientas comunes, utilizando los cubos Operaciones.Cube y Cred_Cob.Cube anteriormente descritos.
98
99
100