Documentos de Académico
Documentos de Profesional
Documentos de Cultura
I N F O R M E D E P R C T I C A
P R O F E S I O N A L
Q U E P A R A O B T E N E R E L T T U L O D E:
LICENCIADO EN CIENCIAS DE LA INFORMTICA
P R E S E N T A:
L I L I A N A M E N E S E S B E N T E Z
S.
RESUMEN............................................................................................................................................ i
INTRODUCCIN..................................................................................................................................ii
1.2 Objetivos........................................................................................................................... 1
2.1.1 Inteligencia......................................................................................................................... 3
3.3 Diagnstico..................................................................................................................... 12
4.3.1.2 ATB.............................................................................................................................. 59
i
INTRODUCCIN.
En el mundo de los negocios, ha sido reiteradamente reivindicado el valor del sexto sentido de los
altos ejecutivos de las empresas para fundamentar sus decisiones estratgicas. Sin embargo las
nuevas, y algunas no tan nuevas caractersticas del entorno empresarial bajo los efectos de
globalizacin de las empresas, de los mercados, de las tecnologas, de los flujos de capitales y de
los productos, ejercen una enorme influencia sobre la competitividad y la productividad de las
organizaciones, presionando con ello a fundamentar cada vez menos las decisiones en los
sentidos, para hacerlo cada da ms apoyados en los sistemas de informacin y las tecnologas.
En efecto, como respuesta a las nuevas condiciones del mercado, ahora con alcance mundial por
la globalizacin de las economas, se han desatado un valor especial al uso de sistemas de
informacin proveedores de los elementos para la toma de decisiones que corresponda al
problema detectado, as como al logro de la meta planteada. Se puede reconocer, que el objetivo
final de esta clase de aplicaciones es apoyar al personal responsable de la administracin de una
funcin, rea o de toda la organizacin en el mejor desempeo de su tarea, especialmente en la
toma de decisiones.
En el primer captulo de este trabajo se describen las directrices generales para abordar el tema de
la prctica profesional, en el que se realiz el planteamiento del problema detectado en la empresa
INFA, definiendo desde los objetivos hasta la justificacin del problema. En el captulo II se
presenta el marco referencial con el objeto de mostrar la informacin general de la empresa INFA,
as como la definicin de conceptos clave.
En el captulo III se presenta la propuesta de solucin, elaborada por BIS Soluciones, para la
empresa INFA, as como los beneficios, ventajas y desventajas de la implementacin de una
solucin de Inteligencia de Negocios.
Finalmente, con base a la informacin recopilada se presenta el captulo IV, el cual es el resultado
de este trabajo, que es el desarrollo de los procesos que extraern, transformarn y cargaran la
informacin en el Data Mart de la empresa INFA.
ii
CAPTULO I. MARCO METODOLGICO.
En este captulo se describen las directrices generales para abordar el tema de este informe de
prctica profesional, en donde se realiza el planteamiento del problema, definicin de los objetivos
y la justificacin de los mismos, as como el tipo de investigacin y la tcnica de investigacin a
emplear.
1.2 Objetivos.
Generar el Reporte Ejecutivo, con las fuentes de datos que alimentan este mismo:
SATA (Visitas Mdicas).
ATB.
ESAKT.
1
1.3 Justificacin.
El problema planteado anteriormente, lleva a BIS Soluciones a plantear una solucin que le permita
obtener de forma eficiente la informacin estratgica para la toma de decisiones del rea Comercial
de INFA; mediante la utilizacin de herramientas tales como DataStage.
Los resultados que obtendr como profesionista sern una proyeccin y una aplicacin sobre el
negocio al cual ofrecemos nuestros servicios, no solo de forma operativa sino estratgica para la
toma de decisiones y as al tener ambos elementos ser an ms valiosa en mi entorno de trabajo,
ya que tendr conocimiento y funcin sobre las reglas del negocio.
1.4 Hiptesis.
Se generar una solucin de Inteligencia de Negocios para el rea Comercial de INFA, mediante la
herramienta de Inteligencia de Negocios DataStage, para integrar la informacin del rea comercial
y generar un mejor anlisis de dicha informacin.
Documentales. Fichas bibliogrficas, informacin por parte del cliente y con esta llevar un
registro de los pasos del proyecto.
De campo. Que ser por medio de entrevistas y cuestionarios a los encargados de la
direccin del proyecto, as como a los empleados encargados del desarrollo del mismo.
2
CAPTULO II. MARCO TERICO Y REFERENCIAL.
En este captulo se abordar el tema del marco terico y referencial sobre algunos aspectos de la
Inteligencia de Negocios, con el objetivo de dar un panorama general de los conceptos utilizados
dentro de este reporte de prctica profesional.
2.1.2 Negocio.
Actividad comercial o social que se ha pensado y se desea de que desarrollar. Es una herramienta
que nos permite organizar y planificar las actividades que debemos realizar para lograr las metas
de nuestra empresa cooperativa.
Algunos conceptos de inteligencia de negocios no son nuevos, pero incluyen ahora la experiencia
ganada desde los sistemas de informacin centrales hasta las aplicaciones de Data Warehouse.
Segn Kimball, podemos distinguir algunos elementos bsicos del Data Warehouse:
3
Sistemas de Fuente Operacionales, la arquitectura en la cual se almacena los datos de la
operacin de la empresa.
rea de arreglo de los Datos, donde se ejecutan la depuracin, estandarizacin y
combinacin de los datos de la fuente operacional. Adems se almacena los datos y se
ejecuta procesos de ordenamiento.
rea de Presentacin de los Datos, donde se realiza la carga de los datos que conforman
un Data Mart, haciendo uso del modelamiento dimensional.
Herramientas de Acceso a los Datos, que incluye aplicaciones para consulta especfica,
generadores de reportes, anlisis de datos, modelamiento de proyecciones y estimacin de
1
resultados.
Esta primera concepcin ha sido reemplazada, y el Data Mart es ahora definido como un conjunto
flexible de datos, idealmente basado en los datos ms atmicos posibles que se puedan extraer de
una fuente operacional, y presentados en un modelo dimensional que es el que posee mayor
capacidad de recuperacin ante consultas inesperadas de los usuarios.
Los Data Mart pueden estar vinculados usando tcnicas especficas al momento de conformar sus
dimensiones. En este caso decimos que los Data Mart estn conectados al bus del Data
Warehouse.
En una forma simplificada, podemos decir que un Data Mart representa los datos de un proceso
nico de negocio.
1
The Data Warehouse Toolkit, pgina 40
2
The Data Warehouse Toolkit, pgina 16
4
sistemas (llamados Data Marts independientes), o desde un Data Warehouse de la empresa
3
(llamados Data Marts dependientes).
5
2.1.8 Procesos ETL.
ETL - este trmino viene de ingles de las siglas Extract-Transform-Load y que significa Extraer,
Transformar y Cargar. ETL es el proceso que organiza y consolida el flujo de los datos entre
diferentes sistemas en una organizacin desde mltiples fuentes, formatendolos, limpindolos y
cargndolos en otra base de datos, Data Mart Data Warehouse. ETL forma parte de lo que se
conoce como Business Intelligence, tambin llamado Administracin de los Datos (Data
Management).
Proceso ETL.
Un modelo dimensional busca con su diseo proveer claridad, prediccin, escalabilidad y alta
resistencia a una significativa cantidad de consultas, todo ello debido a su naturaleza simtrica.
6
Dicho modelos dimensionales son la base de muchos componentes que agregan rendimiento en
las bases de datos, incluyendo su considerable facilidad para poder vincular diferentes jerarquas
de datos y aproximacin por ndices.
Los modelos dimensionales son la base para el desarrollo incremental y distribuido de los Data
Warehouse a travs del uso de dimensiones y Facts, adems son la base lgica para los sistemas
4
OLAP.
7
Ciclo de vida de los proyectos BI.
2.1.13 DataStage.
DataStage es una herramienta ETL que permite de una manera sencilla y verstil la creacin y
administracin de procesos que integran informacin de diversas fuentes, ya sean homogneas o
heterogneas, que se encuentren ubicadas en el mismo sitio o en servidores fsicamente remotos.
Es una solucin muy til para proyectos de Data Warehouse, de integracin de aplicaciones,
integracin de datos, etc. Posiblemente existan otros medios ms econmicos y conocidos que nos
permitan realizar las mismas tareas, pero la ventaja de DataStage es la facilidad con que se
desarrollan los procesos as como la administracin de los mismos.
5 http://www.gopac.com.mx/bi/index.htm
6 Dimensional Modeling In a Business Intelligence, pginas 40 y 41.
8
Pirmide de la informacin.
Misin.
Nuestra Misin es la salud de los pacientes mejorando su calidad de vida. En Investigacin
Farmacutica queremos ser reconocidos y respetados como una compaa que conduce negocios
con la aplicacin de elevados estndares ticos que cumplan con los requerimientos legales y
regulatorios.
Visin.
Ser lderes en el mercado de obesidad y en el de salud femenina.
9
2.2.2 Poltica de Calidad.
Es el compromiso de INFA cumplir con las expectativas de nuestros Clientes ofreciendo productos
farmacuticos y suplementos alimenticios de Calidad a travs de una Mejora Continua.
2.2.3 Organigrama.
BIS Soluciones para el desarrollo del proyecto se encuentra ubicado a nivel STAFF en el rea de
Sistemas, ya que no se considera como parte del rea de Sistemas, sino como apoyo a la misma.
Es por ello que no aparece en este organigrama.
10
CAPTULO III. ANLISIS DE LA INVESTIGACION DE CAMPO.
En este captulo se pretende mostrar el anlisis de la solucin, as como los beneficios, ventajas y
desventajas de la implementacin de una solucin de Inteligencia de Negocios.
11
3.2 Anlisis de Costos.
La informacin en la actualidad se ha vuelto un componente de gran importancia para cualquier
organizacin es la informacin, esto lo que lo convierte en un activo.
Adems el uso de recursos humanos es elevado, debido al gran tiempo que estos deben utilizar
para la generacin de sus reportes.
3.3 Diagnstico.
La empresa INFA presenta problemas en conceptualizacin de informacin, su rea de sistemas
no se encuentra con la capacidad necesaria para poder implementar por s misma un proceso de
Inteligencia de Negocios, que permita a la Gerencia Comercial generar de forma fcil y eficiente el
anlisis de su informacin.
12
CAPITULO IV. PROPUESTA.
En este captulo se presenta la propuesta de solucin planteada por BIS Soluciones para la
empresa INFA, en relacin a sus problemas de anlisis de informacin.
Se plantea realizar un Data Mart, el cual contenga la informacin necesaria de las reas de INFA,
que son:
Visitas Mdicas.
Ventas.
Mercados.
Close Up.
13
4.2 Inteligencia de Negocios en INFA.
En esta seccin se explican los conceptos principales en el cual est fundamentado el
procedimiento que se sigue para el desarrollo y determinacin de la muestra que se aplic en
Impresora Chvez Garca y los clculos realizados para su obtencin.
1. Contar con un repositorio central, en el que converjan las distintas fuentes de informacin
(VANTAGE, SATA, ATB, etc.) para contar con la capacidad de responder de forma veraz y
oportuna a preguntas como las siguientes:
14
2. Contar con los elementos necesarios para la elaboracin de reportes ms completos, que
les permitan realizar anlisis, de una forma grfica y amigable, tales como:
1) Cobertura de la Fuerza de Ventas.
2) Ventas en unidades y dinero.
3) Ventas por Gerencia, por Regiones, por Divisiones, por Fuerza de Ventas, etc.
4) Variaciones de Logstica, dando seguimiento en los cambios que se hayan
podido realizar en la Fuerza de Ventas.
5) Rotacin de Cuentas y Rankeo de Clientes.
6) Expectativas de Venta a travs del Rolling Forecast y la Venta.
15
Esta solucin pretende terminar con los problemas actuales de anlisis de informacin para la
Gerencia Comercial de INFA.
Con los sistemas Business Intelligence obtenemos beneficios tanto en generacin de nuevas
En primer lugar hemos de ser conscientes de los costos en los que incurrimos cuando no tenemos
una herramienta de Business Intelligence, que grficamente se representan con esta balanza:
16
Horas de preparacin de la informacin.
Costos de Interpretacin de la Informacin.
Costo de los errores humanos en clculo.
Costos No Humanos.
Horas de Equipo procesando bsqueda de informacin.
Horas de equipo preparando la informacin.
Horas de equipo transmitiendo.
17
Aumento de ventas por focalizacin en segmentos de productos.
Aumento de mrgenes por focalizacin en segmentos de mix de productos-
clientes.
Alineacin de la empresa, (los empleados), segn la estrategia.
Toma de decisiones contando con todos los parmetros.
Posibilidad de simulacin de escenarios.
Toma de decisiones basadas en cuadro de mando.
Hay efectos como el aumento de productividad de los empleados y directivos, la nueva imagen
interna de la empresa de modernidad y avance, etc.
4.3 Construccin.
En esta seccin se describe cada uno de los procesos de carga de los datos al modelo dimensional
por cada modulo del proyecto Inteligencia de Negocios en INFA, pasando por el anlisis, diseo y
desarrollo. Cada proceso desarrollado con la herramienta DataStage.
Este proveedor proporciona a INFA reportes y respaldos de la base de datos de forma mensual, los
reportes dentro de un sistema Web y el respaldo dentro de un Backup en un Manejador de Base de
Datos llamado postgres. Se defini que estas sern nuestras fuentes de anlisis del sistema.
La fuente de datos final que se tomar, ser la base de datos, ya que se considera como la fuente
de datos ms confiable para la extraccin de la informacin. Para poder obtener la informacin es
necesario conocer la Base de Datos y las tablas de la misma.
Dentro de todo el proceso de anlisis de la fuente de datos se encontraron los siguientes puntos:
SATA cuenta con 74 tablas (No todas sern utilizadas).
18
Se puede crear la conexin a la BD desde DataStage para las extracciones.
Puntos en contra:
No se cuenta con el modelo de la BD.
No se cuenta con el diccionario de datos.
Nota: INFA y CELN solo cubren desde el Ciclo 200903 hasta el 200907, se defini que los ciclos
anteriores al 200903 no se tomarn, debido a que las fuerzas de ventas son diferentes y estn
alineados a otros Bricks.
Las Fuerzas de Ventas estn divididas en Territorios que se conocen como Rutas, las cuales a su
vez estn conformadas por Bricks, los cuales a su vez tienen Cdigos Postales y Colonias. Esta
estructura aplica a todos los estados de la repblica Mexicana.
Fuerza de Venta > Rutas > Bricks > CP y colonias.
19
La Fuerza de Ventas tiene una jerarqua como sigue:
Estatus del mdico que se est dando de alta debera de ser siempre INFO100, el cual se asigna
una vez que se hayan proporcionado todos los datos requeridos por el sistema (los marcados en
negritas, cursivas y subrayados). Para cambiar este estatus los representantes de ventas tienen
hasta 90 das para llevarlo a cabo.
Para la clasificacin del mdico se deben tomar en cuenta DIAMANTE, N05C, A80A, N05C, C05C.
20
El manejo de Igualas significa que trabajo para algn banco o empresa como parte de su trabajo
adicional al de tener su consultorio.
Los datos de la direccin a capturar sern los correspondientes a los de su Consultorio Principal,
siendo estos los siguientes:
Tipo de Direccin.
Calle.
Nmero Exterior o Interior.
Cdigo Postal.
Colonia.
Municipio.
Estado.
Telfono de la Direccin.
Fax.
Referencia para ubicacin.
Horarios.
El sistema est ligado al Sistema Postal Mexicano, por lo que los cdigos postales se encuentran
actualizados; el sistema a partir del cdigo postal o de la colonia, busca y proporciona los datos del
Municipio y del Estado correspondientes.
21
Pgina Web.
Estatus.
Clasificacin 1 (RX, VDF Abierta al Pblico, VDF Consultorio).
Clasificacin 2 (No vende Controlados, Si Vende Controlados).
Clasificacin 3 (Autoservicio, Farmacia Cadena, Farmacia Particular).
Estatus (Nuevo, Por Validar, Validado, Suspendido, Pendiente, Audit).
En cuanto a las Visitas Mdicas se refiere, lo que pueden capturar los representantes de Ventas
est lo siguiente:
Tipo de Visita (Llamada de Entrada, Llamada de Salida, Visita Farmacia, Visita
Mdica).
Bandera de Reasignacin.
Fecha o Ciclos.
Hora.
Bandera indicativa de si tiene o no una cita.
Objetivo / Comentario.
Objetivo/ Siguiente.
Acompaado con: GNAC, GPRD, GDIS, DCOM, GMKT, OTROS.
Estatus (Planeada, Terminada, No Realizada, Reprogramada).
Clasificacin (Normal o Ciclo).
Los representantes tienen indicado el grabar o agendar su primera cita del da, as como la primera
despus de la hora de la comida. Tambin pueden Reasignar la cita a otro compaero de la
misma ruta, aunque sea de otra Fuerza de Ventas. Estos casos en su mayora son a sugerencia
del Mdico, ya que ste le pide al representante le notifique a su compaero de la necesidad que
tiene de verlo.
SATA lleva un histrico de estas reprogramaciones, las cuales pueden ser consultadas por medio
del mdulo de Anlisis con que cuenta.
Las calendarizaciones de las visitas se pueden visualizar a travs del Calendario, ya sea por da,
semana o mes.
Cuenta con un mdulo de Anlisis el cual a su vez tiene las siguientes opciones:
Cubos.
Reportes.
22
Indicadores.
Modelos
PROCESAMIENT
SATA Comerciales
O PARA CARGA
INFAERP
Como se describi en el anlisis, la fuente de datos de donde se extrae la informacin es una base
de datos denominada SATA, la cual se encuentra en POSTGRES SQL 8. Para el anlisis de la
informacin proveniente de esta fuente y funcionamiento de los cubos de informacin, se realizo un
modelo de datos, el cual se muestra a continuacin.
23
Modelo de datos para el modulo SATA.
24
Este modelo de datos se obtuvo despus de las entrevistas con los usuarios, las cuales fueron
sensibles a las necesidades de los mismos. Para la realizacin se tomo como base la metodologa
de Kimball.
Dicho modelo est conformado por dos tablas FACTS (Visitas Resumen y Visitas) y 15 catlogos
(Gerentes, Representantes, Clasificacin actividad, Acompaamiento, Status visita, Tipo visita,
Mdicos, Precio Consulta, Fuerza de ventas, Bricks, Ciclos Promocionales, Especialidades,
Clientes, Numero de pacientes a la semana, Numero de pacientes a la semana obesidad).
Para los catlogos de Gerentes, Representantes, Fuerza Ventas y Bricks su fuente es INFAERP.
A continuacin se detalla cada uno de los catlogos y FACT contenidos en el modelo de Visitas.
GERENTES.
ID_DISTRITO_CONS NO VarChar 15
ID_DISTRITO SI VarChar 15
DESC_DISTRITO NO VarChar 45
ID_GTE_CONS SI VarChar 15
ID_NOMINA_GTE NO VarChar 15
DESC_GERENTE NO VarChar 50
ID_CNTO_COSTOS_GTE NO VarChar 10
FECHA_INICIO NO Char 16
FECHA_FIN NO Char 16
REPRESENTANTES.
ID_RUTA_CONS NO VarChar 20
DESC_RUTA NO VarChar 30
ID_RUTA SI VarChar 15
25
ID_REPRE_CONS SI VarChar 20
ID_NOMINA_REPRE NO VarChar 10
DESC_REPRE NO VarChar 50
ID_CNTO_COSTOS_RUTA NO VarChar 10
ID_FUERZA_VENTAS NO VarChar 10
FECHA_INICIO NO Char 16
FECHA_FIN NO Char 16
HIBRIDO NO VarChar 20
CLIENTES.
ID_CATEGORIA NO Integer 10
DESC_CATEGORIA NO VarChar 50
ID_TIPO_CLIENTE NO Integer 10
DESC_TIPO_CLIENTE NO VarChar 50
ID_TIPO_CLIENTE_1 NO Integer 10
DESC_TIPO_CLIENTE_1 NO VarChar 50
ID_CLIENTE NO Integer 10
DESC_CLIENTE NO VarChar 50
ID_STATUS NO Integer 10
DESC_STATUS NO VarChar 50
ID_AUDIT NO Integer 10
DESC_AUDIT NO VarChar 50
PREESCRIBE_SIBUTRAMINA NO VarChar 50
PREESCRIBE_CONTROLADOS NO VarChar 50
MANEJA_IGUALAS NO VarChar 50
26
ID_PRECIO_CONSULTA NO VarChar 50
RANGO_PRECIO_CONSULTA NO VarChar 50
ID_NUM_PAC_SEM NO VarChar 50
RANGO_NUM_PAC_SEM NO VarChar 50
ID_NUM_PAC_SEM_OBESIDAD NO VarChar 50
RANGO_NUM_PAC_SEM_OBESID NO VarChar 50
CLASIFICACION_ACTIVIDAD.
ID_CLASIFICACION NO Integer 10
DESC_CLASIFICACION NO VarChar 50
TIPO NO VarChar 50
ACOMPANAMIENTO.
ID_ACOMPANAMIENTO SI BigInt 19
STATUS_VISITA.
ID_STATUS_VISITA SI BigInt 19
27
TIPO_VISITA.
ID_TIPO_VISITA SI BigInt 19
DESC_TIPO_VISITA NO VarChar 50
MEDICOS.
ID_RUTA SI VarChar 50
DESC_RUTA NO VarChar 50
ID_CLIENTE SI VarChar 50
DESC_CLIENTE NO VarChar 50
NUM_CEDULA_PROF NO VarChar 50
ACTIVIDAD_ACADEMICA NO VarChar 50
ID_ESPECIALIDAD NO VarChar 50
DESC_ESPECIALIDAD NO VarChar 50
ID_STATUS NO Integer 10
DESC_STATUS NO VarChar 50
PREESCRIBE_SIBUTRAMINA NO VarChar 50
PORCENTAJE_SIBUTRAMINA NO VarChar 50
PREESCRIBE_CONTROLADOS NO VarChar 50
PORCENTAJE_CONTROLADOS NO VarChar 50
MANEJA_IGUALAS NO VarChar 50
ID_PRECIO_CONSULTA NO Integer 10
28
RANGO_PRECIO_CONSULTA NO VarChar 34
PRECIO_CONSULTA NO VarChar 50
ID_NUM_PAC_SEM NO Integer 10
RANGO_NUM_PAC_SEM NO VarChar 25
PACIENTES_SEMANA_TOTAL NO VarChar 50
ID_NUM_PAC_SEM_OBESIDAD NO Integer 10
RANGO_NUM_PAC_SEM_OBESID NO VarChar 25
PACIENTES_SEMANA_OBESIDA NO VarChar 50
ID_AUDIT NO VarChar 50
DESC_AUDIT NO VarChar 50
PONDERACION NO VarChar 50
PRECIO_CONSULTA.
ID_PRECIO_CONSULTA SI Integer 10
RANGO_PRECIO_CONSULTA NO VarChar 34
NUM_PAC_SEM.
ID_NUM_PAC_SEM SI Integer 10
RANGO_NUM_PAC_SEM NO VarChar 25
NUM_PAC_OBESIDAD.
ID_NUM_PAC_SEM_OBESIDAD SI Integer 10
29
RANGO_NUM_PAC_SEM_OBESID NO VarChar 25
ESPECIALIDADES.
ID_ESPECIALIDAD SI VarChar 50
DESC_ESPECIALIDAD NO VarChar 50
CICLOS_PROMOCIONALES.
ID_CICLO SI BigInt 19
DESC_CICLO_FV NO VarChar 50
FECHA_INICIO NO Char 16
FECHA_FIN NO Char 16
ANIO NO VarChar 4
ID_FUERZA_VENTAS NO VarChar 50
BICKS.
ID_ESTADO SI Integer 10
DESC_ESTADO NO VarChar 50
ID_CIUDAD_ZONAPOSTAL SI VarChar 50
DESC_CIUDAD_ZONAPOSTAL NO VarChar 50
DESC_BRICK NO VarChar 50
30
ID_FUERZA_VENTAS NO VarChar 50
FECHA_INICIO NO Char 16
FECHA_FIN NO Char 16
FUERZA_VENTAS.
ID_PAIS SI Integer 10
DESC_PAIS NO VarChar 50
ID_REGION SI Integer 10
DESC_REGION NO VarChar 50
ID_GTE_NAL SI VarChar 50
DESC_GTE_NAL NO VarChar 50
ID_DISTRITO SI VarChar 50
ID_RUTA SI VarChar 50
VISITAS.
ID_CLIENTE SI BigInt 19
ID_DISTRITO_CONS SI VarChar 50
ID_RUTA_CONS SI VarChar 50
ID_TIPO_VISITA SI BigInt 19
31
ID_STATUS_VISITA SI VarChar 255
ID_CLASIFICACION SI BigInt 19
ID_ACOMPANAMIENTO SI BigInt 19
M_VISITAS NO BigInt 19
ID_PRECIO_CONSULTA SI Integer 10
ID_NUM_PAC_SEM SI Integer 10
ID_NUM_PAC_SEM_OBESIDAD SI Integer 10
ID_ESPECIALIDAD SI Integer 10
VISITAS_RESUMEN.
ID_CICLO SI BigInt 19
FECHA NO VarChar 50
ID_DISTRITO_CONS SI VarChar 50
ID_RUTA_CONS SI VarChar 50
ID_REPRE_CONS SI VarChar 50
ID_TIPO_VISITA SI Integer 10
M_VISITA_REALIZADA NO BigInt 19
M_VISITA_BASE NO Numeric 19
M_VISITA_REQUERIDA NO Numeric 19
M_INCIDENCIAS NO Numeric 19
M_PLAN_TRABAJO NO Numeric 19
M_COBERTURA NO Float 15
M_VISITA_ACOMPANADA NO BigInt 19
DIAS_CICLO NO Integer 10
32
4.3.1.1.3 Construccin SATA.
La construccin de este proyecto est basada en los procesos ETL que cargan la informacin
necesaria para llenar los modelos, en este caso particular es el de Modelos Vistas. Para dicho
proceso se crearn los procesos necesarios en la herramienta ETL DataStage ; se dividirn en
cargas inciales (historia) y peridicas (mensuales). Las cargas de la informacin se realizarn en
una BD (Modelos Comerciales) en SQL Server 2005, esta tiene la misma estructura que el modelo
de datos previamente mostrado.
Especialidades.
En este proceso de carga solo se mapean los datos necesarios para el llenado del catlogo segn
el modelo de visitas, generando las siguientes reglas de negocio:
33
Ciclos Promocionales.
En este proceso solo se mapean los datos necesarios para el llenado del catlogo segn el modelo
de visitas, para lo cual se derivan las siguientes reglas de negocio:
34
Nmero de Pacientes a la Semana.
Para este catlogo se definieron las reglas de correspondencia, ya que en la fuente de datos no
este criterio no esta contemplado. Se obtiene la informacin desde un archivo plano (TXT) y las
reglas de negocio a realizar son las siguientes:
ID Pacientes Consulta.
Si el nmero de pacientes esta dentro de 0 y 24 entonces 1.
Si el nmero de pacientes esta dentro de 25 y 49 entonces 2.
Si el nmero de pacientes esta dentro de 50 y 74 entonces 3.
Si el nmero de pacientes esta dentro de 75 y 99 entonces 4.
Si el nmero de pacientes esta dentro de 100 y 149 entonces 5.
Si el nmero de pacientes esta dentro de 150 y 200 entonces 6.
Si el nmero de pacientes es mayor a 200 entonces 7.
Si no es ninguna de las anteriores 8.
35
Proceso de carga del catlogo de Nmero de Pacientes por Semana.
36
Para cargar el archivo plano en la base de datos, se utilizar el siguiente QUERY:
INSERT INTO
"MODELOS_COMERCIALES"."DBO".LT_NUM_PAC_SEM(ID_NUM_PAC_SEM,
RANGO_NUM_PAC_SEM) VALUES (?,?).
Siguiendo las reglas de negocio antes descritas, se genera el siguiente proceso de carga:
Precio Consulta.
En este catlogo de igual forma se define una regla de negocio para su clasificacin, la fuente de
datos no proporciona estos, por lo que es necesario generar la siguiente regla de negocio:
ID Precio Consulta.
Si el precio est entre 0 y 249 entonces 1.
Si el precio est entre 250 y 499 entonces 2.
Si el precio est entre 500 y 749 entonces 3.
Si el precio est entre 750 y 999 entonces 4.
Si el precio est entre 1000 y 1499 entonces 5.
Si el precio est entre 1500 y 2000 entonces 6.
Si el precio es mayo a 2000 entonces 7.
Si no es ninguna de las anteriores entonces 8.
37
Si el precio est entre 250 y 499 entonces 'Entre $250.00 y $500.00 Consulta'.
Si el precio est entre 500 y 749 entonces 'Entre $500.00 y $750.00 Consulta'.
Si el precio est entre 750 y 999 entonces 'Entre $750.00 y $1000.00 Consulta'.
Si el precio est entre 1000 y 1499 entonces 'Entre $1000.00 y $1500.00 Consulta'.
Si el precio est entre 1500 y 2000 entonces 'Entre $1500.00 y $2000.00 Consulta'.
Si el precio es mayor a 2000 entonces 'Mayor a $2000.00 Consulta'.
Si no es ninguna de las anteriores entonces 'N/A'.
Clientes.
En este proceso solo se mapean los datos necesarios para el llenado del catlogo segn el modelo
de visitas, con las siguientes reglas de negocio:
38
CASE WHEN C.PERFIL IS NULL THEN 9999 OTRO C.PERFIL END AS
ID_CATEGORIA,
CASE WHEN C.CLASE IS NULL THEN 'SIN CLASIFICAR' ELSE C.CLASE END AS
DESC_CATEGORIA,
CASE WHEN C.ID_AUDIT IS NULL THEN 2 ELSE C.ID_AUDIT END AS ID_AUDIT,
CASE WHEN C.DESC_AUDIT IS NULL THEN 'SATA' ELSE C.DESC_AUDIT END AS
DESC_AUDIT,
CASE WHEN A.STATUS_FLAG IS NULL THEN 9999 ELSE A.STATUS_FLAG END
AS ID_STATUS,
CASE WHEN A.STATUS_FLAG IS NULL THEN 'SIN CLASIFICAR' ELSE D.VALUE
END AS DESC_STATUS
FROM (SELECT A.ID_PARTY, A.ACCNT_NAME, B.ID_TYPE, B.STATUS_FLAG
FROM INSTITUTION A INNER JOIN PARTY_TYPE B ON A.ID_PARTY =
B.ID_PARTY WHERE A.STATUS_FLAG <> 217 -- "ELIMINADO" AND B.ID_TYPE IN
(SELECT ID_PRIVILEGE FROM PRIVILEGE WHERE GENERIC002 = 'INSTITUTION')
-- INSTITUCIONES) A
INNER JOIN PRIVILEGE B ON A.ID_TYPE = B.ID_PRIVILEGE
LEFT OUTER JOIN
(SELECT A.ID_PARTY, C.CLASE, C.CATEGORIA, C.PERFIL, CASE WHEN
C.CATEGORIA = 1 THEN 1 OTRO 2 END AS ID_AUDIT,
CASE WHEN C.CATEGORIA = 1 THEN 'AUDIT' ELSE 'SATA' END AS DESC_AUDIT,
C.PRIVILEGE_NAME AS DESC_CATEGORIA FROM INSTITUTION A
INNER JOIN PARTY_TYPE B ON A.ID_PARTY = B.ID_PARTY
LEFT OUTER JOIN (SELECT A.CODIGO_MEDICO, A.CATEGORIA, A.CLASE,
A.PERFIL, B. PRIVILEGE_NAME FROM MEDICOS_AUDIT A LEFT OUTER JOIN
PRIVILEGE B ON A.PERFIL = B.ID_PRIVILEGE) C ON A.ID_PARTY =
C.CODIGO_MEDICO --14093 WHERE A.STATUS_FLAG <> 217 -- "ELIMINADO" AND
B.ID_TYPE IN (SELECT ID_PRIVILEGE FROM PRIVILEGE WHERE GENERIC002 =
'INSTITUTION') AND C.CATEGORIA = 1) C ON A.ID_PARTY = C.ID_PARTY LEFT
OUTER JOIN CAT_DET D ON A.STATUS_FLAG = D.ID_CAT_DET
UNION
SELECT A.ID_PARTY AS ID_CLIENTE, A.ACCNT_NAME AS DESC_CLIENTE,
A.ID_TYPE AS ID_TIPO_CLIENTE,
CASE WHEN A.ID_TYPE = 2 THEN B.PRIVILEGE_NAME ELSE B.GENERIC002 END
AS DESC_TIPO_CLIENTE, CASE WHEN C.PERFIL IS NULL THEN 9999 ELSE
C.PERFIL END AS ID_CATEGORIA, CASE WHEN C.DESC_CATEGORIA IS NULL
THEN 'SIN CLASIFICAR' ELSE C.DESC_CATEGORIA END AS DESC_CATEGORIA,
CASE WHEN C.ID_AUDIT IS NULL THEN 2 ELSE C.ID_AUDIT END AS ID_AUDIT,
39
CASE WHEN C.DESC_AUDIT IS NULL THEN 'SATA' ELSE C.DESC_AUDIT END AS
DESC_AUDIT, CASE WHEN A.STATUS_FLAG IS NULL THEN 9999 ELSE
A.STATUS_FLAG END AS ID_STATUS, CASE WHEN A.STATUS_FLAG IS NULL
THEN 'SIN CLASIFICAR' ELSE D.VALUE END AS DESC_STATUS FROM ( SELECT
A.ID_PARTY, (A.NAME || ' ' || A.LAST_NAME || ' ' || A.MAIDEN_NAME) AS
ACCNT_NAME, B.ID_TYPE, B.STATUS_FLAG FROM PERSON A INNER JOIN
PARTY_TYPE B ON A.ID_PARTY = B.ID_PARTY WHERE A.STATUS_FLAG <> 217 -
- "ELIMINADO" AND B.ID_TYPE IN (SELECT ID_PRIVILEGE FROM PRIVILEGE
WHERE PRIVILEGE_NAME = 'MEDICO') -- MEDICOS ) A INNER JOIN PRIVILEGE B
ON A.ID_TYPE = B.ID_PRIVILEGE LEFT OUTER JOIN (SELECT A.ID_PARTY,
C.CLASE, C.CATEGORIA, C.PERFIL, CASE WHEN C.CATEGORIA = 1 THEN 1
ELSE 2 END AS ID_AUDIT, CASE WHEN C.CATEGORIA = 1 THEN 'AUDIT' ELSE
'SATA' END AS DESC_AUDIT, C.PRIVILEGE_NAME AS DESC_CATEGORIA FROM
PERSON A INNER JOIN PARTY_TYPE B ON A.ID_PARTY = B.ID_PARTY LEFT
OUTER JOIN (SELECT A.CODIGO_MEDICO, A.CATEGORIA, A.CLASE, A.PERFIL,
B. PRIVILEGE_NAME FROM MEDICOS_AUDIT A LEFT OUTER JOIN PRIVILEGE B
ON A.PERFIL = B.ID_PRIVILEGE) C ON A.ID_PARTY = C.CODIGO_MEDICO --14093
WHERE A.STATUS_FLAG <> 217 -- "ELIMINADO" AND B.ID_TYPE IN (SELECT
ID_PRIVILEGE FROM PRIVILEGE WHERE PRIVILEGE_NAME = 'MEDICO') AND
C.CATEGORIA = 1 ) C ON A.ID_PARTY = C.ID_PARTY LEFT OUTER JOIN
CAT_DET D ON A.STATUS_FLAG = D.ID_CAT_DET.
(Se utilizo este QUERY a solicitud del cliente, INFA).
40
Proceso de carga del catlogo de Clientes.
Mdicos.
Este proceso de carga busca la informacin en los catlogos de SATA, para complementarlo con
los representantes, para poder ligar los mdicos con los representantes que los visitan, adems de
agregar los campos necesarios del modelo de visitas para este catalogo.
41
JOIN CAT_DET CD9 ON PT.GENERIC012::TEXT = CD9.ID_CAT_DET::CHARACTER
VARYING::TEXT LEFT JOIN CAT_DET CD7 ON PT.STATUS_FLAG::CHARACTER
VARYING::TEXT = CD7.ID_CAT_DET::CHARACTER VARYING::TEXT WHERE
PT.STATUS_FLAG <> 217 AND PT.ID_TYPE = 2.
42
Para la realizar el join con PARTY_POSTN y la informacin anteriormente obtenida, y
la aplicacin de las reglas del negocio se utiliza un stage de transformacin, en donde
se aplican las siguientes variables:
Variable: IdPrecio.
Derivacin:
Si precio_consulta >=0 y =<249 Entonces 1.
Si precio_consulta>=250 y =<499 Entonces 2.
Si precio_consulta>=500 y =<749 Entonces 3.
Si precio_consulta>=750 y =<999 Entonces 4.
Si precio_consulta>=1000 y =<1499 Entonces 5.
Si precio_consulta>=1500 =<2000 Entonces 6.
Si precio_consulta>2000 Entonces 7.
Cualquier Otro 8.
Variable: IdPacSem.
Derivacin:
Si pacientes_semana_total >0 y <24 Entonces 1.
Si pacientes_semana_total>25 y <49 Entonces 2.
Si pacientes_semana_total>50 y <74 Entonces 3.
Si pacientes_semana_total>75 y <99 Entonces 4.
Si pacientes_semana_total>100 y <149 Entonces 5.
Si pacientes_semana_total>150 y <200 Entonces 6.
Si pacientes_semana_total>200 Entonces 7.
Cualquier otro 8.
Variable: IdPacObe.
Derivacin:
Si pacientes_semana_obesidad >=0 y =<24 Entonces 1.
Si pacientes_semana_obesidad>=25 y =<49 Entonces 2.
Si pacientes_semana_obesidad>=50 y =<74 Entonces 3.
Si pacientes_semana_obesidad>=75 y =<99 Entonces 4.
Si pacientes_semana_obesidad>=100 y =<149 Entonces 5.
Si pacientes_semana_obesidad>=150 y =< 200 Entonces 6.
Si pacientes_semana_obesidad> 200 Entonces 7.
Cualquier otro 8.
43
Variable: RangoPrecio.
Derivacin:
Si precio_consulta >=0 y =<249 Entonces 'Entre $0.00 y $250.00 Consulta'. Si
precio_consulta>=250 y =<499 Entonces 'Entre $250.00 y $500.00 Consulta'.
Si precio_consulta >=500 y =<749 Entonces 'Entre $500.00 y $750.00 Consulta'.
Si precio_consulta>=750 y =<999 Entonces 'Entre $750.00 y $1000.00 Consulta'.
Si precio_consulta>=1000 y =<1499 Entonces 'Entre $1000.00 y $1500.00 Consulta'.
Si precio_consulta>=1500 y =<2000 Entonces 'Entre $1500.00 y $2000.00 Consulta'.
Si precio_consulta >2000 Entonces 'Mayor a $2000.00 Consulta'.
Cualquier otro 'N/A'.
Variable: RangoPacSem.
Derivacin:
Si pacientes_semana_total >=0 y =<24 Entonces 'Entre 0 y 25 Pacientes'.
Si pacientes_semana_total>=25 y =<49 Entonces 'Entre 25 y 50 Pacientes'.
Si pacientes_semana_total>=50 y =<74 Entonces 'Entre 50 y 75 Pacientes'.
Si pacientes_semana_total>=75 y =<99 Entonces 'Entre 75 y 100 Pacientes'.
Si pacientes_semana_total>=100 y =<149 Entonces 'Entre 100 y 150 Pacientes'.
Si pacientes_semana_total>=150 y =<200 Entonces 'Entre 150 y 200 Pacientes'.
Si pacientes_semana_total>200 Entonces 'Mayor a 200 Pacientes'.
Cualquier otro 'N/A'.
Variable: RangoPacObe.
Derivacin:
Si pacientes_semana_obesidad >=0 y =<24 Entonces 'Entre 0 y 25 Pacientes'.
Si pacientes_semana_obesidad>=25 y =<49 Entonces 'Entre 25 y 50 Pacientes'.
Si pacientes_semana_obesidad>=50 y =<74 Entonces 'Entre 50 y 75 Pacientes'.
Si pacientes_semana_obesidad>=75 y =<99 Entonces 'Entre 75 y 100 Pacientes'.
Si pacientes_semana_obesidad>=100 y =<149 Entonces 'Entre 100 y 150 Pacientes'.
Si pacientes_semana_obesidad>=150 y =< 200 Entonces 'Entre 150 y 200 Pacientes'.
Si pacientes_semana_obesidad> 200 Entonces 'Mayor a 200 Pacientes'.
Cualquier otro 'N/A'.
44
ACTIVIDAD_ACADEMICA, ID_ESPECIALIDAD, DESC_ESPECIALIDAD, ID_STATUS,
DESC_STATUS, PREESCRIBE_SIBUTRAMINA, PORCENTAJE_SIBUTRAMINA,
PREESCRIBE_CONTROLADOS, PORCENTAJE_CONTROLADOS,
MANEJA_IGUALAS, ID_PRECIO_CONSULTA, RANGO_PRECIO_CONSULTA,
PRECIO_CONSULTA, ID_NUM_PAC_SEM, RANGO_NUM_PAC_SEM,
PACIENTES_SEMANA_TOTAL, ID_NUM_PAC_SEM_OBESIDAD,
RANGO_NUM_PAC_SEM_OBESIDAD, PACIENTES_SEMANA_OBESIDAD,
ID_AUDIT, DESC_AUDIT, PONDERACION) VALUES
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?).
Con las reglas del negocio descritas, el proceso de carga de informacin es como sigue:
Tipos Visita.
Para este proceso de carga se tomo en cuenta el catlogo que est en la fuente de datos, para
poder obtener los tipos de visitas que realizan los representantes. (Visita Mdica o Visita
Farmacia). Las reglas de negocio son:
45
Para la obtencin de los tipos de visita se defini el siguiente QUERY:
SELECT ID_PRIVILEGE, PRIVILEGE_NAME FROM PRIVILEGE WHERE
ID_PRIVILEGE IN (6, 7, 8, 9).
Status Visita.
Para este proceso de carga se tomo en cuenta el catlogo que est en la fuente de datos, para
poder obtener los status que pudiera tener una visita. (Realizada, Programada, Reprogramada,
etc.). Para este catlogo tambin se determino la regla de negocio sobre agregar un ID nuevo, el
cual es un 9999 que tiene una descripcin sin clasificar, para aquellas visitas que no pudieran tener
un valor.
46
Para la insercin en la tabla de LT_STATUS_VISITA, se utiliza el siguiente QUERY:
INSERT INTO
"MODELOS_COMERCIALES"."DBO".LT_STATUS_VISITAS(ID_STATUS_VISITA,
DESC_STATUS_VISITA, TIPO) VALUES (?,?,?).
Clasificacin Actividad.
Para este proceso de carga se tomo en cuenta el catlogo que est en la fuente de datos, para
poder obtener las clasificaciones de actividades que maneja INFA.
47
Con las reglas anteriores, se tiene el siguiente proceso de carga:
Acompanamientos.
Para este proceso de carga se tomo en cuenta el catlogo que est en la fuente de datos, para
poder obtener la persona por la que fue acompaado el representante. (Gerencia Nacional,
Gerente de distrito, etc.). Las reglas de negocio son las siguientes:
48
Proceso de carga del catlogo de Acompaamientos.
Visitas.
Este proceso lo que genera son las visitas realizadas por los representantes, contemplando los
diferentes tipos de visitas, acompaamientos, dependiendo al ciclo.
Para la realizacin de este proceso, INFA proporciono un QUERY en el cual se tena que basar el
desarrollo del mismo.
49
A.GROUP_TYPE::TEXT = 292::TEXT AND A.STATUS_FLAG <> 217 AND
A.ACT_TYPE = 7 AND C.NAME LIKE '2%' AND A.GENERIC011 <> '1637' AND
A.GENERIC011 NOT LIKE '%~%') A GROUP BY RUTA, CLIENTE, CICLO, BRICK,
TIPO_VISITA, STATUS_VISITA, CLASIFICACION, ACOMPANADA UNION
SELECT RUTA, CLIENTE, CICLO, BRICK, TIPO_VISITA, STATUS_VISITA,
CLASIFICACION, ACOMPANADA, COUNT(VISITA) AS VISITAS
FROM ( SELECT A.ID_POSTN_TARGET AS RUTA, A.ID_PARTY AS CLIENTE,
C.ID_CYCLE AS CICLO, B.ID_BRICK AS BRICK, CASE WHEN A.ACT_TYPE IS
NULL THEN 9999 ELSE A.ACT_TYPE END AS TIPO_VISITA, CASE WHEN
A.ACT_STATUS IS NULL THEN 9999 ELSE A.ACT_STATUS END AS
STATUS_VISITA, A.GROUP_TYPE AS CLASIFICACION, '1615'::CHARACTER
VARYING AS ACOMPANADA, A.ID_ACT AS VISITA FROM ACT A, CYCLE C,
(SELECT A.ID_PARTY, B.ID_ZIPCODE, C.ZIPCODE, D.ZIPCODE, D.ID_BRICK
FROM PERSON A INNER JOIN ADDR B ON A.ID_PARTY = B.ID_PARTY INNER
JOIN ZIPCODE C ON B.ID_ZIPCODE = C.ID_ZIPCODE INNER JOIN
BRICK_ZIPCODE D ON C.ZIPCODE = D.ZIPCODE, C.ZIPCODE UNION SELECT
A.ID_PARTY, B.ID_ZIPCODE, C.ZIPCODE, D.ZIPCODE, D.ID_BRICK FROM
INSTITUTION A INNER JOIN ADDR B ON A.ID_PARTY = B.ID_PARTY INNER JOIN
ZIPCODE C ON B.ID_ZIPCODE = C.ID_ZIPCODE INNER JOIN BRICK_ZIPCODE D
ON C.ZIPCODE = D.ZIPCODE, C.ZIPCODE ) B
WHERE A.GROUP_VALUE = C.ID_CYCLE AND A.ID_PARTY = B.ID_PARTY AND
A.STATUS_FLAG <> 217 AND A.ACT_TYPE IN (6, 8, 9) AND C.NAME LIKE '2%' AND
A.GENERIC011 <> '1637') A GROUP BY RUTA, CLIENTE, CICLO, BRICK,
TIPO_VISITA, STATUS_VISITA, CLASIFICACION, ACOMPAADA.
50
La seleccin de los representantes se realiza con el siguiente QUERY:
SELECT ID_RUTA, DESC_RUTA, ID_REPRE_CONS, ID_NOMINA_REPRE,
DESC_REPRE, ID_CNTO_COSTOS_RUTA, ID_FUERZA_VENTAS,
CONVERT(CHAR(16), FECHA_INICIO, 20), CONVERT(CHAR(16), FECHA_FIN, 20)
FROM "MODELOS_COMERCIALES"."DBO".LT_REPRESENTANTES
WHERE FECHA_FIN IS NULL.
51
Visitas Resumen.
Con este proceso se llena la FACT de Visitas Resumen en donde se colocan las mtricas de
visitas realizadas, acompaadas, las incidencias (actividades que no permiten a los representantes
realizar sus visitas, actividades que no estn planeadas), plan de trabajo (actividades que no
permiten a los representantes realizar sus visitas, actividades que estn planeadas).
Para la realizacin de este proceso INFA proporciono un QUERY que se tomar como
base, el cual es:
SELECT TODO.RUTA, TODO.CICLO, 7 AS ID_TIPOVISITA, CASE WHEN
TODO.VISITAS_BASE IS NULL THEN 0::NUMERIC ELSE TODO.VISITAS_BASE
END AS VISITAS_BASE, TODO.PLAN_TRABAJO, TODO.INCIDENCIAS, CASE
WHEN (TODO.VISITAS_BASE - TODO.PLAN_TRABAJO - TODO.INCIDENCIAS) IS
NULL THEN 0::NUMERIC ELSE TODO.VISITAS_BASE - TODO.PLAN_TRABAJO -
TODO.INCIDENCIAS
END AS VISITAS_REQUERIDAS, TODO.DIAS_CICLO,
TODO.VISITAS_TERMINADAS, TODO.ACOMPANADO
FROM (SELECT CONFIGURACIONES.RUTA, CONFIGURACIONES.CICLO,
CONFIGURACIONES.VISITAS_BASE::NUMERIC AS VISITAS_BASE, CASE WHEN
PLAN.CALCULOP IS NULL THEN 0::NUMERIC ELSE PLAN.CALCULOP END AS
CALCULOP, CASE WHEN INCI.CALCULOI IS NULL THEN 0::NUMERIC ELSE
INCI.CALCULOI END AS CALCULOI, CASE WHEN
ROUND(CONFIGURACIONES.VISITAS_BASE::NUMERIC/
CONFIGURACIONES.DIAS_CICLO::NUMERIC*PLAN.CALCULOP, 2) IS NULL THEN
0::NUMERIC ELSE
ROUND(CONFIGURACIONES.VISITAS_BASE::NUMERIC/CONFIGURACIONES.DIA
S_CICLO::NUMERIC * PLAN.CALCULOP, 2) END AS PLAN_TRABAJO, CASE WHEN
ROUND(CONFIGURACIONES.VISITAS_BASE::NUMERIC /
CONFIGURACIONES.DIAS_CICLO::NUMERIC*INCI.CALCULOI, 2) IS NULL THEN
0::NUMERIC ELSE
ROUND(CONFIGURACIONES.VISITAS_BASE::NUMERIC/CONFIGURACIONES.DIA
S_CICLO::NUMERIC* INCI.CALCULOI, 2) END AS INCIDENCIAS,
CONFIGURACIONES.DIAS_CICLO, TERMINADAS.VISITAS_TERMINADAS,
ACOMP.ACOMPANADO FROM (SELECT V.ID_POSTN AS RUTA, C.ID_CYCLE AS
CICLO, V.CLINIC AS VISITAS_BASE, C.GENERIC001 AS DIAS_CICLO FROM
VISIT_BASE V, CYCLE C WHERE V.ID_CYCLE = C.ID_CYCLE AND C.NAME LIKE
'2%' ORDER BY V.ID_POSTN, C.ID_CYCLE) CONFIGURACIONES LEFT JOIN (
SELECT SUMADIAS.ID_POSTN_TARGET AS RUTA, SUMADIAS.ID_CYCLE AS
52
CICLO, SUM(SUMADIAS.CALCULOP) AS CALCULOP FROM (((SELECT
MEDIODIA.ID_ACT, MEDIODIA.ID_POSTN_TARGET, MEDIODIA.ID_CYCLE,
COUNT(MEDIODIA.ID_ACT)::NUMERIC*0.5 AS CALCULOP FROM (SELECT
A.ID_ACT, A.ID_POSTN_TARGET, C.ID_CYCLE FROM ACT A, CYCLE C WHERE
A.STATUS_FLAG<>217 AND A.ACT_TYPE=17 AND
A.GROUP_TYPE::TEXT=292::TEXT AND A.ACT_STATUS=205 AND
(A.GENERIC003::TEXT=ANY (ARRAY['361'::CHARACTER VARYING::TEXT,
'362'::CHARACTER VARYING::TEXT])) AND A.GROUP_VALUE=C.ID_CYCLE AND
C.NAME LIKE '2%') MEDIODIA GROUP BY MEDIODIA.ID_ACT,
MEDIODIA.ID_POSTN_TARGET, MEDIODIA.ID_CYCLE ORDER BY
MEDIODIA.ID_ACT, MEDIODIA.ID_POSTN_TARGET, MEDIODIA.ID_CYCLE) UNION
(SELECT UNDIA.ID_ACT, UNDIA.ID_POSTN_TARGET, UNDIA.ID_CYCLE,
COUNT(UNDIA.ID_ACT) AS CALCULOP FROM (SELECT A.ID_ACT,
A.ID_POSTN_TARGET, C.ID_CYCLE FROM ACT A, CYCLE C WHERE
A.STATUS_FLAG <> 217 AND A.ACT_TYPE=17 AND
A.GROUP_TYPE::TEXT=292::TEXT AND A.ACT_STATUS=205 AND
A.GENERIC003::TEXT='363'::TEXT AND A.GROUP_VALUE=C.ID_CYCLE AND
C.NAME LIKE '2%') UNDIA GROUP BY UNDIA.ID_ACT, UNDIA.ID_POSTN_TARGET,
UNDIA.ID_CYCLE ORDER BY UNDIA.ID_ACT, UNDIA.ID_POSTN_TARGET,
UNDIA.ID_CYCLE)) UNION (SELECT MASDIAS.ID_ACT,
MASDIAS.ID_POSTN_TARGET, MASDIAS.ID_CYCLE,
SUM(MASDIAS.GENERIC004) AS CALCULOP FROM ( SELECT A.ID_ACT,
A.ID_POSTN_TARGET, C.ID_CYCLE, A.GENERIC004::INTEGER AS GENERIC004
FROM ACT A, CYCLE C WHERE A.STATUS_FLAG<>217 AND A.ACT_TYPE=17
AND A.GROUP_TYPE::TEXT=292::TEXT AND A.ACT_STATUS=205 AND
A.GENERIC003::TEXT='1595'::TEXT AND A.GROUP_VALUE=C.ID_CYCLE AND
C.NAME LIKE '2%') MASDIAS GROUP BY MASDIAS.ID_ACT,
MASDIAS.ID_POSTN_TARGET, MASDIAS.ID_CYCLE ORDER BY
MASDIAS.ID_ACT, MASDIAS.ID_POSTN_TARGET, MASDIAS.ID_CYCLE))
SUMADIAS GROUP BY SUMADIAS.ID_POSTN_TARGET, SUMADIAS.ID_CYCLE
ORDER BY SUMADIAS.ID_POSTN_TARGET, SUMADIAS.ID_CYCLE) PLAN USING
(RUTA, CICLO) LEFT JOIN (SELECT SUMADIAS.ID_POSTN_TARGET AS RUTA,
SUMADIAS.ID_CYCLE AS CICLO, SUM(SUMADIAS.CALCULOI) AS CALCULOI
FROM (((SELECT MEDIODIA.ID_ACT, MEDIODIA.ID_POSTN_TARGET,
MEDIODIA.ID_CYCLE, COUNT(MEDIODIA.ID_ACT)::NUMERIC*0.5 AS CALCULOI
FROM (SELECT A.ID_ACT, A.ID_POSTN_TARGET, C.ID_CYCLE FROM ACT A,
CYCLE C WHERE A.STATUS_FLAG<>217 AND A.ACT_TYPE=16 AND
A.GROUP_TYPE::TEXT = 292::TEXT AND A.ACT_STATUS=205 AND
53
(A.GENERIC003::TEXT=ANY (ARRAY['361'::CHARACTER VARYING::TEXT,
'362'::CHARACTER VARYING::TEXT])) AND A.GROUP_VALUE=C.ID_CYCLE AND
C.NAME LIKE '2%') MEDIODIA GROUP BY MEDIODIA.ID_ACT,
MEDIODIA.ID_POSTN_TARGET, MEDIODIA.ID_CYCLE ORDER BY
MEDIODIA.ID_ACT, MEDIODIA.ID_POSTN_TARGET, MEDIODIA.ID_CYCLE) UNION
(SELECT UNDIA.ID_ACT, UNDIA.ID_POSTN_TARGET, UNDIA.ID_CYCLE,
COUNT(UNDIA.ID_ACT) AS CALCULOI FROM (SELECT A.ID_ACT,
A.ID_POSTN_TARGET, C.ID_CYCLE FROM ACT A, CYCLE C WHERE
A.STATUS_FLAG<>217 AND A.ACT_TYPE=16 AND
A.GROUP_TYPE::TEXT=292::TEXT AND A.ACT_STATUS=205 AND
A.GENERIC003::TEXT='363'::TEXT AND A.GROUP_VALUE=C.ID_CYCLE AND
C.NAME LIKE '2%') UNDIA GROUP BY UNDIA.ID_ACT, UNDIA.ID_POSTN_TARGET,
UNDIA.ID_CYCLE ORDER BY UNDIA.ID_ACT, UNDIA.ID_POSTN_TARGET,
UNDIA.ID_CYCLE)) UNION (SELECT MASDIAS.ID_ACT,
MASDIAS.ID_POSTN_TARGET, MASDIAS.ID_CYCLE,
SUM(MASDIAS.GENERIC004) AS CALCULOI FROM ( SELECT A.ID_ACT,
A.ID_POSTN_TARGET, C.ID_CYCLE, A.GENERIC004::INTEGER AS GENERIC004
FROM ACT A, CYCLE C WHERE A.STATUS_FLAG<>217 AND A.ACT_TYPE=16
AND A.GROUP_TYPE::TEXT = 292::TEXT AND A.ACT_STATUS = 205 AND
A.GENERIC003::TEXT = '1595'::TEXT AND A.GROUP_VALUE=C.ID_CYCLE AND
C.NAME LIKE '2%') MASDIAS GROUP BY MASDIAS.ID_ACT,
MASDIAS.ID_POSTN_TARGET, MASDIAS.ID_CYCLE ORDER BY
MASDIAS.ID_ACT, MASDIAS.ID_POSTN_TARGET, MASDIAS.ID_CYCLE))
SUMADIAS GROUP BY SUMADIAS.ID_POSTN_TARGET, SUMADIAS.ID_CYCLE
ORDER BY SUMADIAS.ID_POSTN_TARGET, SUMADIAS.ID_CYCLE) INCI USING
(RUTA, CICLO) LEFT JOIN ( SELECT A.ID_POSTN_TARGET AS RUTA,
C.ID_CYCLE AS CICLO, COUNT(A.ID_ACT) AS VISITAS_TERMINADAS FROM ACT
A, CYCLE C WHERE A.GROUP_VALUE = C.ID_CYCLE AND
A.GROUP_TYPE::TEXT=292::TEXT AND A.ACT_STATUS = 205 AND
A.STATUS_FLAG <> 217 AND A.ACT_TYPE = 7 AND C.NAME LIKE '2%' GROUP BY
A.ID_POSTN_TARGET, C.ID_CYCLE ORDER BY A.ID_POSTN_TARGET,
C.ID_CYCLE) TERMINADAS USING (RUTA, CICLO) LEFT JOIN ( SELECT
A.ID_POSTN_TARGET AS RUTA, C.ID_CYCLE AS CICLO, COUNT(A.ID_ACT) AS
ACOMPANADO FROM ACT A, CYCLE C WHERE A.GROUP_VALUE = C.ID_CYCLE
AND A.GROUP_TYPE::TEXT = 292::TEXT AND A.ACT_STATUS = 205 AND
A.STATUS_FLAG <> 217 AND A.ACT_TYPE = 7 AND A.GENERIC011::TEXT =
1641::TEXT AND C.NAME LIKE '2%' GROUP BY A.ID_POSTN_TARGET,
C.ID_CYCLE) ACOMP USING (RUTA, CICLO) GROUP BY
54
CONFIGURACIONES.RUTA, CONFIGURACIONES.CICLO,
CONFIGURACIONES.VISITAS_BASE, PLAN.CALCULOP, INCI.CALCULOI,
CONFIGURACIONES.DIAS_CICLO, TERMINADAS.VISITAS_TERMINADAS,
ACOMP.ACOMPANADO ORDER BY CONFIGURACIONES.RUTA,
CONFIGURACIONES.CICLO) TODO UNION SELECT TODO.RUTA, TODO.CICLO, 6
AS ID_TIPOVISITA, CASE WHEN TODO.VISITAS_BASE IS NULL THEN 0::NUMERIC
ELSE TODO.VISITAS_BASE END AS VISITAS_BASE, TODO.PLAN_TRABAJO,
TODO.INCIDENCIAS, CASE WHEN (TODO.VISITAS_BASE - TODO.PLAN_TRABAJO
- TODO.INCIDENCIAS) IS NULL THEN 0::NUMERIC ELSE TODO.VISITAS_BASE -
TODO.PLAN_TRABAJO - TODO.INCIDENCIAS END AS VISITAS_REQUERIDAS,
TODO.DIAS_CICLO, TODO.VISITAS_TERMINADAS, TODO.ACOMPANADO FROM (
SELECT CONFIGURACIONES.RUTA, CONFIGURACIONES.CICLO,
CONFIGURACIONES.VISITAS_BASE::NUMERIC AS VISITAS_BASE, CASE WHEN
ROUND(CONFIGURACIONES.VISITAS_BASE::NUMERIC /
CONFIGURACIONES.DIAS_CICLO::NUMERIC * PLAN.CALCULOP, 2) IS NULL
THEN 0::NUMERIC ELSE ROUND(CONFIGURACIONES.VISITAS_BASE::NUMERIC /
CONFIGURACIONES.DIAS_CICLO::NUMERIC * PLAN.CALCULOP, 2) END AS
PLAN_TRABAJO, CASE WHEN
ROUND(CONFIGURACIONES.VISITAS_BASE::NUMERIC /
CONFIGURACIONES.DIAS_CICLO::NUMERIC * INCI.CALCULOI, 2) IS NULL THEN
0::NUMERIC ELSE ROUND(CONFIGURACIONES.VISITAS_BASE::NUMERIC /
CONFIGURACIONES.DIAS_CICLO::NUMERIC * INCI.CALCULOI, 2) END AS
INCIDENCIAS, CONFIGURACIONES.DIAS_CICLO,
TERMINADAS.VISITAS_TERMINADAS, ACOMP.ACOMPANADO FROM ( SELECT
V.ID_POSTN AS RUTA, C.ID_CYCLE AS CICLO, V.DRUG_STORE AS
VISITAS_BASE, C.GENERIC001 AS DIAS_CICLO FROM VISIT_BASE V, CYCLE C
WHERE V.ID_CYCLE = C.ID_CYCLE ORDER BY V.ID_POSTN, C.ID_CYCLE)
CONFIGURACIONES LEFT JOIN ( SELECT SUMADIAS.ID_POSTN_TARGET AS
RUTA, SUMADIAS.ID_CYCLE AS CICLO, SUM(SUMADIAS.CALCULOP) AS
CALCULOP FROM ( ( ( SELECT MEDIODIA.ID_ACT,
MEDIODIA.ID_POSTN_TARGET, MEDIODIA.ID_CYCLE,
COUNT(MEDIODIA.ID_ACT)::NUMERIC * 0.5 AS CALCULOP FROM ( SELECT
A.ID_ACT, A.ID_POSTN_TARGET, C.ID_CYCLE FROM ACT A, CYCLE C WHERE
A.STATUS_FLAG <> 217 AND A.ACT_TYPE = 17 AND A.ACT_STATUS = 205 AND
(A.GENERIC003::TEXT = ANY (ARRAY['361'::CHARACTER VARYING::TEXT,
'362'::CHARACTER VARYING::TEXT])) AND A.GROUP_VALUE = C.ID_CYCLE AND
C.NAME LIKE '2%') MEDIODIA GROUP BY MEDIODIA.ID_ACT,
MEDIODIA.ID_POSTN_TARGET, MEDIODIA.ID_CYCLE ORDER BY
55
MEDIODIA.ID_ACT, MEDIODIA.ID_POSTN_TARGET, MEDIODIA.ID_CYCLE) UNION
( SELECT UNDIA.ID_ACT, UNDIA.ID_POSTN_TARGET, UNDIA.ID_CYCLE,
COUNT(UNDIA.ID_ACT) AS CALCULOP FROM ( SELECT A.ID_ACT,
A.ID_POSTN_TARGET, C.ID_CYCLE FROM ACT A, CYCLE C WHERE
A.STATUS_FLAG <> 217 AND A.ACT_TYPE = 17 AND A.ACT_STATUS = 205 AND
A.GENERIC003::TEXT = '363'::TEXT AND A.GROUP_VALUE = C.ID_CYCLE AND
C.NAME LIKE '2%') UNDIA GROUP BY UNDIA.ID_ACT, UNDIA.ID_POSTN_TARGET,
UNDIA.ID_CYCLE ORDER BY UNDIA.ID_ACT, UNDIA.ID_POSTN_TARGET,
UNDIA.ID_CYCLE)) UNION ( SELECT MASDIAS.ID_ACT,
MASDIAS.ID_POSTN_TARGET, MASDIAS.ID_CYCLE,
SUM(MASDIAS.GENERIC004) AS CALCULOP FROM ( SELECT A.ID_ACT,
A.ID_POSTN_TARGET, C.ID_CYCLE, A.GENERIC004::INTEGER AS GENERIC004
FROM ACT A, CYCLE C WHERE A.STATUS_FLAG <> 217 AND A.ACT_TYPE = 17
AND A.ACT_STATUS = 205 AND A.GENERIC003::TEXT = '1595'::TEXT AND
A.GROUP_VALUE = C.ID_CYCLE AND C.NAME LIKE '2%') MASDIAS GROUP BY
MASDIAS.ID_ACT, MASDIAS.ID_POSTN_TARGET, MASDIAS.ID_CYCLE ORDER
BY MASDIAS.ID_ACT, MASDIAS.ID_POSTN_TARGET, MASDIAS.ID_CYCLE))
SUMADIAS GROUP BY SUMADIAS.ID_POSTN_TARGET, SUMADIAS.ID_CYCLE
ORDER BY SUMADIAS.ID_POSTN_TARGET, SUMADIAS.ID_CYCLE) PLAN USING
(RUTA, CICLO) LEFT JOIN (SELECT SUMADIAS.ID_POSTN_TARGET AS RUTA,
SUMADIAS.ID_CYCLE AS CICLO, SUM(SUMADIAS.CALCULOI) AS CALCULOI
FROM (((SELECT MEDIODIA.ID_ACT, MEDIODIA.ID_POSTN_TARGET,
MEDIODIA.ID_CYCLE, COUNT(MEDIODIA.ID_ACT)::NUMERIC * 0.5 AS CALCULOI
FROM (SELECT A.ID_ACT, A.ID_POSTN_TARGET, C.ID_CYCLE FROM ACT A,
CYCLE C WHERE A.STATUS_FLAG <> 217 AND A.ACT_TYPE = 16 AND
A.ACT_STATUS = 205 AND (A.GENERIC003::TEXT = ANY
(ARRAY['361'::CHARACTER VARYING::TEXT, '362'::CHARACTER
VARYING::TEXT])) AND A.GROUP_VALUE = C.ID_CYCLE AND C.NAME LIKE '2%')
MEDIODIA GROUP BY MEDIODIA.ID_ACT, MEDIODIA.ID_POSTN_TARGET,
MEDIODIA.ID_CYCLE ORDER BY MEDIODIA.ID_ACT,
MEDIODIA.ID_POSTN_TARGET, MEDIODIA.ID_CYCLE) UNION ( SELECT
UNDIA.ID_ACT, UNDIA.ID_POSTN_TARGET, UNDIA.ID_CYCLE,
COUNT(UNDIA.ID_ACT) AS CALCULOI FROM ( SELECT A.ID_ACT,
A.ID_POSTN_TARGET, C.ID_CYCLE FROM ACT A, CYCLE C WHERE
A.STATUS_FLAG <> 217 AND A.ACT_TYPE = 16 AND A.ACT_STATUS = 205 AND
A.GENERIC003::TEXT = '363'::TEXT AND A.GROUP_VALUE = C.ID_CYCLE) UNDIA
GROUP BY UNDIA.ID_ACT, UNDIA.ID_POSTN_TARGET, UNDIA.ID_CYCLE ORDER
BY UNDIA.ID_ACT, UNDIA.ID_POSTN_TARGET, UNDIA.ID_CYCLE)) UNION (
56
SELECT MASDIAS.ID_ACT, MASDIAS.ID_POSTN_TARGET, MASDIAS.ID_CYCLE,
SUM(MASDIAS.GENERIC004) AS CALCULOI FROM ( SELECT A.ID_ACT,
A.ID_POSTN_TARGET, C.ID_CYCLE, A.GENERIC004::INTEGER AS GENERIC004
FROM ACT A, CYCLE C WHERE A.STATUS_FLAG <> 217 AND A.ACT_TYPE = 16
AND A.ACT_STATUS = 205 AND A.GENERIC003::TEXT = '1595'::TEXT AND
A.GROUP_VALUE = C.ID_CYCLE AND C.NAME LIKE '2%') MASDIAS GROUP BY
MASDIAS.ID_ACT, MASDIAS.ID_POSTN_TARGET, MASDIAS.ID_CYCLE ORDER
BY MASDIAS.ID_ACT, MASDIAS.ID_POSTN_TARGET, MASDIAS.ID_CYCLE))
SUMADIAS GROUP BY SUMADIAS.ID_POSTN_TARGET, SUMADIAS.ID_CYCLE
ORDER BY SUMADIAS.ID_POSTN_TARGET, SUMADIAS.ID_CYCLE) INCI USING
(RUTA, CICLO) LEFT JOIN ( SELECT A.ID_POSTN_TARGET AS RUTA,
C.ID_CYCLE AS CICLO, COUNT(A.ID_ACT) AS VISITAS_TERMINADAS FROM ACT
A, CYCLE C WHERE A.GROUP_VALUE = C.ID_CYCLE AND A.ACT_STATUS = 205
AND A.STATUS_FLAG <> 217 AND A.ACT_TYPE = 6 AND C.NAME LIKE '2%'
GROUP BY A.ID_POSTN_TARGET, C.ID_CYCLE ORDER BY
A.ID_POSTN_TARGET, C.ID_CYCLE) TERMINADAS USING (RUTA, CICLO) LEFT
JOIN ( SELECT A.ID_POSTN_TARGET AS RUTA, C.ID_CYCLE AS CICLO,
COUNT(A.ID_ACT) AS ACOMPANADO FROM ACT A, CYCLE C WHERE
A.GROUP_VALUE = C.ID_CYCLE AND A.GROUP_TYPE::TEXT = 292::TEXT AND
A.ACT_STATUS = 205 AND A.STATUS_FLAG <> 217 AND A.ACT_TYPE = 6 AND
A.GENERIC011::TEXT = 1641::TEXT AND C.NAME LIKE '2%' GROUP BY
A.ID_POSTN_TARGET, C.ID_CYCLE) ACOMP USING (RUTA, CICLO) GROUP BY
CONFIGURACIONES.RUTA, CONFIGURACIONES.CICLO,
CONFIGURACIONES.VISITAS_BASE, PLAN.CALCULOP, INCI.CALCULOI,
CONFIGURACIONES.DIAS_CICLO, TERMINADAS.VISITAS_TERMINADAS,
ACOMP.ACOMPANADO ORDER BY CONFIGURACIONES.RUTA,
CONFIGURACIONES.CICLO) TODO.
Este QUERY estar contenido en el STAGE TbL_SATA.
57
Para la seleccin de la tabla de rutas, se utiliza el siguiente QUERY:
SELECT ID_DISTRITO_CONS, ID_DISTRITO, ID_RUTA_CONS, ID_RUTA,
DESC_RUTA, ID_FUERZA_VENTAS, CONVERT(CHAR(16), FECHA_INICIO, 20),
CONVERT(CHAR(16), FECHA_FIN, 20) FROM
"MODELOS_COMERCIALES"."DBO".LT_RUTAS WHERE FECHA_FIN IS NULL.
58
Proceso Secuencial Modulo Visitas.
Los procesos de control, no son ms que disparador de uno o varios procesos en cadena, lo que
da la facilidad de solo ejecutar un proceso que manda llamar a varios. A continuacin se muestra la
imagen del proceso de control del modulo de visitas:
4.3.1.2 ATB.
INFA para analizar sus ventas y sus principales competidores, dentro del rea de Investigacin de
Mercados, cuenta con la herramienta TWINX (ATB).
ATB mide y registra las ventas, tanto en unidades como en valores, resultadas de la demanda
generada por el trabajo de los Representantes. Esta herramienta permite analizar las ventas de
productos propios y sus principales productos competidores dentro de la repblica mexicana, la
cual se encuentra dividida por los estados, con los cuales un representante conforma su ruta.
El 98% de las ventas de los laboratorios a las Farmacias y Cadenas de autoservicio se realizan a
travs de Mayoristas o Distribuidores. La informacin de ATB est basada en la facturacin diaria
de los mayoristas a cada uno de los puntos de venta distribuidos a nivel Nacional.
59
El proveedor de ATB a INFA no le proporciona una BD, si no que ellos tienen algunas licencias y
pueden consultar la informacin y generar sus reportes, es por ello, que se ha determinado que la
informacin que se utilizar para llenar el modelo ser extrada por los usuarios y depositado en un
archivo de Excel con extensin csv. Para dichos archivos se generar un Layout para que sea
cargado por la herramienta DataStage.
Se requiere que la informacin de TWINS se mantenga de la siguiente forma:
Los datos a partir de los cuales se pueden realizar agrupaciones son los siguientes:
Bricks.
Mercados.
Presentacin del Producto.
Clase Teraputica.
Periodos. Periodos a partir de los cuales se llevar a cabo el anlisis; entre ellos
estn: Mes, Trimestre, Ao Calendario, 12MM.
60
Evolucin ndice Producto. ndice de Evolucin calculado sobre los productos, ya
sea en Unidades o Valores ((Unidades Periodo Actual / Unidades Periodo Anterior) *
100).
Archivos
PROCESAMIENTO PARA Modelos
planos
CARGA Comerciales
INFAERP
En donde toda la informacin de visitas se obtiene de los archivos enviados, agregndole la fuente
INFAERP, de donde obtiene la alineacin de la Bricks.
61
INFA proveer a BIS los accesos y la conectividad necesaria, as como la descripcin
de las tablas u otra fuente de datos a utilizar para alimentar el modelo.
BIS no es responsable de la calidad de los datos, por lo que se llevar a cabo el
desarrollo del modelo y se tomarn cifras de entrada a los que se aplicar la lgica
definida y los resultados son los que sern utilizados como control para las pruebas de
aceptacin.
BIS - Disear y Construir los procesos de extraccin, transformacin y carga (ETL)
de la informacin requerida para alimentar la base de datos que alimentar el Cubo de
Informacin de TWINS contemplado.
El Modelo de Anlisis Multidimensional se desarrollar con base en los datos de
TWINX existentes. En caso de requerir datos de fuentes de datos no incluidas en este
alcance se sometern a evaluacin a travs de un Control de Cambios.
Posterior a la entrega de los procesos de extraccin, transformacin y carga de datos
de las fuentes hacia el repositorio sern diseados, construidos, probados y operados
por el personal de INFA.
INFA y BIS - Acuerdan que para cambios que puedan o no impactar el alcance del
proyecto y para llevar un control adecuado de los mismos, se aplique el
PROCEDIMIENTO DE CONTROL DE CAMBIOS.
Para cumplir con los objetivos anteriormente planteados se tiene el siguiente modelo:
62
Modelo de datos de ATB.
63
Se tienen 12 catlogos y una FACT. Siguiendo la metodologa de Kimball. A continuacin se
describen los catlogos y FACTS que comprenden el modelo de ATB:
LABORATORIOS.
COMPANIAS.
PERIODOS.
64
PRODUCTOS_MFP.
PRESENTACIONES_PRODUCTOS.
65
CLASES_TERAPEUTICAS_N1.
CLASES_TERAPEUTICAS_N2.
CLASES_TERAPEUTICAS_N3.
CLASES_TERAPEUTICAS_N4.
66
SALES1.
SALES2.
SALES3.
Las reglas de negocio para la carga del modelo son las siguientes:
67
d. Sibus + Met.
e. Sibutraminas.
f. Vasoprotectores.
2. Las mtricas a utilizar son Clculo del Mes, Calculo Acumulado (Valores y Unidades de
enero a la fecha) y el Clculo Mat (Valores y Unidades desde el mismo mes, pero del ao
pasado del mes de carga, ejemplo 2008-01 a 2009-01).
3. La informacin fuente se obtendr de archivos Excel, la cual estar con el siguiente Layout:
4. Dichos archivos de Excel seran en formato CSV (Archivo separado por comas).
6. En la construccin de esta seccin (ATB) solo se realizar el trabajo para la tabla FACT
ATB, debido a que las dems tablas sern cubiertas por otros modelos que se realizaran
en los siguientes modulos.
68
Debido a que la informacin no se puede obtener se debe generar un Pivoteo de la informacin
para modificarla de Columnas a Renglones, esta es una de las reglas que se utilizara en cada uno
de los JOBS a realizar en ATB.
A continuacin se describen cada unos de los procesos para la carga de informacin proveniente
de ATB.
Anticonceptivos de Emergencia.
Para los Anticonceptivos la carga de la informacin se realiza con el siguiente JOB, el cual se
encarga de realizar la carga de la informacin de las unidades y valores de este mercado.
Las reglas de negocio son:
Leer por separado los archivos de entrada, para las unidades y valores de
anticonceptivos de emergencia.
Realizar un pivote con los valores y unidades de los archivos, esto para realizar el
acomodo de meses, si es que llegase a presentar el caso de carga de dos meses, o
ms.
Se colocarn en archivos planos o HASH temporales para poder hacer un join de los
dos archivos.
69
Proceso de carga de Unidades y Valores del mercado Anticonceptivos de Emergencia.
Multivitaminicos.
Para la carga de unidades y valores de multivitaminicos de igual forma que los
anticonceptivos, es necesario obtener la informacin desde dos archivos planos, uno
de ellos contiene los valores y el otro las unidades correspondientes al mercado de los
multivitaminicos. Estos dos archivos se cargan simultneamente.
Se colocarn en archivos planos o HASH temporales para poder hacer un join de los
dos archivos.
70
Proceso de carga de Unidades y Valores del mercado Multivitaminicos.
Orlistat.
Para realizar la carga de los valores y unidades del mercado Orlistat se definen las siguientes
reglas de negocio:
Leer simultneamente los archivos de entrada, para las unidades y valores del
mercado de Orlistat.
Realizar un pivote con los valores y unidades de los archivos, esto para realizar el
acomodo de meses, si es que llegase a presentar el caso de carga de dos meses, o
ms.
Se colocarn en archivos planos o HASH temporales para poder hacer la unin de los
dos archivos.
71
INSERT INTO "FT_TEMPORAL_ATB"("CODIGO", "REGION", "MERCADO",
"PRODUCTO", "LABORATORIO", "PRODUCTOS", "UNIDADES", "VALORES",
"FECHA") VALUES (?,?,?,?,?,?,?,?,?).
Sibutraminas.
Para la carga de las unidades y valores del mercado de Sibutraminas, debido a que son
demasiadas presentaciones, se decidi que debera de realizarse un proceso por la carga de las
unidades y otro por los valores, y las reglas de negocio para cada uno de ellos son las siguientes:
72
Se colocarn en archivos planos o HASH temporales para poder hacer la unin de los
dos archivos.
Posteriormente se colocaran los registros resultantes de ambos pivoteos en un archivo
HASH.
Con las reglas de negocio, anteriormente descritas se obtiene el siguiente proceso de extraccin.
Se leern los dos archivos de entrada simultneamente, los cuales contienen los
valores.
Se deben eliminar los registros donde el BRICK sea igual a CERO.
Se realizar el pivote por el campo valores por cada archivo de entrada.
73
Se colocarn los resgistros en archivos planos o HASH temporales para poder hacer la
unin de los dos archivos.
Posteriormente se colocaran los registros resultantes de ambos pivoteos en un archivo
HASH.
Con las reglas de negocio, anteriormente descritas se obtiene el siguiente proceso de extraccin:
Se leen los archivos HASH cargados con los valores y unidades de Sibutraminas.
Se hace un join entre los dos archivos HASH mediante los campos: CODIGO,
REGION, MERCADO, PRODUCTOS Y FECHA.
74
INSERT INTO
"MODELOS_COMERCIALES"."DBO"."FT_TEMPORAL_ATB"("CODIGO", "REGION",
"MERCADO", "PRODUCTO", "LABORATORIO", "PRODUCTOS", "UNIDADES",
"VALORES", "FECHA") VALUES (?,?,?,?,?,?,?,?,?).
Sibus + Met.
Para el mercado de Sibus + Met, la carga de las unidades y valores de igual forma se divide en dos
procesos para mejorar el tiempo de carga de los archivos.
Se leern los cuatro archivos de entrada simultneamente, los cuales contienen las
unidades.
Se deben eliminar los registros donde el BRICK sea igual a CERO.
Se realizara el pivote por el campo unidades por cada archivo de entrada.
75
Se colocarn en archivos planos o HASH temporales para poder hacer la unin de los
cuatro archivos.
Posteriormente se colocaran los registros resultantes de los 4 pivoteos en un archivo
HASH.
Con las reglas de negocio, anteriormente descritas se obtiene el siguiente proceso de extraccin:
Se leern los cuatro archivos de entrada simultneamente, los cuales contienen los
valores.
Se deben eliminar los registros donde el BRICK sea igual a CERO.
Se realizara el pivoteo por el campo valores por cada archivo de entrada.
Los registros resultantes de los pivotes se colocarn en archivos planos o HASH
temporales para poder hacer la unin de los cuatro archivos.
Posteriormente se colocaran los registros resultantes de los 4 pivoteos en un archivo
HASH nico.
76
Con las reglas de negocio, anteriormente descritas se obtiene el siguiente proceso de extraccin:
Con los archivos HASH cargados con los valores y unidades de Sibus + Met.
Se hace un join entre los dos archivos HASH mediante los campos: CODIGO,
REGION, MERCADO, PRODUCTOS Y FECHA.
77
De las reglas de negocio mencionadas, se tiene el siguiente proceso:
Vasoprotectores.
Para realizar la carga de los valores y unidades del mercado de Vasoprotectores se definen las
siguientes reglas de negocio:
Leer simultneamente los dos archivos de entrada, para las unidades y valores del
mercado de Vasoprotectores.
Realizar un pivote con los valores y unidades de los archivos, esto para realizar el
acomodo de meses, si es que llegase a presentar el caso de carga de dos meses, o
ms.
Se hace un join entre los dos archivos HASH mediante los campos: CODIGO,
REGION, MERCADO, PRODUCTOS Y FECHA.
78
INSERT INTO "FT_TEMPORAL_ATB"("CODIGO", "REGION", "MERCADO",
"PRODUCTO", "LABORATORIO", "PRODUCTOS", "UNIDADES", "VALORES",
"FECHA") VALUES (?,?,?,?,?,?,?,?,?).
FACT ATB.
Para realizar la carga de los valores y unidades de todos los mercados a la FACT de ATB, se
tienen las siguientes reglas de negocio:
79
SELECT ID_PRO, NOM_PRO, ID_LAB, CNT_PRO FROM
"MODELOS_COMERCIALES"."DBO".LT_PRODUCTOS_MFPM.
Para la seleccin de la informacin de la tabla PRESENTACIONES_PRODUCTOS es
necesario utilizar el QUERY:
SELECT ID_PRE, NOM_PRE, NOL_PRE, DES_PRE, ID_PRO, ID_CT4, ID_GEN,
ID_FOR, CNT_PRE, ATB_PRE, FECHA_LANZ, ID_SAL1, ID_SAL2, ID_SAL3,
MOLECULA, NOM_PRO, ID_LAB, CNT_PRO, CT_PROD FROM
"Modelos_Comerciales"."dbo".LT_PRESENTACIONES_PRODUCTOS.
80
Proceso Secuencial Modulo ATB
A continuacin se muestra la imagen del proceso secuencial del modulo ATB, con la ejecucin de
este proceso se llamarn a los anteriormente detallados.
4.3.1.3 MPFM.
MFPM es una Base de Datos, actualizada mensualmente, que permite a INFA hacer mediciones
de todos los productos distribuidos en cada uno de los Estados de la Repblica Mexicana (tiene un
97% de Cobertura), utilizando diversas variables.
81
Los datos de las ventas son tomados de las Cadenas de Farmacias y Autoservicios ms
importantes para que colaboren a nivel de Punto de Venta, a fin de reflejar las ventas al
consumidor final.
PROCESAMIENTO Modelos
MFPM Comerciales
PARA CARGA
Tiempo. Agrupa los aos y los meses que los conforman, para los cuales hay datos.
Punto de Venta. Dimensin que permite agrupar las ventas ya sea por Mercado Privado o
Gobierno.
82
Clase Teraputica. Clases Teraputicas, agrupadas de primer nivel hasta cuarto nivel.
Otra de las necesidades encontradas dentro del funcionamiento de MFPM, es que los usuarios
tienen algunos reportes en los que hay confusin entre las jerarquas (padres e hijos), para las
consultas que se realizan para corporaciones, laboratorios, productos y presentaciones.
Adems la empresa INFA solo cuenta con 5 aos de historia en su Base de Datos, ya que como se
van haciendo las actualizaciones de la Base de Datos se pierden meses de historia (regla
establecida por su proveedor de informacin); para INFA es importante conservar la informacin
histrica, ya que le permite generar comparaciones con los resultados de aos anteriores.
Para el modulo de MFPM se gener un modelo de datos, como resultado de las entrevistas con
los usuarios y de las necesidades de informacin expresadas por los mismos; de tal forma que el
modelo cumple con las expectativas de consultas de informacin y reportes, por parte del cliente y
se muestra en la siguiente figura:
83
Modelo de datos del modulo MFPM.
84
Este modelo consiste de 14 catlogos, 2 tablas FACT y 2 vistas que se generaran solo en la
consulta de la informacin.
BRICKS_MFPM.
CLASES_TERAPEUTICAS_N1.
CLASES_TERAPEUTICAS_N2.
CLASES_TERAPEUTICAS_N3.
85
NOM_CT3 NO VarChar 20
NOL_CT3 NO VarChar 50
ID_CT2 NO VarChar 5
CNT_CT3 NO SmallInt 5
CLASES_TERAPEUTICAS_N4.
ESTADOS.
LABORATORIOS.
PRESENTACIONES_PRODUCTOS.
86
NOL_PRE NO VarChar 55
DES_PRE NO VarChar 65
ID_PRO NO VarChar 5
ID_CT4 NO VarChar 5
ID_GEN NO VarChar 1
ID_FOR NO VarChar 2
CNT_PRE NO VarChar 2
ATB_PRE NO VarChar 2
FECHA_LANZ NO VarChar 6
ID_SAL1 NO VarChar 5
ID_SAL2 NO VarChar 5
ID_SAL3 NO VarChar 5
ID_MOLECULA NO Integer 10
NOM_PRO NO VarChar 30
ID_LAB NO VarChar 3
CNT_PRO NO VarChar 20
CT_PROD NO VarChar 20
MOLECULA.
COMPANIAS.
87
PRODUCTOS_MFP.
SALES1.
SALES2.
SALES3.
88
FT_VALORES.
FT_VALORES_X_ESTADO.
89
VALORES_MES NO Numeric 18
VALORES_MAT NO Numeric 18
VALORES_ACUM NO Numeric 18
ID_PRO SI VarChar 5
ID_LAB SI VarChar 3
ID_COR SI VarChar 4
ID_SAL1 NO VarChar 5
ID_SAL2 NO VarChar 5
ID_SAL3 NO VarChar 5
ID_MOLECULA NO Integer 10
FECHA SI Char 16
Bricks MFPM.
Para realizar esta carga se requiere extraer la informacin de la tabla M_MOS de la fuente y la
insercin en la tabla del numevo modelos datos para MFPM, y se tiene las siguientes reglas de
negocio para realizar dicho proceso:
90
Proceso de extraccin y carga de informacin del catlogo Bricks MFPM.
91
Clase Teraputica N2.
Para el llenado de este catlogo CLASES_TERAPEUTICAS_N2, se extraen de la tabla M_CT2 y
se tienen las reglas:
Se extraen de la tabla M_CT2 con el siguiente QUERY:
SELECTCVE_CT2, NOM_CT2, NOL_CT2, CVE_CT1, M_CT2CNT_CT2 FROM
"CIDMEX_SALES"."DBO".M_CT2.
92
Se insertan los valores en la tabla CLASES_TERAPEUTICAS_N3 con el siguiente
QUERY:
INSERT INTO
"MODELOS_COMERCIALES"."DBO".LT_CLASES_TERAPEUTICAS_N3(ID_CT3,
NOM_CT3, NOL_CT3, ID_CT2, CNT_CT3) VALUES (?,?,?,?,?).
93
Proceso de extraccin y carga de informacin del catlogo Clase Terapeutica4.
Clasificacin Canal.
La carga de este catlogo se realiza con las siguientes reglas de negocio:
94
Compaas.
Para la carga del catlogo COMPANIAS, es necesario extraer la informacin desde la tabla
M_MOR de la fuente, para realizar el proceso se toman en cuenta las siguientes reglas de negocio:
Se debe agregar un registro ms, el cual su ID debe ser SNID y la descripcin SIN
COMPANIA.
Estados.
La carga del catlogo de ESTADOS se realiza con la extraccin de informacin de la tabla M_EST,
para este proceso se tienen las siguientes reglas de negocio:
95
Para la extraccin de la informacin de la tabla M_EST, se utiliza el QUERY:
SELECT CVE_EST, NOM_EST, CNT_EST FROM "CIDMEX_SALES"."DBO".M_EST.
Laboratorios.
La carga del catlogo de LABORATORIOS se realiza mediante la extraccin de la tabla M_LAB,
las reglas de negocio para realiza la carga son las siguientes:
96
Proceso de extraccin y carga de informacin del catlogo Laboratorios.
Mercados.
Para la carga del catlogo de MERCADOS se requiere de la extraccin de la informacin de la
tabla M_GEN, para realizar este proceso se tiene las siguientes reglas de negocio:
97
Molcula.
La carga del catlogo de MOLECULA se realiza con la extraccin de la informacin de la tabla
M_PRE, se tienen las siguientes reglas de negocio:
Periodos.
La informacin para la carga del catlogo de PERIODOS se debe realizar la extraccin de la
informacin de la tabla M_TIME, para tal proceso se tienen las siguientes reglas de negocio:
98
Para la carga de la informacin del catlogo PERIODOS se considera el QUERY:
INSERT INTO "Modelos_Comerciales"."dbo".LT_PERIODOS(id_periodo, id_anio,
id_sem, id_trim, id_mes, id_time, dato_vardep, mes_futuro, fecha) VALUES
(?,?,?,?,?,?,?,?,convert(smalldatetime, ?)).
Productos.
Para la carga del catlogo de PRODUCTOS, es necesario realizar la extraccin de la informacin
de la tabla M_PRO, para tal proceso se tienen las siguientes reglas de negocio:
Con las reglas de negocio descritas anteriormente se tiene el proceso de extraccin y carga:
99
Proceso de extraccin y carga de informacin del catlogo Productos.
Presentaciones Productos.
La carga del catlogo PRESENTACIONES_PRODUCTOS se realiza con la extraccin de la
informacin de las tablas M_PRO y M_PRE, y un join con la informacin del catlogo MOLECULA,
para tal proceso se tienen las reglas de negocio:
Con las reglas negocio anteriores, se tiene el siguiente proceso de extraccin y carga:
100
Proceso de extraccin y carga de informacin del catlogo Presentaciones Productos.
Sales1.
Para la carga del catlogo de SALES1 es necesario realizar la extraccin de la tabla M_SAL1, y
cargarlo en la tabla SALES1, para este proceso se tienen las reglas:
101
Proceso de extraccin y carga de informacin del catlogo Sales1.
Sales2.
Para la carga del catlogo de SALES2 es necesario realizar la extraccin de la tabla M_SAL2, para
el proceso se tienen las reglas:
102
Sales3.
Para la carga del catlogo de SALES3 es necesario realizar la extraccin de la tabla M_SAL3, para
el proceso se tienen las reglas:
Para la carga de las tablas FACT se realiza una carga previa en tablas temporales, esto para poder
generar el clculo MAT y ACUMULADO, definido anteriormente para esta auditora.
Temporal Valores.
En este proceso de extraccin y de carga se utilizan dos tablas de extraccin y una tabla temporal
de carga para poder almacenar los valores y poder generar posteriormente los clculos.
103
Las reglas de negocio para este proceso son:
ID_TIME SI VarChar 6
ID_PRE SI VarChar 7
ID_CT4 SI VarChar 5
ID_GEN SI VarChar 1
ID_PTO SI VarChar 1
DATO_UNIDAD1 NO Numeric 18
DATO_PESO1 NO Numeric 18
DATO_UINV1 NO Numeric 14
DATO_PINV1 NO Numeric 14
ID_PRO SI VarChar 5
ID_LAB SI VarChar 3
ID_COR SI VarChar 4
FECHA SI Char 16
104
La carga de la informacin a la tabla TEMPORAL_VALORES se realiza con el
siguiente QUERY:
INSERT INTO "MODELOS_COMERCIALES"."DBO"."FT_TEMP_VALORES"(ID_TIME,
ID_PRE, ID_CT4, ID_GEN, ID_PTO, DATO_UNIDAD1, DATO_PESO1, DATO_UINV1,
DATO_PINV1, ID_PRO, ID_LAB, ID_COR, FECHA) VALUES
(?,?,?,?,?,?,?,?,?,?,?,?,?).
105
SELECT CONVERT(VARCHAR(6), CVE_TIME), CVE_EST, CVE_PRE, CVE_CT,
CVE_GEN, CVE_PTO, DATO_UNIDAD2, DATO_PESO2, DATO_UINV2,
DATO_PINV2, CVE_PRO, CVE_LAB, CVE_COR FROM
"CIDMEX_SALES"."DBO".D_VALOR2.
ID_TIME SI VarChar 50
ID_EST SI VarChar 50
ID_PRE SI VarChar 50
ID_CT4 SI VarChar 50
ID_GEN SI VarChar 50
ID_PTO SI VarChar 50
DATO_UNIDAD2 NO Numeric 14
DATO_PESO2 NO Numeric 14
DATO_UINV2 NO Numeric 14
DATO_PINV2 NO Numeric 14
ID_PRO SI VarChar 50
ID_LAB SI VarChar 50
ID_COR SI VarChar 50
FECHA SI Char 16
106
Derivado de las reglas descritas anteriormente se tiene el siguiente proceso:
Para poder realizar los clculos de MAT y ACUMULADO, es necesario tomar como base las dos
anteriores tablas temporales (Temporal_Valores y Temporal_Valores_X_Estado). Los procesos de
la generacin de los mismos se describen a continuacin.
FACT Valores.
En este proceso se toman los valores existentes en la tabla de Temporal_Valores, para generar el
clculo MAT y ACUMULADO correspondiente al periodo. Para dicho proceso las reglas de negocio
son las siguientes:
107
SELECT ID_TIME, ID_PRE, ID_CT4, ID_GEN, ID_PTO, DATO_UNIDAD1,
DATO_PESO1, DATO_UINV1, DATO_PINV1, ID_PRO, ID_LAB, ID_COR,
CONVERT(CHAR(16), FECHA, 20) FROM
"MODELOS_COMERCIALES"."DBO"."FT_TEMP_VALORES" WHERE
FECHA='#ANIO#'+'-'+'#MES#'+'-01'.
Una vez obtenidos estos valores (mes, ACUMULADO y MAT) se debe hacer una
agrupacin de cada una, esto para solo obtener un valor a insertar en la tabla destino.
La agrupacin no aplica para la informacin obtenida del mes, sino, solo la de los
valores para ACUMULADO y MAT, y se realiza por los siguientes campos, ID_EST,
ID_PRE, ID_CT4, ID_GEN, ID_PTO, ID_PRO, ID_LAB, ID_COR, para los campos
ID_TIME y ID_FECHA se obtiene el valor mximo, y los valores de DATO_UNIDAD2 y
DATO_PESO2 se suman cada uno de ellos.
108
Para la insercin de los datos en la tabla FT_VALORES ya sumarizados, se utiliza el
siguiente QUERY:
INSERT INTO "MODELOS_COMERCIALES"."DBO".FT_VALORES(ID_TIME, ID_PRE,
ID_CT4, ID_GEN, ID_PTO, UNIDADES_MES, UNIDADES_MAT, UNIDADES_ACUM,
VALORES_MES, VALORES_MAT, VALORES_ACUM, ID_PRO, ID_LAB, ID_COR,
ID_SAL1, ID_SAL2, ID_SAL3, ID_MOLECULA, FECHA) VALUES
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?).
109
Se definen 2 variables para determinar el mes de carga y el ao correspondiente, estas
variables sern llenadas por el usuario al momento de su ejecucin, las variables son
ANIO y MES, y estas sern utilizadas en los QUERYS para la obtencin de la
informacin.
Una vez obtenidos estos valores (mes, ACUMULADO y MAT) se debe hacer una
agrupacin de cada una, esto para solo obtener un valor a insertar en la tabla destino.
La agrupacin no aplica para la informacin obtenida del mes, sino, solo la de los
valores para ACUMULADO y MAT, y se realiza por los siguientes campos, ID_EST,
ID_PRE, ID_CT4, ID_GEN, ID_PTO, ID_PRO, ID_LAB, ID_COR, para los campos
ID_TIME y ID_FECHA se obtiene el valor mximo, y los valores de DATO_UNIDAD2 y
DATO_PESO2 se suman cada uno de ellos.
110
SELECT ID_PRE, NOM_PRE, NOL_PRE, DES_PRE, ID_PRO, ID_CT4, ID_GEN,
ID_FOR, CNT_PRE, ATB_PRE, FECHA_LANZ, ID_SAL1, ID_SAL2, ID_SAL3,
ID_MOLECULA, NOM_PRO, ID_LAB, CNT_PRO, CT_PROD FROM
"MODELOS_COMERCIALES"."DBO".LT_PRESENTACIONES_PRODUCTOS.
111
Proceso Secuencial modulo MFPM.
Visitas mdicas
Son las visitas realizadas por los representantes a los diferentes clientes (mdicos y
farmacias).
ATB
Informacin sobre las unidades y valores de productos vendidos en el territorio
nacional, por las familias de productos de INFA.
El reporte ejecutivo debe ser claro y conciso, por lo que se INFA plantea el siguiente formato para
la realizacin del reporte.
112
Cada una de las secciones est dividida por el concepto al que se refiere el reporte.
Administrativo de ventas
Representante
# % # % # % # % # % # %
Visita Mdica (Objetivo), en donde se coloca las visitas a mdicos que se deben cubrir en
el ciclo, a nivel de Gerente y Representante.
Visita Mdica (Porcentaje de participacin), se considera porcentaje de participacin, a la
divisin entre el total de visitas objetivo a mdicos por distrito, entre para cada uno de los
representantes de ese distrito.
Visita Mdica (Real), se debe mostrar el valor de las visitas realizadas a mdicos por cada
y representante y el total por distrito, realizadas en el ciclo.
Visita Mdica (Porcentaje de participacin), se considera el porcentaje de participacin, a la
divisin entre el total de visitas realizadas a mdicos por distritos, entre cada uno de los
representantes de ese distrito.
Visita Mdica Acompaada (Objetivo), son las visitas acompaas que se planea que los
representantes realicen dentro de un ciclo determinado.
Visita Mdica Acompaada (Porcentaje de participacin), se considera porcentaje de
participacin, a la divisin entre el total de visitas acompaadas objetivo a mdicos por
distrito, entre para cada uno de los representantes de ese distrito.
Visita Mdica Acompaada (Real), se debe mostrar el valor de las visitas realizadas
acompaadas a mdicos por cada y representante y el total por distrito, realizadas en el
ciclo.
Visita Mdica Acompaada (Porcentaje de participacin), se considera el porcentaje de
participacin, a la divisin entre el total de visitas acompaadas realizadas a mdicos por
distritos, entre cada uno de los representantes de ese distrito.
113
Visita Farmacia (Objetivo), en donde se coloca las visitas a farmacias que se deben cubrir
en el ciclo, a nivel de Gerente y Representante.
Visita Farmacia (Porcentaje de participacin), se considera porcentaje de participacin, a la
divisin entre el total de visitas objetivo a farmacias por distrito, entre para cada uno de los
representantes de ese distrito.
Visita Farmacia (Real), se debe mostrar el valor de las visitas realizadas a farmacias por
cada y representante y el total por distrito, realizadas en el ciclo.
Visita Farmacia (Porcentaje de participacin), se considera el porcentaje de participacin, a
la divisin entre el total de visitas realizadas a farmacias por distritos, entre cada uno de los
representantes de ese distrito.
ATB Unidades.
Representante # % # % # % # % # % # %
114
representante entre el total por la gerencia, y la el gerente entre el total de unidades de
todos los gerentes.
ATB Valores.
Representante # % # % # % # % # % # %
115
4.3.1.4.2 Diseo Reporte Ejecutivo.
Derivado de las entrevistas con los usuarios se defini el siguiente modelo de datos que cumple
con las caractersticas y necesidades de los usuarios, previamente descritas para el reporte
ejecutivo:
116
El modelo de datos anteriormente mostrado cumple con las expectativas del usuario hacia y con la
informacin que ser analizada.
A continuacin se describen con mayor detalle los catlogos y FACTS que comprenden el Modelo
de Datos del Reporte Ejecutivo:
FUERZA_VENTAS.
ID_FUERZA_VENTAS SI Integer 10
DESC_FUERZA_VENTAS NO VarChar 50
ID_CICLO_INICIO SI Integer 10
CICLO_INICIO NO VarChar 50
ID_CICLO_FIN SI VarChar 50
CICLO_FIN NO VarChar 50
FECHA_INICIO NO VarChar 50
FECHA_FIN NO VarChar 50
DISTRITOS.
ID_GTE_NAL SI Integer 10
DESC_GTE_NAL NO VarChar 50
ID_DISTRITO_CONS SI VarChar 50
ID_DISTRITO SI VarChar 50
DESC_DISTRITO NO VarChar 50
117
REPRESENTANTES.
ID_RUTA_CONS SI VarChar 20
DESC_RUTA NO VarChar 30
ID_RUTA SI VarChar 15
ID_REPRE_CONS SI VarChar 20
ID_NOMINA_REPRE SI VarChar 10
DESC_REPRE NO VarChar 50
ID_CNTO_COSTOS_RUTA SI VarChar 10
ID_FUERZA_VENTAS SI VarChar 10
FECHA_INICIO NO Char 16
FECHA_FIN NO Char 16
HIBRIDO NO VarChar 20
GERENTES.
ID_DISTRITO_CONS NO VarChar 15
ID_DISTRITO SI VarChar 15
DESC_DISTRITO NO VarChar 45
ID_GTE_CONS SI VarChar 15
ID_NOMINA_GTE NO VarChar 15
DESC_GERENTE NO VarChar 50
ID_CNTO_COSTOS_GTE NO VarChar 10
FECHA_INICIO NO Char 16
FECHA_FIN NO Char 16
118
BRICKS.
ID_ESTADO SI Integer 10
DESC_ESTADO NO VarChar 50
ID_CIUDAD_ZONAPOSTAL SI VarChar 50
DESC_CIUDAD_ZONAPOSTAL NO VarChar 50
DESC_BRICK NO VarChar 50
ID_FUERZA_VENTAS SI VarChar 50
FECHA_INICIO NO Char 16
FECHA_FIN NO Char 16
BRICKS_RUTAS.
ID_BRICK SI VarChar 50
ID_RUTA_CONS SI VarChar 50
ID_RUTA SI VarChar 50
ID_REPRE_CONS SI VarChar 30
DIAS NO Float 15
PONDERADO NO Float 15
FECHA_INICIO NO Char 16
FECHA_FIN NO Char 16
119
RUTAS.
ID_DISTRITO_CONS SI VarChar 10
ID_DISTRITO SI VarChar 10
ID_RUTA_CONS SI VarChar 10
ID_RUTA SI VarChar 10
DESC_RUTA NO VarChar 50
ID_FUERZA_VENTAS NO VarChar 5
STATUS_RUTA NO VarChar 5
PRODUCTOS.
ID_PRO SI VarChar 5
NOM_PRO NO VarChar 30
ID_LAB NO VarChar 3
CNT_PRO NO SmallInt 5
TIPO_VISITA.
ID_TIPO_VISITA SI BigInt 19
DESC_TIPO_VISITA NO VarChar 50
120
CICLOS_PROMOCIONALES.
ID_CICLO SI BigInt 19
DESC_CICLO_FV NO VarChar 50
FECHA_INICIO NO Char 16
FECHA_FIN NO Char 16
ANIO NO VarChar 4
ID_FUERZA_VENTAS SI VarChar 50
CICLOS_PERIODOS.
ID_CICLO SI BigInt 19
DESC_CICLO NO VarChar 50
DESC_CICLO_FV NO VarChar 50
FECHA_INICIO_CICLO NO Char 16
FECHA_FIN_CICLO NO Char 16
ANIO NO Integer 10
ID_FUERZA_VENTAS SI VarChar 50
FECHA NO Char 16
121
PERIODOS.
ID_PERIODO SI VarChar 6
ID_ANIO NO VarChar 4
ID_SEM NO VarChar 7
ID_TRIM NO VarChar 7
ID_MES NO VarChar 7
ID_TIME NO VarChar 6
DATO_VARDEP NO VarChar 7
MES_FUTURO NO VarChar 7
FECHA NO Char 16
FT_ATB_RE.
FECHA SI Char 16
ID_RUTA_CONS SI VarChar 50
ID_REPRE_CONS SI VarChar 50
ID_LABORATORIO SI VarChar 70
ID_PRODUCTO SI VarChar 50
ID_PRE_PRODUCTO SI VarChar 50
UNIDADES_MES NO Integer 10
UNIDADES_ACUM NO Integer 10
UNIDADES_MAT NO Integer 10
122
VALORES_MES NO Integer 10
VALORES_ACUM NO Integer 10
VALORES_MAT NO Integer 10
FT_VISITAS_RE.
FECHA SI VarChar 50
ID_RUTA_CONS SI VarChar 15
ID_REPRE_CONS SI VarChar 50
ID_TIPO_VISITA SI VarChar 50
VISITA_REALIZADA_MES NO Integer 10
VISITA_REALIZADA_ACUM NO Integer 10
VISITA_REALIZADA_MAT NO Integer 10
VISITA_REQUERIDA_MES NO Integer 10
VISITA_REQUERIDA_ACUM NO Integer 10
VISITA_REQUERIDA_MAT NO Integer 10
VISITA_ACOMP_MES NO Integer 10
VISITA_ACOMP_OBJ_MES NO Integer 10
VISITA_ACOMP_ACUM NO Integer 10
VISITA_ACOMP_OBJ_ACUM NO Integer 10
VISITA_ACOMP_MAT NO Integer 10
VISITA_ACOMP_OBJ_MAT NO Integer 10
123
FT_SUELDOS_COMISIONES_RE.
FECHA SI VarChar 50
ID_DISTRITO SI VarChar 50
ID_DISTRITO_CONS SI VarChar 50
ID_GTE_CONS SI VarChar 50
ID_RUTA_CONS SI VarChar 50
ID_REPRE_CONS SI VarChar 50
SALARIOS_MES NO Float 15
SALARIOS_ACUM NO Float 15
SALARIOS_MAT NO Float 15
INCENTIVOS_MES NO Float 15
INCENTIVOS_ACUM NO Float 15
INCENTIVOS_MAT NO Float 15
SUELDOS_COMISIONES_GTE_RE.
FECHA SI VarChar 50
ID_DISTRITO SI VarChar 50
ID_DISTRITO_CONS SI VarChar 50
ID_GTE_CONS SI VarChar 50
SALARIOS_MES NO Float 15
124
SALARIOS_ACUM NO Float 15
SALARIOS_MAT NO Float 15
INCENTIVOS_MES NO Float 15
INCENTIVOS_ACUM NO Float 15
INCENTIVOS_MAT NO Float 15
Fuerza de Ventas.
Para la creacin de este proceso de extraccin y carga de este catlogo, es necesario considerar
las siguientes reglas de negocio:
125
Distritos.
La carga del catlogo de DISTRITOS se realiza mediante la extraccin de informacin de la tabla
ALINEACION_DISTRITOS de la fuente INFAERP, y del catlogo GERENCIA_NACIONAL de
Modelos_Comerciales. Para realizar este proceso se tienen las reglas de negocio:
Con las reglas de negocio descritas anteriormente para la extraccin e insercin de datos, se tiene
el proceso:
126
Representantes.
La carga del catlogo de REPRESENTANTES se realiza mediante la extraccin de informacin de
la tabla ALINEACION_RUTAS de la fuente INFAERP, y del catlogo LT_RUTAS de
Modelos_Comerciales. Para realizar este proceso se tienen las reglas de negocio siguientes:
Con las reglas de negocio descritas anteriormente para la extraccin e insercin de datos, se tiene
el proceso:
127
Proceso de extraccin y carga de informacin al catalogo Representantes.
Gerentes.
La carga del catlogo de GERENTES se realiza mediante la extraccin de informacin de la tabla
ALINEACION_DISTRITOS de la fuente INFAERP, y del catlogo LT_DISTRITOS de
Modelos_Comerciales. Para realizar este proceso se tienen las reglas de negocio:
128
DESC_GERENTE, ID_CNTO_COSTOS_GTE, FECHA_INICIO) VALUES
(?,?,?,?,?,?,?,CONVERT(SMALLDATETIME, ?)).
Bricks.
La carga del catlogo de BRCKS se realiza mediante la extraccin de informacin de la tabla
BRICK_ZIPCODE de SATA y ALINEACION_BRICKS de la fuente INFAERP. Para realizar este
proceso se tienen las reglas de negocio:
129
ID_BRICK, DESC_BRICK, ID_FUERZA_VENTAS, FECHA_INICIO, FECHA_FIN)
VALUES (?,?,?,?,?,?,?,CONVERT(SMALLDATETIME,
?),CONVERT(SMALLDATETIME, ?)).
Bricks Rutas.
Derivado de que es un catlogo generado desde otros catlogos, la creacin del mismo est dado
por los joins entre 2 catlogos de Modelos Comerciales y uno solo de INFAERP. Este catlogo se
realiza mediante la extraccin de informacin de la tabla LT_BRICKS y LT_REPRESENTANTES
de Modelos Comerciales y ALINEACION_BRICKS de la fuente INFAERP. Para realizar este
proceso se tienen las reglas de negocio:
130
CONVERT(CHAR(16), FECHA_FIN, 20) FROM
"MODELOS_COMERCIALES"."DBO".LT_REPRESENTANTES.
131
Productos.
El catlogo de Productos en este Modelo de datos no se crea, sino que se toma uno de los
existentes, que para este caso es PRODUCTOS_MFP.
(Para ver el proceso de creacin de este catlogo ver pgina 97).
Tipos Visita.
El catlogo de Tipos Visita en este Modelo de datos no se crea, sino que se toma de los existentes,
este catlogo se cre en el Modelo de Visitas.
(Para ver el proceso de creacin de este catlogo ver pgina 45).
Ciclos Promocionales.
El catlogo de Ciclos Promocionales en este Modelo de datos no se crea, sino que se toma de los
existentes, este catlogo se cre en el Modelo de Visitas.
(Para ver el proceso de creacin de este catlogo ver pgina 34).
Ciclos Periodos.
El catlogo de Ciclos Periodos se obtiene de la informacin contenida catlogo de
Ciclos_Promocionales creado en el modelo de SATA, se decidi generar un nuevo catlogo para el
Reporte Ejecutivo, debido a que se plantea un cambio en este catlogo, as que queda
independiente aunque contenga la misma informacin. Las reglas de negocio para este catlogo
son:
132
Con las reglas anteriores se obtiene el siguiente proceso:
Periodos.
El catlogo de Periodos en este Modelo de datos no se crea, sino que se toma de los existentes,
este catlogo se cre en el Modelo de MFPM.
(Para ver el proceso de creacin de este catlogo ver pgina 98).
133
Para la extraccin de la tabla FT_ATB Valores y Unidades MAT se considera el
QUERY:
SELECT ID_MER, ID_LAB, ID_PRO, ID_PRE, CONVERT(CHAR(16), FECHA, 20),
ID_BRICK, M_UNIDADES, M_VALORES FROM
"MODELOS_COMERCIALES"."DBO".FT_ATB WHERE FECHA>=
CONVERT(CHAR(4),(CONVERT(INTEGER,'#ANIO#')-1))+'-'+'#MES#'+'-01 00:00' AND
FECHA<= '#ANIO#'+'-'+'#MES#'+'-01'.
Las unidades y valores obtenidos se deben agrupar por los campos: ID_MER, ID_LAB,
ID_PRO, ID_PRE y ID_BRICK, los datos en los campos UNIDADES y VALORES se
deben sumar, y la FECHA debe ser la mxima.
Se debern unir los valores y unidades, ACUMULADO, MAT y MES, por los campos:
ID_MER, ID_LAB, ID_PRO, ID_PRE, ID_BRICK y FECHA.
134
Proceso de extraccin y carga de informacin a la FACT FT_ATB_RE.
135
DIAS_CICLO FROM "MODELOS_COMERCIALES"."DBO".FT_VISITAS_RESUMEN
WHERE
FECHA>= CONVERT(CHAR(4),(CONVERT(INTEGER,'#ANIO#')-1))+'-'+'#MES#'+'-01
00:00' AND FECHA<= '#ANIO#'+'-'+'#MES#'+'-01'.
El join entre las tablas se debe realizar con los campos: ID_CICLO y ID_RUTA.
136
Con las reglas anteriormente definidas, se tiene el proceso:
137
AND (QQ9AAC = '#ANIO#' AND QQ9MAC = '#MES#') AND QQ9TNO <> 'B'.
Se debe colocar los valores de las comisiones y sueldos en una tabla donde se
colocara la historia, para posteriormente obtener los clculos MAT, MES y
ACUMULADO.
138
SUELDOS Y COMISIONES GERENTES.
FECHA SI Char 16
ANIO NO Char 4
MES NO Char 2
ID_DISTRITO SI VarChar 50
ID_DISTRITO_CONS SI VarChar 50
ID_GTE_CONS SI VarChar 50
NOMINA SI Integer 10
EMPLEADO NO Char 30
SUELDO NO Numeric 17
COMISION NO Numeric 17
FECHA SI Char 16
ANIO NO Char 4
MES NO Char 2
NOMINA SI Integer 10
ID_DISTRITO SI VarChar 50
ID_DISTRITO_CONS SI VarChar 50
ID_GTE_CONS SI VarChar 50
ID_RUTA SI VarChar 50
ID_RUTA_CONS SI VarChar 50
ID_REPRE_CONS SI VarChar 50
139
EMPLEADO NO Char 30
SUELDO NO Numeric 17
COMISION NO Numeric 17
La extraccin de los valores para los representantes de los sueldos y comisiones con los clculos
MAT, ACUMULADO y MES, se tomar en cuenta lo siguiente:
140
Para el clculo ACUMULADO de los sueldos y comisiones de la tabla
HISTORIAL_SUELDOS_GTES se considera el QUERY:
SELECT FECHA, ANIO, MES, ID_DISTRITO, ID_DISTRITO_CONS, ID_GTE_CONS,
NOMINA, EMPLEADO, SUELDO, COMISION FROM "HISTORIAL_SUELDOS_GTES"
WHERE FECHA BETWEEN '#ANIO#'+'-'+'01'+'-01 00:00' AND '#ANIO#'+'-'+'#MES#'+'-
01'.
141
Para la extraccin de la informacin contenida en la tabla CICLOS_PERIODOS, se
considera el QUERY:
SELECT ID_CICLO, DESC_CICLO, DESC_CICLO_FV, CONVERT(CHAR(16),
FECHA_INICIO_CICLO, 20), CONVERT(CHAR(16), FECHA_FIN_CICLO, 20), ANIO,
ID_FUERZA_VENTAS, CONVERT(CHAR(16), FECHA, 20) FROM
"MODELOS_COMERCIALES"."DBO".RT_CICLOS_PERIODOS
WHERE CONVERT(CHAR(16), FECHA, 20) = '#ANIO#'+'-'+'#MES#'+'-01'.
142
Proceso de extraccin y carga de informacin a la FACT FT_Sueldos_Comisiones_RE y
FT_Sueldos_Comisiones_GTE_RE.
143
Proceso Secuencial Reporte Ejecutivo.
A continuacin se muestra el proceso que permitir ejecutar de forma automtica y manual el
modulo del reporte ejecutivo.
4.3.1.5 CLOSE-UP.
A travs de este sistema se pueden analizar los mercados y la tendencia prescriptiva de los
mdicos.
Los datos de los distintos mdulos pueden ser exportados en diferentes formatos, como Excel,
HTML, Archivos de Texto entre otros.
CLOSE-UP Market.
Este mdulo de CloseUp, proporciona el nmero de recetas mensuales prescritas por producto
para todos los mercados.
144
Laboratorios. Laboratorios de donde proceden los productos (INFA + la Competencia).
Nmero de Habitantes.
Nmero de Ciudades incluidas en la Muestra.
Nmero de Habitantes por Mdico de las ciudades cubiertas.
145
CLOSE-UP Pharma.
Este mdulo proporciona el nmero de Mdicos que prescriben los productos en todos los
mercados contratados (los correspondientes a las 4 clases teraputicas que maneja INFA).
Entre los datos del Mdico que se pueden encontrar en este mdulo estn los siguientes:
Matrcula = Cdula Profesional.
Nombre.
Domicilio.
Localidad (Ciudad o Estado asociado al domicilio).
Cdigo Postal (Nmero).
Especialidad.
Zona Postal.
Los datos a partir de los cuales se pueden agrupar los Mdicos auditados son los siguientes:
Productos. Detallados por Marca y Presentacin.
Regiones. Detalle de la informacin por Ciudad.
Periodos. Estos se dividen en Fijos y Mviles. Los Periodos Fijos son aquellos que no
cambian, que estn relacionados con el aos calendario (Mes, Bimestre, Trimestre,
Cuatrimestre, Semestre, Year to Date (YTD), Ao Calendario). Los Periodos Mviles
siempre estn actualizados a la ltima edicin en que se encuentre PharmaMix Focus
(Total Anual Mvil).
Mercados.
Especialidad.
Categora. Categora de Mdicos. Se pueden clasificar hasta en 5 categoras o Quintiles.
La clasificacin se realiza en el momento de la consulta, con base en la siguiente frmula:
Se determina el nmero total de recetas prescritas para el escenario de estudio: mes
de estudio, mercado a validar, ya sea por categora teraputica, o producto o
presentacin, etc.
Se divide el nmero obtenido en el paso anterior y se divide entre 5 (5 categoras).
Se ordenan los doctores en forma ascendente tomando como base el nmero de
recetas que hayan prescrito para el escenario de estudio.
146
Se rankean los mdicos del 1 al 5, sumando sus recetas hasta llegar al monto los
mdicos Para determinar la categora que le corresponde se contabilizan las recetas.
Categora. La categora se define con base en el nmero de recetas prescritas y con base
en el quintil de participacin de mercado que pueda tener. El sistema lo calcula al momento
de realizar el reporte, basado en los filtros solicitados al momento de su ejecucin.
A partir de los datos antes mencionados se pueden obtener en pantalla las siguientes mtricas:
Como se describi en el anlisis, la fuente de datos de donde se extrae la informacin es una base
de datos, la cual a partir de este momento se denominar CLOSE-UP, esta se encuentra en SQL
Server 2005. Para el anlisis de la informacin proveniente de esta fuente se realizo un modelo de
datos, el cual se muestra a continuacin.
147
Modelo de datos del modulo Close Up.
Dicho Modelo contempla todas las expectativas de consulta de informacin por el usuario final de
este modulo.
148
A continuacin se detallan los catlogos y las FACTS del Modelo de datos de Close-Up.
LT_CLAS_AUDIT.
LT_REGION.
LT_MERCADO_AUDIT.
LT_CATEGORIA.
LT_PERIODOS_AUDIT.
149
LT_MEDICOS_AUDIT.
LT_MARCA_AUDIT.
LT_PRODUCTO_AUDIT.
LT_PRESENTACION.
150
MOLECULA NO VarChar 100
FT_PHARMA.
FT_PHARMA.
Clasificacin Audit.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:
151
Se mapean los campor de ambas tablas.
Regin.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:
152
Mercado Audit.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:
Categoria.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:
153
Proceso de extraccin y carga de informacin al catalogo Categoria Audit.
Periodos Audit.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:
Mdicos Audit.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:
154
SELECT ID_PERIODO, ID_MEDICO, MATRICULA, ID_MERCADO, NOMBRE,
DOMICILIO, LOCALIDAD, CP, ZONA_POSTAL, TOTAL_RECETAS FROM
"CLOUP"."DBO"."MEDICOS".
Marca Audit.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:
155
Producto Audit.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:
Presentacin.
Para la creacin de este proceso de extraccin y carga del catlogo de presentacin, solo es
necesaio tomar los datos de la tabla PRESENTACION e insertarlos en la tabla del nuevo modelo
de datos que lleva el mismo nombre, para ello es necesario considerar las siguientes reglas de
negocio:
156
Para la insercin en el catlogo LT_PRESENTACION_AUDIT se tiene el QUERY:
INSERT INTO "INFAERP"."DBO".LT_PRESENTACION_AUDIT(ID_PRESENTACION,
ID_ESPECIALIDAD, ID_PRODUCTO, CLASE_TERAPEUTICA, MOLECULA,
ID_REGION) VALUES (?,?,?,?,?,?).
FACT Pharma.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:
157
FACT Market.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:
158
4.4 Liberacin
La liberacin de un proyecto para cualquier consultora es un paso muy importante dentro de un
proyecto, ya que significa la aceptacin del producto final por el cliente, y por lo tanto es la
conclusin del desarrollo del proyecto.
Para poder generar la liberacin de un proyecto es necesario que el usuario final y el rea de
Sistemas, o el encargado firme la carta de liberacin (Anexo 1). Otro de los requisitos que son
necesarios para la liberacin son los manuales con los que se operar lo desarrollado.
4.4.1 Manuales.
Los manuales para un desarrollo de DataStage son de gran importancia, esto debido a que se
debe conocer el orden de ejecucin de cada uno de los procesos, ya que pueden existir
dependencias de informacin entre ellos, a continuacin se describe el manual que se entrega al
rea de sistemas para la ejecucin de los procesos cada vez que INFA lo considere necesario.
Manual De Usuario.
Creacin del Data Mart.
El desarrollo de los procesos de ETL se realizo con base a un servidor de base de datos SQL
Server 2005.
Esta seccin muestra una recuperacin a partir de un respaldo de Desarrollo.
1. Acceder al servidor de Base de datos SQL Server 2005 donde se instalara el respaldo de la
base de datos.
159
2. En la carpeta Bases de Datos, seleccionar la opcin restaurar Base de Datos.
160
Ventana de restauracin de la Base de Datos.
5. Dar clic a Ok y esperar a la conclusin del proceso de recuperacin del respaldo y creacin de
base de datos.
Esta seccin muestra cmo crear un DSN de sistema para conectarse a una base de datos SQL
Server.
Para el caso especfico de INFA, se requiere la conexin a 4 bases de datos diferentes, por ende
se necesita la definicin de 4 DSN se recomienda la creacin de los siguientes:
161
SATA SATA
162
3. Seguir los pasos del asistente.
163
Ventanas del asistente de creacin de un nuevo origen ODBC.
De la misma forma se deben crear los DSN para todas las fuentes de informacin.
El desarrollo de los procesos de ETL se empaqueta en un archivo con terminacin DSX para el
respaldo, este desarrollo en adelante ser denominado como aplicacin. Esta aplicacin contiene
el mapeo de Extraccin, transformacin y carga de los datos, al igual que los metadatos de
conexin.
164
A continuacin se detallan los pasos para la instalacin de la aplicacin ETL en un servidor
Windows. Teniendo como premisa un respaldo (Archivo *.DSX) de desarrollo de la misma.
165
3. Determinar las propiedades de nuestro nuevo proyecto [Properties]
166
Ventana principal de DataStage Manager.
3. Ubicar el archivo de respaldo y seleccionar las opciones Import All y Overwrite without
query. Estas opciones son para recuperar todo lo desarrollado (mapeos, metadatos, etc).
4. Verificar que se encuentren todas las carpetas creadas con objeto dentro de las mismas;
observar imagen de ejemplo.
167
Ventana principal de DataStage Manager.
168
2. En la nueva ventana, seleccionar el tipo de operacin a realizar: crear un nuevo Job, abrir uno
existente, para modificar, o abrir uno que recientemente fue utilizado.
169
Para abrir cualquier proceso, solo seleccionamos y dar click en el botn OK.
3. Cada uno de los procesos consta de sus respectivos Stages y una nota en la esquina superior
derecha que explica brevemente cul es su funcin.
4. Para ver ms detalle de este Job, se pueden consultar las propiedades del Job, en el men
Edit, en la opcin Job Properties o con la combinacin de teclas Ctrl + J o bien el icono
correspondiente.
170
Ventana principal de DataStage Designer seleccionando las propiedades del mismo.
Se pueden modificar todas las propiedades, mientras se cuente con un usuario que tenga permisos
para realizarlo.
171
Tambin se pueden observar las reglas de negocio plasmadas en cada stage con su respectiva
derivacin tcnica. Solo hay que dar doble click sobre el stage y se podr observar.
172
Ejecutar un Proceso ETL.
173
3. Se puede monitorear el resultado de la ejecucin mediante el Log correspondiente.
4. Se puede observar el detalle de cada paso, solo dando doble click en el proceso.
174
CONCLUSIONES.
En la actualidad hay aspectos que las compaas deben cuidar mucho ms que la calidad de
productos y/o servicios. Uno de estos aspectos y el ms importante es la habilidad para convertir
gran cantidad de datos en conocimiento con la finalidad de tener la capacidad de tomar las mejores
decisiones y estar un paso delante de los ms cercanos competidores. Otro aspecto es la
capacidad de obtener informacin de una manera fcil, rpida y exacta de su Sistema de
Informacin Empresarial (ERP).
Una tendencia que la todas las empresas debern compartir, es que hoy en da se puede apreciar
que el crecimiento y xito de una empresa no se mide en su tamao y capital monetario, sino en su
agilidad para manejar su informacin y tomar decisiones.
Los repositorios de informacin representan la plataforma para emitir los anlisis de datos y
explotacin de conocimiento a cargo de los procesos especializados como OLAP. Con respecto a
la capa de consulta, esta constituye como la herramienta que produce los elementos de
informacin necesarios para la toma de decisiones. As mismo, al incorporar el nivel de
administracin de conocimiento, se puede sistematizar la toma de decisiones rutinarias a partir de
la informacin seleccionada del almacn.
Es por lo anterior que la experiencia obtenida en el desarrollo de este proyecto fue de gran
aportacin para mi carrera, dando un giro especial hacia la Inteligencia de Negocios, el cual es un
campo amplio y casi inexplorado por las empresas mexicanas, pero sin duda crecer en los
prximos aos.
Por otro lado, la empresa INFA ha demostrado un gran inters por estar a la vanguardia en
tecnologas de informacin, lo cual garantiza poder tomar decisiones con un mayor grado de
certidumbre, dndole una fortaleza para poder competir en el mercado.
175
BIBLIOGRAFA.
Doherty, R., Designing Business Intelligence Solutions, MIT Press 1999, USA, pp. 520.
Ralph Kimball, Margy Ross, The Data Warehouse Toolkit, 2002, USA, pp. 16, 331.
Chuck Ballard, Daniel M. Farrell, Amit Gupta, Carlos Mazuela, Stanislav Vohnik, Dimensional
Modeling: In a Business Intelligence Environment, Marzo 2006, USA, pp. 12 15, 24, 40, 41-42,
66.
Referencias de internet
176
GLOSARIO.
Archivo HASH.
Una funcin de Hash es una caja negra que tiene como entrada una llave y como salida una
direccin
h(K)=address
Ejemplo: h(LOWELL)=4
177
ANEXOS.
Anexo 1. Carta de entrega de proyecto.
A quien corresponda:
Por medio de la presente se hace expresa y vlida la entrega de los componentes del desarrollo
del proyecto INFA Comercial, en donde se hace entrega de los siguientes mdulos:
SATA
MFPM
ATB
Reporte Ejecutivo
Close Up
____________________________ _______________________________
Gerente de proyecto BIS Soluciones. Gerente de Sistemas INFA.
178