Está en la página 1de 184

INSTITUTO POLITCNICO NACIONAL

UNIDAD PROFESIONAL INTERDISCIPLINARIA DE


INGENIERA Y CIENCIAS SOCIALES Y
ADMINISTRATIVAS

INTELIGENCIA DE NEGOCIOS EN INFA

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.

MXICO, D.F. 2010


NDICE

RESUMEN............................................................................................................................................ i

INTRODUCCIN..................................................................................................................................ii

CAPTULO I. MARCO METODOLGICO. ........................................................................................ 1

1.1 Planteamiento del problema. ................................................................................................. 1

1.2 Objetivos........................................................................................................................... 1

1.2.1 Objetivo general. .............................................................................................................. 1

1.2.2 Objetivos especficos. ..................................................................................................... 1

1.3 Justificacin. .................................................................................................................... 2

1.4 Hiptesis. .......................................................................................................................... 2

1.5 Tipo de investigacin. ..................................................................................................... 2

1.6 Tcnica de investigacin a emplear. ............................................................................. 2

CAPTULO II. MARCO TERICO Y REFERENCIAL........................................................................ 3

2.1 Conceptos clave y su aplicacin.................................................................................... 3

2.1.1 Inteligencia......................................................................................................................... 3

2.1.2 Negocio. ............................................................................................................................. 3

2.1.3 Inteligencia de Negocios. ................................................................................................. 3

2.1.4 Data Warehouse. ............................................................................................................... 3

2.1.5 Data Mart. ........................................................................................................................... 4

2.1.6 Arquitectura del Data Warehouse con Data Marts. ....................................................... 4

2.1.7 Minera de datos. ............................................................................................................... 5

2.1.8 Procesos ETL. ................................................................................................................... 6

2.1.9 Modelamiento Dimensional.............................................................................................. 6

2.1.10 Fact Table / Tabla Fact.................................................................................................... 7

2.1.11 Tabla de Dimensin. ....................................................................................................... 7

2.1.12 Metodologa Kimball. ...................................................................................................... 7

2.1.13 DataStage. ........................................................................................................................ 8


2.1.14 Entorno de la Informacin.............................................................................................. 8

2.2 La empresa: INFA................................................................................................................. 9

2.1 Misin y Visin. .................................................................................................................... 9

CAPTULO III. ANLISIS DE LA INVESTIGACION DE CAMPO. .................................................. 11

3.1 Anlisis de la Solucin (Propuesta)............................................................................. 11

3.1.2 Propuesta de Solucin General. .............................................................................. 11

3.2 Anlisis de Costos. ........................................................................................................ 12

3.3 Diagnstico..................................................................................................................... 12

CAPITULO IV. PROPUESTA. .......................................................................................................... 13

4.1 Anlisis y Diseo.................................................................................................................. 13

4.1.1 Esquema Funcional y Operativo. .................................................................................... 13

4.2 Inteligencia de Negocios en INFA. .................................................................................... 14

4.2.1 Planteamiento del Problema......................................................................................... 14

4.2.2 Propuesta de Solucin. ................................................................................................. 15

4.2.3 Anlisis CostoBeneficio.............................................................................................. 16

4.3 Construccin. ................................................................................................................. 18

4.3.1 Generacin de ETL. ....................................................................................................... 18

4.3.1.1 SATA (Visitas Mdicas)............................................................................................. 18

4.3.1.1.1 Anlisis SATA. ....................................................................................................... 18

4.3.1.1.2 Diseo SATA.......................................................................................................... 23

4.3.1.1.3 Construccin SATA. ............................................................................................. 33

4.3.1.2 ATB.............................................................................................................................. 59

4.3.1.2.1 Anlisis ATB. ......................................................................................................... 59

4.3.1.2.2 Diseo ATB. ........................................................................................................... 61

4.3.1.2.2 Construccin ATB................................................................................................. 68

4.3.1.3 MPFM. ......................................................................................................................... 81

4.3.1.3.1 Anlisis MFPM. ...................................................................................................... 81

4.3.1.3.2 Diseo MFPM......................................................................................................... 82


4.3.1.3.3 Construccin MFPM.............................................................................................. 90

4.3.1.4 Reporte Ejecutivo. ................................................................................................... 112

4.3.1.4.1 Anlisis Reporte Ejecutivo. ................................................................................ 112

4.3.1.4.2 Diseo Reporte Ejecutivo................................................................................... 116

4.3.1.4.3 Construccin Reporte Ejecutivo. ...................................................................... 125

4.3.1.5 CLOSE-UP. ............................................................................................................... 144

4.3.1.5.1 Anlisis Close-Up................................................................................................ 144

4.3.1.5.2 Diseo Close-Up.................................................................................................. 147

4.3.1.5.3 Construccin Close-Up. ..................................................................................... 151

4.4 Liberacin ..................................................................................................................... 159

4.4.1 Manuales. ................................................................................................................ 159

CONCLUSIONES. .......................................................................................................................... 175

BIBLIOGRAFA. ............................................................................................................................ 176

GLOSARIO. .................................................................................................................................... 177

ANEXOS. ........................................................................................................................................ 178


RESUMEN.
La Tecnologa de Informacin (TI) es, en la actualidad, un componente de gran importancia para
cualquier organizacin, sin embargo, en los datos y su adecuado manejo como transformaciones,
bsqueda de patrones, y consolidaciones, es lo que da un carcter estratgico a TI en la
organizacin. En este contexto es donde aparecen conceptos como el de Inteligencia de Negocios,
que apoyados en tcnicas, estrategias, metodologas y herramientas buscan ofrecer informacin
ms adecuada para la toma de decisiones. Una decisin adecuada en una organizacin se traduce
en mejoras significativas sea en dinero u otro beneficio. Una solucin de Inteligencia de Negocios
puede con gran posibilidad, cambiar el rumbo de una organizacin hacia escenarios ms
favorables y ms beneficiosos.

En el mercado existen diversas herramientas que apoyan a la implementacin de Inteligencia de


Negocios, pero son muy pocas las organizaciones que los utilizan en nuestro pas, principalmente
por el alto costo que implican la plataforma informtica de este tipo de soluciones o porque las
soluciones existentes cubren una parte y no todo el espectro de posibilidades.

La implementacin de soluciones de Inteligencia de Negocios se apoya necesariamente en un


conjunto de herramientas informticas que tienen que cubrir un ciclo de trabajo que comienza con
la extraccin de los datos de diversas fuentes de informacin como archivos de bases de datos de
diferentes proveedores, hojas de clculo, archivos planos, entre otros; continuando con un proceso
de transformacin de los mismos, que puede ser tan simple como la homogenizacin de los datos
a conversiones complejas que se realizan en varias etapas; y, finalmente el anlisis de la
informacin a travs de diversos reportes tabulares y grficos que permitan a la alta direccin de
una organizacin tomar decisiones. Una solucin bsica de Inteligencia de Negocios utiliza
grandes almacenes de datos (data Warehouse) y herramientas que ayuden al diseo de las
transformaciones y la explotacin de la informacin; cada cual con sus diversas complejidades.

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 presente reporte de prctica profesional se enfoca a la problemtica de la empresa INFA,


empresa mexicana dedicada a la investigacin y creacin de productos de ndole farmacuticos;
con su informacin.

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.1 Planteamiento del problema.


En la actualidad las Tecnologas de la Informacin se han convertido en una herramienta clave en
el proceso de desarrollo continuo dentro de las empresas. La competitividad del mercado y la
globalizacin de la industria plantean un reto mayor dentro de toda organizacin pues se hace
necesaria la innovacin y el planeamiento estratgico que permita a la empresa trascender con un
producto o servicio diferenciado. Para poder lograrlo se requiere que la informacin de la empresa
se encuentre de forma adecuada para realizar un correcto anlisis de la misma y se puedan tomar
decisiones con mayor ndice de certidumbre.

1.2 Objetivos.

1.2.1 Objetivo general.


Proporcionar a INFA la solucin de Inteligencia de Negocios adecuada para el anlisis correcto y
eficiente de su informacin. Es importante notar que los datos de origen que sern cargados en el
Data Mart y que pueden provenir de fuentes de datos heterogneas.

1.2.2 Objetivos especficos.


Generar cuatro Cubos Multidimensionales con la informacin del rea Comercial, para las
siguientes fuentes de datos:
 SATA (Visitas Mdicas, In-Bound/Out-Bound Clientes).
 ATB (Participacin de Mercado e ndice de Evolucin por representante de Ventas
INFA).
 MFPM (Desplazamiento en unidades de los productos de INFA y de sus
competidores).
 CLOSE-UP (Close-Up Market y Close-Up Pharma).

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.

Respecto a la carrera de la cual provengo y al entorno en el cual me desenvuelvo, se aplicarn los


conocimientos acerca de los procesos que intervienen de forma tcnica, as como del anlisis del
negocio, dando el enfoque a las tecnologas de la informacin, procurando que cumplan con los
objetivos establecidos.

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.

1.5 Tipo de investigacin.


Descriptiva. Ya que se analizaran situaciones y eventos dentro del proyecto, buscando especificar
cada uno de los componentes de este proyecto.

1.6 Tcnica de investigacin a emplear.


Para este proyecto las tcnicas empleadas sern:

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 Conceptos clave y su aplicacin.


2.1.1 Inteligencia.
Es la capacidad para aprender, en un contexto y tiempo reales la relacin entre una situacin
problemtica, la necesidad de su solucin, la combinacin especfica de conocimientos
conceptuales, instrumentales y operacionales y cmo utilizarlos para lograr, creativamente, una
solucin.

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.

2.1.3 Inteligencia de Negocios.


Se puede definir como el uso de los datos recopilados con el fin de generar mejores decisiones de
negocio, esto implica accesibilidad, anlisis y revelar nuevas oportunidades.

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.

La inteligencia de negocios busca proveer de un conjunto de tecnologas y productos para


proporcionar a los usuarios la informacin que necesitan para resolver preguntas de negocios y
tomar decisiones tcticas y estratgicas para el negocio.

2.1.4 Data Warehouse.


Kimball lo define como la conglomeracin de un conjunto de datos, los cuales se requieren
almacenar y presentar de forma organizada. Los datos de la operacin que se almacenan estn
estructurados de tal forma que puedan ser consultados con el fin de analizarlos.

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.

2.1.5 Data Mart.


Kimball lo define como subconjunto lgico y fsico del rea de presentacin de datos en un Data
Warehouse. Originalmente, los Data Mart fueron definidos como un subconjunto altamente
agregado de datos, normalmente usados para resolver preguntas especficas del negocio. Esta
definicin result no ser la ms apropiada pues provocaba que los Data Mart sean inflexibles de
2
combinarse con otros.

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.

2.1.6 Arquitectura del Data Warehouse con Data Marts.


El Data Warehouse suele contener un subconjunto de datos corporativos que son valiosos para
una unidad de negocio especfica, departamento o grupo de usuarios. Este subconjunto esta
formado por datos histricos, sumariados, y posiblemente datos detalle del proceso de captura de

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).

Arquitectura del Data Warehouse con Data Marts.

2.1.7 Minera de Datos.


La minera de datos (DM, Data Mining) consiste en la extraccin no trivial de informacin que
reside de manera implcita en los datos. Dicha informacin era previamente desconocida y podr
resultar til para algn proceso. En otras palabras, la minera de datos prepara, sondea y explora
los datos para sacar la informacin oculta en ellos.

Bajo el nombre de minera de datos se engloba todo un conjunto de tcnicas encaminadas a la


extraccin de conocimiento procesable, implcito en las bases de datos. Est fuertemente ligado
con la supervisin de procesos industriales ya que resulta muy til para aprovechar los datos
almacenados en las bases de datos.
Las bases de la minera de datos se encuentran en la inteligencia artificial y en el anlisis
estadstico. Mediante los modelos extrados utilizando tcnicas de minera de datos se aborda la
solucin a problemas de prediccin, clasificacin y segmentacin.

3 Dimensional Modeling In a Business Intelligence, pgina 40

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.

2.1.9 Modelamiento Dimensional.


Segn Kimball, constituye una forma de modelamiento lgico de los datos orientado al rendimiento
de las consultas y la facilidad de uso que se inicia de un conjunto de eventos de mediciones
bsicas. En el mbito del modelo relacional de base de datos, una tabla Fact est acompaada de
un conjunto de tablas de dimensin que le describen los atributos en el contexto de cada registro
medidor. Por su estructura caracterstica, al modelo dimensional se le conoce tambin como
modelo de esquema estrella.

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.

Las caractersticas para llenar un modelo dimensional son:


No deben existir en el modelo dimensional datos nulos.
Cada dimensin tiene un cdigo auto correlativo independiente que es su llave principal
(IDENTITY).
Los datos deben estar estandarizados. Ejemplo: si en alguna tabla se escriba 1 para
masculino y 0 para femenino y en otra tabla se escriba M para masculino y F para
Femenino. Al momento de llevar esta informacin al modelo dimensional todo debe esta
estandarizado. Este tipo de conversin se hace en el proceso de ETL Extraccin,
transformacin y carga.

2.1.10 Fact Table / Tabla Fact.


Kimball define que en un esquema tipo estrella (modelo dimensional), la tabla Fact representa la
tabla central con medidores numricos de rendimiento caracterizadas por una llave compuesta,
cada una de ellas es una llave fornea en las tablas de dimensin.

2.1.11 Tabla de Dimensin.


Kimball define que en el modelo dimensional, una tabla de dimensin es una tabla con una nica
llave primaria y varias columnas de atributos descriptivos.

2.1.12 Metodologa Kimball.


La metodologa de Kimball se enfoca principalmente en el diseo de la base de datos que
almacenar la informacin para la toma de decisiones. El diseo se basa en la creacin de tablas
de hechos (FACTS) que son tablas que contienen la informacin numrica de los indicadores a
analizar, es decir la parte cuantitativa de la informacin.
Ralph Kimball, es reconocido como uno de los padres del concepto de Data Warehouse, se ha
dedicado desde hace ms de 10 aos al desarrollo de su metodologa para que ste concepto sea
5
bien aplicado en las organizaciones y se asegure la calidad en el desarrollo de estos proyectos.
4 http://www.gopac.com.mx/bi/index.htm

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.

2.1.14 Entorno de la Informacin.


BI es sobre toda la informacin y la casa para dicha informacin es el Data Warehouse. El cual ya
no es construido como una ventaja especial, sino que ahora es visto como un requisito
empresarial. Este requisito es tener un entorno de informacin estructurada y organizada. Esta
estructura contiene diferentes tipos y organizaciones de datos; y estos se pueden organizar en un
ambiente estructurado. En la siguiente figura se muestra este ambiente como una pirmide de
6
informacin.

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.

2.2 La empresa: INFA.


INFA (Investigacin Nacional Farmacutica) es una empresa mexicana fundada en los aos 40s,
la cual esta dedicada a la fabricacin de productos farmacuticos, especializada en productos de
salud femenina, as como tambin para el combate a la obesidad y el sndrome metablico.

2.1 Misin y Visin.

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 Objetivos de Calidad.


Los objetivos de calidad en la empresa INFA son:
Estar dentro del ranking 40 a 45 en el ao 2009, as como ser de las primeras 10 empresas
farmacuticas nacionales en el ao 2012.
Mantener un crecimiento de al menos el doble del mercado.
Lanzar dos productos por ao de al menos 10 millones de pesos cada uno en ventas con
utilidad al tercer ao como mximo.
Lograr un alto nivel de servicio al cliente interno y externo (en tiempo y calidad) comparado
con el histrico.
Construir una nueva imagen para INFA (identidad corporativa, imagen, marca).
Construir la vitalidad de la organizacin estableciendo un plan de sucesin y aprovechar el
talento de la gente.

2.2.3 Organigrama.

Organigrama de la empresa INFA.

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.

3.1 Anlisis de la Solucin (Propuesta).

3.1.2 Propuesta de Solucin General.


Business Intelligence suele definirse como la transformacin de los datos de la compaa en
conocimiento para obtener una ventaja competitiva (Gartner Group). Desde un punto de vista ms
pragmtico, y asocindolo directamente a las tecnologas de la informacin, podemos definir
Business Intelligence como el conjunto de metodologas, aplicaciones y tecnologas que permiten
reunir, depurar y transformar datos de los sistemas transaccionales e informacin desestructurada
(interna y externa a la compaa) en informacin estructurada, para su explotacin directa
(reporting, anlisis OLAP...) o para su anlisis y conversin en conocimiento soporte a la toma de
decisiones sobre el negocio.

Modelo integral de una solucin BI.

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.

En INFA la informacin se encuentra distribuida en varios repositorios, que pertenecen a diferentes


proveedores, esto a su vez, como ya se haba mencionado, le genera costos y no slo con los
proveedores, sino tambin por el tiempo que le implica el poder generar un reporte con la
informacin de sus diferentes fuentes. De tal manera que INFA puede estar perdiendo dinero por la
toma de decisiones tardas.

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.

4.1 Anlisis y Diseo.


La informacin en la empresa INFA presenta un grado de complejidad media, ya que no se
requiere realizar clculos complejos para su obtencin en algunos casos, en otros simplemente los
datos se toman desde la fuente hasta el destino.

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.

4.1.1 Esquema Funcional y Operativo.

Solucin BI para la empresa INFA.

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.

4.2.1 Planteamiento del Problema.


INFA presenta un problema que muchas empresas en la actualidad lo sufren, el cual es tener
informacin en diferentes repositorios, complicando el anlisis de la informacin.

En INFA se encontraron las siguientes necesidades de informacin para la Gerencia Comercial:

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:

1) Cmo se encuentra la alineacin territorial de la fuerza de ventas?


2) Cmo se estn dando los Pagos de Incentivos?
 Producto y por Distrito.
 Por Producto y por Representante de Ventas.
 En forma histrica por Distrito.
 En forma histrica por Representante de Ventas.
3) Cmo se encuentra la Cobertura en Unidades vs. la Cobertura en Visitas
Mdicas?
4) Cmo se encuentra el Cobro de Incentivos vs. la Cobertura en Visitas
Mdicas?
5) Cmo se encuentra la Rentabilidad?
6) Cul es el Costo de Operacin en funcin a:
 Costo Distrito.
 Volumen de Ventas en pesos vs. el Precio Promedio Esperado.
 Costo de la Visita por Contacto (incluye Sueldos, Comisiones, Viticos).
 Costo de Material Promocional por ruta.
7) Cules son los niveles de Productividad?
8) Cules son las Variaciones vs. Rolling Forecast?
 Tiempo histrico de procesamiento de lotes (desde que abre hasta que
cierra)
 Tiempos de proceso.
9) Cules son los costos histricos de Produccin?

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.

La informacin a nivel gerencial es un elemento en el cual se fundamentan las acciones y


decisiones futuras, no slo es un registro de lo que ocurri en el pasado. Por lo que es fundamental
para las empresas poder contar con un repositorio nico de informacin.

4.2.2 Propuesta de Solucin.


Derivado del punto anterior, la empresa INFA se le propone una solucin de Inteligencia de
Negocios, la cual consiste en la integracin de las siguientes fuentes de datos en un solo
repositorio, permitiendo as anlisis integrados:
1) MFP.
2) SATA.
3) ATB.
4) CLOSE UP (MARKET Y AUDIT PHARMA).

Modelo conceptual de solucin para la empresa INFA.

15
Esta solucin pretende terminar con los problemas actuales de anlisis de informacin para la
Gerencia Comercial de INFA.

4.2.3 Anlisis CostoBeneficio.


En la actualidad, la mayora de las empresas manejan el concepto de retorno para sus inversiones.
El concepto de retorno viene por la cuantificacin de los beneficios que va a suponer una
determinada inversin y cul es la calidad de esa inversin en funcin de los beneficios generados
por ella.

Con los sistemas Business Intelligence obtenemos beneficios tanto en generacin de nuevas

oportunidades, mejora en la toma de decisiones y una notable disminucin de costos.

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:

Balanza de ejemplificacin del costo de no tener una solucin BI.

Como se observa en esta balanza, se trata de costos contrapuestos.

Costos Tangibles de la Informacin:


 Costos Humanos.
 Horas de bsqueda de la informacin.

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.

Costos Tangibles de la Desinformacin:


 Costo por no disponer de la informacin (no detectar los problemas).
 No detectar objetivos no cumplidos.
 No detectar desviaciones tcticas.
 No controlar el cumplimiento de las estrategias.
 No disponer de informacin para la toma de decisiones.
 Tomar decisiones sin toda la informacin necesaria, coste de los errores.
 Costo de oportunidad, (no detectar las oportunidades para generar
negocio).
 Comportamientos en campaas que aplicaramos a mercados
decrecientes.
 Segmentos de alta rentabilidad, productos clientes, mix, etc.
 Creacin de informacin de alto valor para la toma de decisiones.

Costos Intangibles de la informacin:


 Costos de satisfaccin del cliente interno.
 Costos de aumento de productividad.
 Costos de imagen corporativa.
 Otros de menor importancia.
 En toda empresa estos dos costos, los de informacin vs. desinformacin
deben estar equilibrados, ser iguales y deben sumar lo mnimo posible.

Por otra parte vendr el aumento de beneficios, generados directamente de la posibilidad de


disponer de sistemas Business Intelligence. Estos Beneficios vienen derivados de las nuevas
oportunidades que se generan al disponer de esta tecnologa y el uso correcto de la misma, como
por ejemplo:

Aumento de ventas por concentracin de recursos.


Aumento de ventas por focalizacin en segmentos de rentabilidad de clientes.

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.

4.3.1 Generacin de ETL.

4.3.1.1 SATA (Visitas Mdicas).

4.3.1.1.1 Anlisis SATA.


SATA es un sistema que le permite a INFA conocer el nmero de visitas realizadas por cada uno
de sus representantes, hacia los mdicos y farmacias; permitiendo a INFA poder conocer la
actividad de sus representantes y cules son los productos que estos estn promocionando.

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.

A travs de este sistema, INFA intentar cubrir los siguientes aspectos:


Identificar a los clientes ms rentables potenciales para cada producto, para
brindar una atencin personalizada y diferenciada.
Reducir el tiempo en labores administrativas, permitiendo que su personal se
enfoque en sus actividades de venta o servicio.
Hacer de la informacin de sus clientes un activo de la empresa y no informacin
del personal que los atiende.
Establecer mtricas de desempeo para dar un seguimiento de manera oportuna,
cuando todava hay posibilidad de tomar acciones correctivas en lugar de acciones
reactivas.
Optimizar el uso su material promocional haciendo que se entregue el material
correcto al cliente objetivo y con la frecuencia que INFA defina.
Trabajar desde cualquier lugar, ya que slo se necesita de un acceso a Internet.

SATA maneja 2 tipos de entidades:


1. Instituciones.
2. Personas.

SATA maneja 2 Fuerzas de Ventas:


1. INFA.
2. CELN.

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:

Gerencia Nacional > Gerente de Distrito > Representante de Ventas.

La informacin a capturar de los mdicos (Ficha del Mdico) en el sistema es la siguiente:


 Estatus del Mdico (Nuevo o INFO100).
 Nombre.
 Apellido Paterno.
 Apellido Materno.
 Fecha de Nacimiento.
 Sexo.
 Bandera de Prescripcin de Itravil (SI o NO).
 Especialidad.
 Actividad Acadmica.
 Cdula Profesional.
 Celular.
 Email.
 Maneja Igualas.
 Bandera de Prescripcin de Sibutraminas (SI o NO).
 Nmero de pacientes a los que Prescribe Sibutraminas, expresado en Porcentaje.
 Bandera de Prescripcin de Medicamentos Controlados (SI o NO).
 Nmero de pacientes a los que Prescribe Medicamentos Controlados, expresado
en Porcentaje.
 Nmero de pacientes a los que Prescribe Medicamentos Controlados, expresado
en Porcentaje.
 Nmero de pacientes que atiende en total por semana.
 Nmero de pacientes que atiende de obesidad por semana.
 Precio de la consulta.
 Bandera de Prescripcin de Alprazolam (SI o NO).
 Telfonos.

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.

Los marcados en negritas, cursivas y subrayados son obligatorios para el sistema.

Los datos de las Instituciones que se capturan son los siguientes:


 Nombre de la Institucin.
 Sucursal.
 Email.
 Pgina Web.
 Matriz.
 Estatus.

Los datos de las Farmacias que se capturan son los siguientes:


 Nombre de la Farmacia.
 Sucursal.
 Email.
 Matriz.

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.

La obtencin de la informacin desde la fuente de informacin y la carga de la misma en el Data


Mart se plantea con el siguiente diagrama:

Modelos
PROCESAMIENT
SATA Comerciales
O PARA CARGA

INFAERP

Extraccin de la informacin de SATA.

En donde toda la informacin de visitas se obtiene de la fuente SATA, agregndole la fuente


INFAERP, de donde obtiene la alineacin de la Fuerza de Ventas.

4.3.1.1.2 Diseo SATA.


Para la realizacin del diseo del modelo de visitas para INFA, se realizaron tareas previas, como
lo fueron el anlisis de la propia fuente de datos, pero no al punto de entender el 100% la
aplicacin, sino solo de las partes que se consideran importantes para el desarrollo del proyecto
Inteligencia de Negocios en INFA; as tambin se realizaron entrevistas con los usuarios finales
para entender mejor sus necesidades y el negocio.

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.

COLUMNA LLAVE TIPO LONGITUD

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.

COLUMNA LLAVE TIPO LONGITUD

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.

COLUMNA LLAVE TIPO LONGITUD

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.

COLUMNA LLAVE TIPO LONGITUD

ID_CLASIFICACION NO Integer 10

DESC_CLASIFICACION NO VarChar 50

TIPO NO VarChar 50

ACOMPANAMIENTO.

COLUMNA LLAVE TIPO LONGITUD

ID_ACOMPANAMIENTO SI BigInt 19

DESC_ACOMPANAMIENTO NO VarChar 255

TIPO NO VarChar 255

STATUS_VISITA.

COLUMNA LLAVE TIPO LONGITUD

ID_STATUS_VISITA SI BigInt 19

DESC_STATUS_VISITA NO VarChar 255

TIPO NO VarChar 255

27
TIPO_VISITA.

COLUMNA LLAVE TIPO LONGITUD

ID_TIPO_VISITA SI BigInt 19

DESC_TIPO_VISITA NO VarChar 50

TIPO NO VarChar 255

SUBTIPO NO VarChar 255

MEDICOS.

COLUMNA LLAVE TIPO LONGITUD

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.

COLUMNA LLAVE TIPO LONGITUD

ID_PRECIO_CONSULTA SI Integer 10

RANGO_PRECIO_CONSULTA NO VarChar 34

NUM_PAC_SEM.

COLUMNA LLAVE TIPO LONGITUD

ID_NUM_PAC_SEM SI Integer 10

RANGO_NUM_PAC_SEM NO VarChar 25

NUM_PAC_OBESIDAD.

COLUMNA LLAVE TIPO LONGITUD

ID_NUM_PAC_SEM_OBESIDAD SI Integer 10

29
RANGO_NUM_PAC_SEM_OBESID NO VarChar 25

ESPECIALIDADES.

COLUMNA LLAVE TIPO LONGITUD

ID_ESPECIALIDAD SI VarChar 50

DESC_ESPECIALIDAD NO VarChar 50

CICLOS_PROMOCIONALES.

COLUMNA LLAVE TIPO LONGITUD

ID_CICLO SI BigInt 19

DESC_CICLO NO VarChar 250

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.

COLUMNA LLAVE TIPO LONGITUD

ID_ESTADO SI Integer 10

DESC_ESTADO NO VarChar 50

ID_CIUDAD_ZONAPOSTAL SI VarChar 50

DESC_CIUDAD_ZONAPOSTAL NO VarChar 50

ID_BRICK SI VarChar 255

DESC_BRICK NO VarChar 50

30
ID_FUERZA_VENTAS NO VarChar 50

FECHA_INICIO NO Char 16

FECHA_FIN NO Char 16

FUERZA_VENTAS.

COLUMNA LLAVE TIPO LONGITUD

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.

COLUMNA LLAVE TIPO LONGITUD

ID_CICLO SI VarChar 255

ID_CLIENTE SI BigInt 19

ID_DISTRITO_CONS SI VarChar 50

ID_RUTA SI VarChar 255

ID_RUTA_CONS SI VarChar 50

ID_REPRE_CONS SI VarChar 100

ID_BRICK SI VarChar 255

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.

COLUMNA LLAVE TIPO LONGITUD

ID_CICLO SI BigInt 19

FECHA NO VarChar 50

ID_DISTRITO_CONS SI VarChar 50

ID_RUTA SI VarChar 255

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.

Los procesos para tales cargas de informacin son como siguen:

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:

Se obtienen los valores de entrada se obtienen desde la tabla CAT_DET con el


siguiente QUERY:
SELECT ID_CAT_DET, CAT_DET_TYPE, VALUE, CAT_DET_SUBTYPE FROM
CAT_DET.

La derivacin que se utiliza para filtrar la informacin es:


CAT_DET_TYPE = 'SPECIALTY'.

La insercin hacia la tabla se realiza con el siguiente QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_ESPECIALIDADES
(ID_ESPECIALIDAD, DESC_ESPECIALIDAD) VALUES (?,?).

Siguiendo las reglas de negocio, el proceso queda de la siguiente forma:

Proceso de carga de informacin al catlogo de Especialidades Mdicas.

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:

Los valores de entrada de obtienen de la tabla CYCLE, con el siguiente QUERY:


SELECT ID_CYCLE, NAME, FULL_NAME, START_DT, END_DT, CYCLE_SUBTYPE
FROM CYCLE WHERE NAME LIKE '2%' ORDER BY NAME.
Debido a que aos anteriores al 2000 no son necesarios.

Para la derivacin o transformacin de datos solo se limpian los valores, ya que se


deben eliminar espacios en blanco dobles.

La insercin de los valores en la tabla destino, se realizan con el siguiente QUERY:


INSERT
INTO
"MODELOS_COMERCIALES"."DBO".LT_CICLOS_PROMOCIONALES(ID_CICLO,
DESC_CICLO, DESC_CICLO_FV, FECHA_INICIO, FECHA_FIN, ANIO,
ID_FUERZA_VENTAS) VALUES (?,?,?,CONVERT(SMALLDATETIME,
?),CONVERT(SMALLDATETIME, ?),?,?).

Siguiendo las reglas de negocio, el proceso queda como sigue:

Proceso de carga del catlogo de Ciclos Promocionales.

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.

Rango Pacientes Consulta.


Si el nmero de pacientes esta dentro de 0 y 24 entonces Entre 0 y 25 Pacientes.
Si el nmero de pacientes esta dentro de 25 y 49 entonces Entre 25 y 50 Pacientes.
Si el nmero de pacientes esta dentro de 50 y 74 entonces Entre 50 y 75 Pacientes.
Si el nmero de pacientes esta dentro de 75 y 99 entonces 'Entre 75 y 100 Pacientes.
Si el nmero de pacientes esta dentro de 100 y 149 entonces Entre 100 y 150 Pacientes.
Si el nmero de pacientes esta dentro de 150 y 200 entonces Entre 150 y 200 Pacientes.
Si el nmero de pacientes es mayor a 200 entonces Mayor a 200 Pacientes.
Si no es ninguna de las anteriores 'N/A.

Para la insercin en la tabla del catlogo se define el QUERY:


INSERT INTO
"MODELOS_COMERCIALES"."DBO".LT_NUM_PAC_SEM(ID_NUM_PAC_SEM,
RANGO_NUM_PAC_SEM) VALUES (?,?).

Con las reglas de negocio definidas, se obtiene el siguiente proceso de carga:

35
Proceso de carga del catlogo de Nmero de Pacientes por Semana.

Nmero de pacientes a la semana obesidad.


Para este catlogo se definieron las reglas de correspondencia, ya que en la fuente de datos no
est contemplada. Y se determino que este se llenara mediante un archivo plano que se cargara
a la base de datos. Las reglas de negocio son las siguientes:

ID Pacientes Consulta Obesidad.


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.

Rango Pacientes Consulta Obesidad.


Si el nmero de pacientes esta dentro de 0 y 24 entonces Entre 0 y 25 Pacientes.
Si el nmero de pacientes esta dentro de 25 y 49 entonces Entre 25 y 50 Pacientes.
Si el nmero de pacientes esta dentro de 50 y 74 entonces Entre 50 y 75 Pacientes.
Si el nmero de pacientes esta dentro de 75 y 99 entonces 'Entre 75 y 100 Pacientes.
Si el nmero de pacientes esta dentro de 100 y 149 entonces Entre 100 y 150 Pacientes.
Si el nmero de pacientes esta dentro de 150 y 200 entonces Entre 150 y 200 Pacientes.
Si el nmero de pacientes es mayor a 200 entonces Mayor a 200 Pacientes'.
Si no es ninguna de las anteriores 'N/A.

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:

Proceso de carga del catlogo de Nmero de Pacientes por Semana Obesidad.

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.

Rango Precio Consulta.


Si el precio est entre 0 y 249 entonces 'Entre $0.00 y $250.00 Consulta'.

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'.

Para la insercin en la base el QUERY es:


INSERT INTO
"MODELOS_COMERCIALES"."DBO".LT_PRECIO_CONSULTA(ID_PRECIO_CONSULTA,
RANGO_PRECIO_CONSULTA) VALUES (?,?).

Con las reglas de negocio anteriormente descritas, se tiene el siguiente proceso:

Proceso de carga del catlogo de Nmero de Precio Consulta.

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:

Para los valores de entrada se utiliza el siguiente QUERY:


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 OTRO B.GENERIC002
END AS DESC_TIPO_CLIENTE,

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).

Para la insercin de los valores se utiliza el siguiente QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_CLIENTES (ID_CATEGORIA,
DESC_CATEGORIA, ID_TIPO_CLIENTE, DESC_TIPO_CLIENTE, ID_CLIENTE,
DESC_CLIENTE, ID_STATUS, DESC_STATUS, ID_AUDIT, DESC_AUDIT,
PREESCRIBE_SIBUTRAMINA, PREESCRIBE_CONTROLADOS, MANEJA_IGUALAS,
ID_PRECIO_CONSULTA, RANGO_PRECIO_CONSULTA, ID_NUM_PAC_SEM,
RANGO_NUM_PAC_SEM, ID_NUM_PAC_SEM_OBESIDAD,
RANGO_NUM_PAC_SEM_OBESIDAD) VALUES
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?).

Con las reglas de negocio anteriormente descritas, se tiene el siguiente proceso:

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.

Para obtener la informacin se detallan las reglas de negocio:

La obtencin de la informacin de la tabla PARTY_TYPE se obtiene con el siguiente


QUERY definido por el cliente:
SELECT PT.ID_PARTY, PT.STATUS_FLAG , CD7.VALUE AS STATUS_MEDICO,
PT.GENERIC001, CD1.VALUE AS ESPECIALIDAD, PT.GENERIC002 AS CEDULA,
CD3.VALUE AS ACTIVIDAD_ACADEMICA, CD4.VALUE AS
PREESCRIBE_SIBUTRAMINA, PT.GENERIC005 AS PORCENTAJE_SIBUTRAMINA,
CD5.VALUE AS PREESCRIBE_CONTROLADOS, PT.GENERIC007 AS
PORCENTAJE_CONTROLADOS, CD6.VALUE AS MANEJA_IGUALAS,
PT.GENERIC009 AS PACIENTES_SEMANA_TOTAL, PT.GENERIC010 AS
PACIENTES_SEMANA_OBESIDAD, PT.GENERIC011 AS PRECIO_CONSULTA,
PT.GENERIC012, CD9.VALUE AS AUDIT_PHARMA
FROM PARTY_TYPE PT LEFT JOIN CAT_DET CD1 ON PT.GENERIC001::TEXT =
CD1.ID_CAT_DET::CHARACTER VARYING::TEXT LEFT JOIN CAT_DET CD3 ON
PT.GENERIC003::TEXT = CD3.ID_CAT_DET::CHARACTER VARYING::TEXT LEFT
JOIN CAT_DET CD4 ON PT.GENERIC004::TEXT = CD4.ID_CAT_DET::CHARACTER
VARYING::TEXT LEFT JOIN CAT_DET CD5 ON PT.GENERIC006::TEXT =
CD5.ID_CAT_DET::CHARACTER VARYING::TEXT LEFT JOIN CAT_DET CD6 ON
PT.GENERIC008::TEXT = CD6.ID_CAT_DET::CHARACTER VARYING::TEXT LEFT

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.

Los datos obtenidos de PERSON son mediante el siguiente QUERY:


SELECT PP.ID_PARTY, PP.ID_POSTN FROM PARTY_POSTN PP WHERE
PP.ID_POSTN::TEXT !~~ '%ELIMINA%'::TEXT AND (PP.ID_POSTN::TEXT IN (
SELECT POSTN.ID_POSTN FROM POSTN JOIN
OBTIENE_JERARQUIA('000000'::CHARACTER VARYING)
OBTIENE_JERARQUIA(ID_ORG, NAME, ID_PARENT, ID_COMPANY,
STATUS_FLAG, ID_HISTORY, GENERIC001, GENERIC002, GENERIC003,
GENERIC004, GENERIC005, ID_USER_CREATED, ID_USER_MODIF,
DATE_CREATED, DATE_MODIF, TIME_MODIF, TIME_CREATED) USING
(ID_ORG))).

Para el join entre PARTY_TYPE y PERSON, se utiliza un stage de transformacin en


donde la condicin es que siempre sea verdadera la bsqueda en ambas tablas.

La informacin correspondiente a mdicos se obtiene con el siguiente QUERY:


SELECT ID_RUTA, DESC_RUTA, ID_REPRE_CONS, ID_NOMINA_REPRE,
DESC_REPRE, ID_CNTO_COSTOS_RUTA, ID_FUERZA_VENTAS, FECHA_INICIO,
FECHA_FIN FROM "MODELOS_COMERCIALES"."DBO".LT_REPRESENTANTES.

La informacin de PARTY_POSTN se obtiene mediante el siguiente QUERY definido


por el cliente:
SELECT PP.ID_PARTY, PP.ID_POSTN FROM PARTY_POSTN PP WHERE
PP.ID_POSTN::TEXT !~~ '%ELIMINA%'::TEXT AND (PP.ID_POSTN::TEXT IN (
SELECT POSTN.ID_POSTN FROM POSTN JOIN
OBTIENE_JERARQUIA('000000'::CHARACTER VARYING)
OBTIENE_JERARQUIA(ID_ORG, NAME, ID_PARENT, ID_COMPANY,
STATUS_FLAG, ID_HISTORY, GENERIC001, GENERIC002, GENERIC003,
GENERIC004, GENERIC005, ID_USER_CREATED, ID_USER_MODIF,
DATE_CREATED, DATE_MODIF, TIME_MODIF, TIME_CREATED) USING
(ID_ORG))).

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'.

La insercin en la tabla se realizar con el siguiente QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_MEDICOS(ID_RUTA,
DESC_RUTA, ID_CLIENTE, DESC_CLIENTE, NUM_CEDULA_PROF,

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:

Proceso de carga del catlogo de Mdicos.

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).

La insercin haca el catlogo de Tipos_Visita es con el siguiente QUERY:


INSERT INTO
"MODELOS_COMERCIALES"."DBO".LT_TIPOS_VISITA(ID_TIPO_VISITA,
DESC_TIPO_VISITA, TIPO, SUBTIPO) VALUES (?,?,?,?).

Con las reglas anteriormente descritas, se obtiene el siguiente proceso de carga:

Proceso de carga del catlogo de Tipos Visita.

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.

Para la lectura de la tabla se utilizar el siguiente QUERY:


SELECT ID_CAT_DET, CAT_DET_TYPE, VALUE, CAT_DET_SUBTYPE FROM
CAT_DET.

Los valores aceptados son:


id_cat_det = 203 o id_cat_det = 205 o id_cat_det = 330 o id_cat_det = 316 o id_cat_det
= 204.

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 (?,?,?).

Siguiendo las anteriores reglas de negocio, se genera el siguiente proceso:

Proceso de carga del catlogo de Status Visita.

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.

La extraccin sobre la tabla del catlogo se realizara con el siguiente QUERY:


SELECT ID_CAT_DET, CAT_DET_TYPE, VALUE, CAT_DET_SUBTYPE FROM
CAT_DET.

La condicin para la insercin es:


id_cat_det = 290 o id_cat_det = 291 o id_cat_det = 292.

Para la insercin en el catlogo Clasificacin_Actividad se utilizara el siguiente


QUERY:
INSERT INTO
"MODELOS_COMERCIALES"."DBO".LT_CLASIFICACION_ACTIVIDAD(ID_CLASIFIC
ACION, DESC_CLASIFICACION, TIPO) VALUES (?,?,?).

47
Con las reglas anteriores, se tiene el siguiente proceso de carga:

Proceso de carga del catlogo de Clasificacin Actividad.

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:

Para leer la tabla de entrada el QUERY es el siguiente:


SELECT ID_CAT_DET, CAT_DET_TYPE, VALUE, CAT_DET_SUBTYPE FROM
CAT_DET.

Los valores validos son:


id_cat_det=1645 o id_cat_det=1650 o id_cat_det=1649 o id_cat_det=1646 o
id_cat_det=1615 o id_cat_det=1638 o id_cat_det=1639 o id_cat_det=1640 o
id_cat_det=1641 o id_cat_det=1642 o id_cat_det=1643 o id_cat_det=1644 o
id_cat_det=1648 o id_cat_det=1647.

La insercin de datos se realiza con el siguiente QUERY:


INSERT INTO
"MODELOS_COMERCIALES"."DBO".LT_ACOMPANAMIENTO(ID_ACOMPANAMIEN
TO, DESC_ACOMPANAMIENTO, TIPO) VALUES (?,?,?);

Con las reglas de negocio previamente descritas, se obtiene el siguiente proceso:

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.

El QUERY para iniciar el proceso es:


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, A.GENERIC011 AS
ACOMPANADA, A.ID_ACT AS VISITA --COUNT(A.ID_ACT) AS
VISITAS_TERMINADAS 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
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

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.

La seleccin sobre la tabla PARTY_TYPE se realiza con el siguiente QUERY:


SELECT PT.ID_PARTY, PT.GENERIC001, PT.GENERIC009 AS
PACIENTES_SEMANA_TOTAL, PT.GENERIC010 AS
PACIENTES_SEMANA_OBESIDAD, PT.GENERIC011 AS PRECIO_CONSULTA
FROM PARTY_TYPE PT
WHERE PT.STATUS_FLAG <> 217 AND PT.ID_TYPE = 2.

La seleccin de las rutas se realiza con 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.

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.

La insercin a la tabla de FT_VISITAS, se realiza con el siguiente QUERY:


INSERT INTO "Modelos_Comerciales"."dbo".FT_VISITAS(id_ciclo, id_cliente,
id_distrito_cons, id_ruta, id_ruta_cons, id_repre_cons, id_brick, id_tipo_visita,
id_status_visita, id_clasificacion, id_acompanamiento, m_visitas, id_precio_consulta,
id_num_pac_sem, id_num_pac_sem_obesidad, id_especialidad)
VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?).

Con las reglas anteriores se obtiene el siguiente proceso:

Proceso de carga de Visitas.

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.

Para la seleccionar a los representantes, se utiliza el siguiente QUERY:


SELECT ID_RUTA_CONS, DESC_RUTA, ID_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.

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.

La insercin hacia la tabla de FT_VISITAS_RESUMEN se realiza con el siguiente


QUERY:
INSERT INTO
"MODELOS_COMERCIALES"."DBO".FT_VISITAS_RESUMEN(ID_CICLO, FECHA,
ID_DISTRITO_CONS, ID_RUTA, ID_RUTA_CONS, ID_REPRE_CONS,
ID_TIPO_VISITA, M_VISITA_REALIZADA, M_VISITA_BASE,
M_VISITA_REQUERIDA, M_INCIDENCIAS, M_PLAN_TRABAJO, M_COBERTURA,
M_VISITA_ACOMPANADA, DIAS_CICLO) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?).

Derivado de las reglas de negocio, previamente descritas se obtiene el siguiente proceso:

Proceso de carga de Visitas Resumen.

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:

Proceso de secuencia del modulo visitas.

4.3.1.2 ATB.

4.3.1.2.1 Anlisis 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.

Las mtricas disponibles para anlisis son las siguientes:


Valores/Unidades. Son valores absolutos, correspondientes a las ventas reales.
% de Participacin de Mercado (%PM). Calculado para Unidades o Valores. Es un
porcentaje horizontal.
ndice. ndice comparativo en Unidades o Valores versus la Media Nacional en base a
la participacin de Mercado. Si el ndice es mayor que 100, indica que el %PM en un
Brick determinado es mayor que el %PM de la Media Nacional.
% de Crecimiento. Porcentaje de Crecimiento del Mercado o Productos, en Unidades
o Valores.
Crecimiento Absoluto. Crecimiento del Mercado o Productos en Unidades o Valores.
ndice de Crecimiento. ( (%Crecimiento Producto/% Crecimiento Mercado )+ 100)
Tanto para Unidades como para Valores.
% Vertical. Porcentaje del ndice de Ventas.
Volumen del Mercado. Total en Unidades o Valores del Mercado nicamente.
% Crecimiento del Mercado. Porcentaje de Crecimiento del Mercado nicamente, ya
sea en Unidades o Valores.
% Vertical del Mercado. Porcentaje del ndice de ventas nicamente del Mercado, ya
sea en Unidades o Valores.
Evolucin ndice Participacin del Mercado. ndice de Evolucin de la Participacin
del Mercado, ya sea en Unidades o Valores ((%PM Periodo Actual / %PM Periodo
Anterior) * 100).

60
Evolucin ndice Producto. ndice de Evolucin calculado sobre los productos, ya
sea en Unidades o Valores ((Unidades Periodo Actual / Unidades Periodo Anterior) *
100).

La obtencin de la informacin desde la fuente de informacin y la carga de la misma en el Data


Mart se plantea con el siguiente diagrama:

Archivos
PROCESAMIENTO PARA Modelos
planos
CARGA Comerciales

INFAERP

Ejemplificacin del proceso de extraccin y carga del modulo ATB.

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.

4.3.1.2.2 Diseo ATB.


El objetivo del modulo de ATB es:
Integrar la informacin con el menor esfuerzo posible por parte del rea Comercial de
TWINX.
Contar con una herramienta de Inteligencia de negocios.
 Anlisis de Negocio (Anlisis Multidimensional).

Para cumplir con los objetivos propuestos, se contempla:


BIS disear los formatos para requerir informacin fuente del modelo.
BIS disear el repositorio de la informacin fuente y de la informacin requerida para
los Cubos de Informacin.
BIS generar 1 cubo con la informacin de TWINX para su anlisis.

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.

COLUMNA LLAVE TIPO LONGITUD


ID_LAB SI VarChar 3
NOM_LAB NO VarChar 50
ID_COR NO VarChar 4
CNT_LAB NO SmallInt 5

COMPANIAS.

COLUMNAS LLAVE TIPO LONGITUD


ID_COR SI VarChar 4
NOM_COR NO VarChar 35
CNT_COR NO SmallInt 5

PERIODOS.

COLUMNAS LLAVE TIPO LONGITUD


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

64
PRODUCTOS_MFP.

COLUMNAS LLAVE TIPO LONGITUD


ID_PRO SI VarChar 5
NOM_PRO NO VarChar 30
ID_LAB NO VarChar 3
CNT_PRO NO SmallInt 5

PRESENTACIONES_PRODUCTOS.

COLUMNAS LLAVE TIPO LONGITUD


ID_PRE ID_PRE VarChar 7
NOM_PRE NOM_PRE VarChar 40
NOL_PRE NOL_PRE VarChar 55
DES_PRE DES_PRE VarChar 65
ID_PRO ID_PRO VarChar 5
ID_CT4 ID_CT4 VarChar 5
ID_GEN ID_GEN VarChar 1
ID_FOR ID_FOR VarChar 2
CNT_PRE CNT_PRE VarChar 2
ATB_PRE ATB_PRE VarChar 2
FECHA_LANZ FECHA_LANZ VarChar 6
ID_SAL1 ID_SAL1 VarChar 5
ID_SAL2 ID_SAL2 VarChar 5
ID_SAL3 ID_SAL3 VarChar 5
ID_MOLECULA ID_MOLECULA Integer 10
NOM_PRO NOM_PRO VarChar 30
ID_LAB ID_LAB VarChar 3
CNT_PRO CNT_PRO VarChar 20
CT_PROD CT_PROD VarChar 20

65
CLASES_TERAPEUTICAS_N1.

COLUMNA LLAVE TIPO LONGITUD


ID_CT1 SI VarChar 5
NOM_CT1 NO VarChar 20
NOL_CT1 NO VarChar 50
CNT_CT1 NO SmallInt 5

CLASES_TERAPEUTICAS_N2.

COLUMNA LLAVE TIPO LONGITUD


ID_CT2 SI VarChar 5
NOM_CT2 NO VarChar 20
NOL_CT2 NO VarChar 50
ID_CT1 NO VarChar 5
CNT_CT2 NO SmallInt 5

CLASES_TERAPEUTICAS_N3.

COLUMNA LLAVE TIPO LONGITUD


ID_CT3 SI VarChar 5
NOM_CT3 NO VarChar 20
NOL_CT3 NO VarChar 50
ID_CT2 NO VarChar 5
CNT_CT3 NO SmallInt 5

CLASES_TERAPEUTICAS_N4.

COLUMNA LLAVE TIPO LONGITUD


ID_CT4 SI VarChar 5
NOM_CT4 NO VarChar 20
NOL_CT4 NO VarChar 50
ID_CT3 NO VarChar 5
CNT_CT4 NO SmallInt 5

66
SALES1.

COLUMNA LLAVE TIPO LONGITUD


ID_SAL1 SI VarChar 5
NOM_SALES NO VarChar 50
ID_GRUPO NO VarChar 2
CNT_SAL1 NO VarChar 2
ATB_SAL1 NO VarChar 2

SALES2.

COLUMNA LLAVE TIPO LONGITUD


ID_SAL2 SI VarChar 5
NOM_SALES NO VarChar 50
ID_GRUPO NO VarChar 2
CNT_SAL2 NO VarChar 2
ATB_SAL2 NO VarChar 2

SALES3.

COLUMNA LLAVE TIPO LONGITUD


ID_SAL3 SI VarChar 5
NOM_SALES NO VarChar 50
ID_GRUPO NO VarChar 2
CNT_SAL3 NO VarChar 2
ATB_SAL3 NO VarChar 2

Las reglas de negocio para la carga del modelo son las siguientes:

1. El mercado se encuentra dividido en 6 grandes grupos a los cuales llaman Mercados


Armados
a. Anticonceptivos de emergencia.
b. Multivitamincos.
c. Orlistat.

67
d. Sibus + Met.
e. Sibutraminas.
f. Vasoprotectores.

Los procesos de carga y el modelo deben soportar estas categoras.

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:

ARCHIVO PLANO DE UNIDADES:


FECHA CODIGO REGION MERCADO PRODUCTO LABORATORIO PRESENTACION UNIDAD
ES

smalldate() int varchar varchar varchar varchar varchar int

ARCHIVO PLANO DE VALORES:


FECHA CODIGO REGION MERCADO PRODUCTO LABORATORIO PRESENTACION VALORES

smalldate() int varchar varchar varchar varchar varchar int

4. Dichos archivos de Excel seran en formato CSV (Archivo separado por comas).

5. No se debe considerar la informacin en donde el Brick o Cdigo sea igual a 0 (Cero).

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.

4.3.1.2.2 Construccin ATB.


La construccin del cubo de informacin de ATB se basa en el modelo de datos previamente
descrito en el anlisis ATB, dicho modelo contiene las especificaciones del usuario final sobre las
mtricas y campos que necesita en sus consultas de informacin, as como reportes mensuales y
diarios dentro de su operacin.

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 deben eliminar los registros donde el BRICK sea igual a CERO.

Se colocarn en archivos planos o HASH temporales para poder hacer un join de los
dos archivos.

Posteriormente se realiza la insercin en la tabla TEMP_ATB, con el siguiente QUERY:


INSERT INTO "Modelos_Comerciales"."dbo"."FT_Temporal_ATB"(codigo, region,
mercado, producto, laboratorio, productos, unidades, valores, fecha) VALUES
(?,?,?,?,?,?,?,?,?).

Siguiendo las reglas de negocio se obtiene el siguiente proceso:

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.

Posteriormente se pivotean ambos archivos, por la columna de unidades y valores,


respectivamente, se deben eliminar los registros donde el BRICK sea igual a CERO;
para posteriormente ser insertados a la tabla TEMP_ATB con el siguiente QUERY:
INSERT INTO "FT_TEMPORAL_ATB"("CODIGO", "REGION", "MERCADO",
"PRODUCTO", "LABORATORIO", "PRODUCTOS", "UNIDADES", "VALORES",
"FECHA") VALUES (?,?,?,?,?,?,?,?,?).

Se colocarn en archivos planos o HASH temporales para poder hacer un join de los
dos archivos.

Siguiendo las reglas de negocio, previamente descritas se tiene el siguiente proceso:

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.

Se deben eliminar los registros donde el BRICK sea igual a CERO.

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.

LA INSERCIN EN LA TABLA TEMP_ATB SE REALIZA CON EL SIGUIENTE


QUERY:

71
INSERT INTO "FT_TEMPORAL_ATB"("CODIGO", "REGION", "MERCADO",
"PRODUCTO", "LABORATORIO", "PRODUCTOS", "UNIDADES", "VALORES",
"FECHA") VALUES (?,?,?,?,?,?,?,?,?).

Con las reglas de negocio descritas, se obtiene el siguiente proceso:

Proceso de carga de Unidades y Valores del mercado Orlistat.

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:

Proceso de Extraccin de Unidades Sibutraminas.


Para el proceso de extraccin de las unidades correspondientes al mercado de las Sibutraminas,
se tienen las siguientes reglas de negocio:

Se leern 2 archivos de entrada simultneamente, con las unidades.


Se realizara el pivote por el campo unidades por cada archivo de entrada.

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.

Proceso de carga de Unidades del mercado Sibutraminas.

Proceso de Extraccin de Valores Sibutraminas.


Para el proceso de extraccin de los valores correspondientes al mercado de las Sibutraminas, se
tienen las siguientes reglas de negocio:

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:

Proceso de carga de Valores del mercado Sibutraminas.

Proceso de Carga de Valores y Unidades Sibutraminas.


Para poder realizar la carga de los valores y unidades de Sibutraminas en la tabla de TEMP_ATB,
se requiere realizar un proceso con las siguientes reglas de negocio.

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.

La insercin en la tabla TEMP_ATB se utiliza el siguiente QUERY:

74
INSERT INTO
"MODELOS_COMERCIALES"."DBO"."FT_TEMPORAL_ATB"("CODIGO", "REGION",
"MERCADO", "PRODUCTO", "LABORATORIO", "PRODUCTOS", "UNIDADES",
"VALORES", "FECHA") VALUES (?,?,?,?,?,?,?,?,?).

De las reglas de negocio mencionadas, se tiene el siguiente proceso:

Proceso de carga de Unidades y Valores del mercado Sibutraminas.

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.

Proceso de Carga de Unidades Sibus + Met.


Para el proceso de extraccin de las unidades correspondientes al mercado de Sibus + Met, se
tienen las siguientes reglas de negocio:

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:

Proceso de carga de Unidades del mercado Sibus + Met.

Proceso de Carga de Valores Sibus + Met.


Para el proceso de extraccin de los valores correspondientes al mercado de las Sibus + Met, se
tienen las siguientes reglas de negocio:

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:

Proceso de carga de Valores del mercado Sibus + Met.

Proceso de Carga de Unidades y Valores Sibus + Met.


Para poder realizar la carga de los valores y unidades de Sibus + Met en la tabla de TEMP_ATB,
se requiere realizar un proceso con las siguientes reglas de negocio.

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.

La insercin en la tabla TEMPORAL_ATB se realiza con el siguiente QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO"."FT_TEMPORAL_ATB"(CODIGO,
REGION, MERCADO, PRODUCTO, LABORATORIO, PRODUCTOS, UNIDADES,
VALORES, FECHA) VALUES (?,?,?,?,?,?,?,?,?).

77
De las reglas de negocio mencionadas, se tiene el siguiente proceso:

Proceso de carga de Unidades y Valores del mercado Sibus + Met.

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.

Se deben eliminar los registros donde el BRICK sea igual a CERO.

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.

Los registros resultantes de los pivotes se colocarn en archivos planos o HASH


temporales para poder hacer la unin de los cuatro archivos.

Se hace un join entre los dos archivos HASH mediante los campos: CODIGO,
REGION, MERCADO, PRODUCTOS Y FECHA.

Posteriormente se realiza la insercin en la tabla TEMP_ATB, con el siguiente QUERY:

78
INSERT INTO "FT_TEMPORAL_ATB"("CODIGO", "REGION", "MERCADO",
"PRODUCTO", "LABORATORIO", "PRODUCTOS", "UNIDADES", "VALORES",
"FECHA") VALUES (?,?,?,?,?,?,?,?,?).

Con las reglas de negocio descritas, se obtiene el siguiente proceso:

Proceso de carga de Unidades y Valores del mercado Vasoprotectores.

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:

Se deben extraer los valores y unidades de la tabla TEMPORAL_ATB con el siguiente


QUERY:
SELECT CODIGO, REGION, PRODUCTO, LABORATORIO, PRODUCTOS,
UNIDADES, VALORES, CONVERT(CHAR(16), FECHA, 20) FROM
"MODELOS_COMERCIALES"."DBO"."FT_TEMPORAL_ATB".

Para la seleccin de la informacin de la tabla PRODUCTOS_MFPM, se reuiqre utilizar


el QUERY:

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.

La seleccin de la informacin del catlogo de laboratorios se tiene el QUERY:


SELECT ID_LAB, NOM_LAB, ID_COR, CNT_LAB FROM
"MODELOS_COMERCIALES"."DBO".LT_LABORATORIOS.

La informacin obtenida de las tablas PRODUCTOS_MFPM, PRESENTACIONES_PRODUCTOS


y LABORATORIOS no podr ser cargada hasta que se termine el modulo de MFPM, debido a que
se toman los valores de este catlogo.

La insercin en la tabla TEMP_ATB se realiza con el siguiente QUERY:


INSERT INTO "FT_TEMPORAL_ATB"(CODIGO, REGION, MERCADO, PRODUCTO,
LABORATORIO, PRODUCTOS, UNIDADES, VALORES, FECHA) VALUES
(?,?,?,?,?,?,?,?,?).

Con las reglas de negocio descritas, se obtiene el siguiente proceso:

Proceso de carga de informacin a la FACT FT_ATB.

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.

Proceso de secuencia modulo ATB.

4.3.1.3 MPFM.

4.3.1.3.1 Anlisis MFPM.


INFA sabiendo que el marketing se ha convertido en parte esencial de las empresas y que esta
logra hacer la diferencia para muchas otras en el mercado, y preocupado por la comercializacin y
distribucin de sus productos, tiene un rea denominada Investigacin de Mercados, la cual est
encargada de realizar los reportes de Marketing, que pueden contener: % participacin en el
mercado, % de crecimiento y desempeo del producto respecto al entorno competitivo; todo lo esto
contra otros laboratorios competidores, as como los productos y presentaciones de los
competidores; mediante una herramienta llamada M.F.P.M.

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.

La obtencin de la informacin desde la fuente de informacin y la carga de la misma en el Data


Mart se plantea con el siguiente diagrama:

PROCESAMIENTO Modelos
MFPM Comerciales
PARA CARGA

Ejemplificacin del proceso de extraccin y carga del modulo MFPM.

En donde toda la informacin de visitas se obtiene de la fuente MFPM.

4.3.1.3.2 Diseo MFPM.


Para el rea de Investigacin de Mercados, es importante conservar los datos de las ventas de
M.F.P.M. agrupados por las siguientes dimensiones:

Tiempo. Agrupa los aos y los meses que los conforman, para los cuales hay datos.

Geografa. Conformada por los 31 estados de la Repblica Mexicana ms el Distrito


Federal.

Gneros. Gneros en los que se encuentra dividido el Mercado Farmacutico Privado:


 tico.
 G.I. Son aquellos productos que en su empaque se encuentra la leyenda de
Genrico Intercambiable.
 Otc.
 Otros. Categora contemplada para incluir algn otro gnero en el momento en
que este apareciera, como por ejemplo los Productos Similares.

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.

Periodicidad. Periodos con los que cuenta el modelo:


 Mes.
 Acumulado.
 12 Meses Mviles (MAT).
 6 Meses Mviles.
 3 Meses Mviles.
Empresa. Corporaciones que conforman el Mercado Farmacutico Privado, detalladas por
Laboratorio.

Measures. Unidades de medicin con que cuenta el modelo:


 Unidades.
 Valores en Pesos.
 Precios Farmacia de todos los productos.
 Proyecciones para Unidades y Valores.

Las Mtricas disponibles para anlisis son las siguientes:


 Montos y Variaciones de Crecimiento.
 Porcentajes de Participacin.
 ndices de Evolucin.

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.

A continuacin se detallan los catlogos y las FACTS del Modelo de MFPM.

BRICKS_MFPM.

COLUMNA LLAVE TIPO LONGITUD


CVE_BRICK SI NVarChar 6
NOM_BRICK NO NVarChar 30
CVE_EST NO NVarChar 2
CNT_MOS NO SmallInt 5

CLASES_TERAPEUTICAS_N1.

COLUMNA LLAVE TIPO LONGITUD


ID_CT1 SI VarChar 5
NOM_CT1 NO VarChar 20
NOL_CT1 NO VarChar 50
CNT_CT1 NO SmallInt 5

CLASES_TERAPEUTICAS_N2.

COLUMNA LLAVE TIPO LONGITUD


ID_CT2 SI VarChar 5
NOM_CT2 NO VarChar 20
NOL_CT2 NO VarChar 50
ID_CT1 NO VarChar 5
CNT_CT2 NO SmallInt 5

CLASES_TERAPEUTICAS_N3.

COLUMNA LLAVE TIPO LONGITUD


ID_CT3 SI VarChar 5

85
NOM_CT3 NO VarChar 20
NOL_CT3 NO VarChar 50
ID_CT2 NO VarChar 5
CNT_CT3 NO SmallInt 5

CLASES_TERAPEUTICAS_N4.

COLUMNA LLAVE TIPO LONGITUD


ID_CT4 SI VarChar 5
NOM_CT4 NO VarChar 20
NOL_CT4 NO VarChar 50
ID_CT3 NO VarChar 5
CNT_CT4 NO SmallInt 5

ESTADOS.

COLUMNA LLAVE TIPO LONGITUD


ID_EST SI VarChar 2
NOM_EST NO VarChar 30
CNT_EST NO SmallInt 5

LABORATORIOS.

COLUMNA LLAVE TIPO LONGITUD


ID_LAB SI VarChar 3
NOM_LAB NO VarChar 50
ID_COR NO VarChar 4
CNT_LAB NO SmallInt 5

PRESENTACIONES_PRODUCTOS.

COLUMNA LLAVE TIPO LONGITUD


ID_PRE SI VarChar 7
NOM_PRE NO VarChar 40

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.

COLUMNA LLAVE TIPO LONGITUD


ID_MOLECULA SI Integer 10
DESC_MOLECULA NO VarChar 200

COMPANIAS.

COLUMNA LLAVE TIPO LONGITUD


ID_COR SI VarChar 4
NOM_COR NO VarChar 35
CNT_COR NO SmallInt 5

87
PRODUCTOS_MFP.

COLUMNA LLAVE TIPO LONGITUD


ID_PRO SI VarChar 5
NOM_PRO NO VarChar 30
ID_LAB NO VarChar 3

SALES1.

COLUMNA LLAVE TIPO LONGITUD


ID_SAL1 SI VarChar 5
NOM_SALES NO VarChar 50
ID_GRUPO NO VarChar 2
CNT_SAL1 NO VarChar 2
ATB_SAL1 NO VarChar 2

SALES2.

COLUMNA LLAVE TIPO LONGITUD


ID_SAL2 SI VarChar 5
NOM_SALES NO VarChar 50
ID_GRUPO NO VarChar 2
CNT_SAL2 NO VarChar 2
ATB_SAL2 NO VarChar 2

SALES3.

COLUMNA LLAVE TIPO LONGITUD


ID_SAL3 SI VarChar 5
NOM_SALES NO VarChar 50
ID_GRUPO NO VarChar 2
CNT_SAL3 NO VarChar 2
ATB_SAL3 NO VarChar 2

88
FT_VALORES.

COLUMNA LLAVE TIPO LONGITUD


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
UNIDADES_MES NO Numeric 18
UNIDADES_MAT NO Numeric 18
UNIDADES_ACUM NO Numeric 18
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

FT_VALORES_X_ESTADO.

COLUMNA LLAVE TIPO LONGITUD


ID_TIME SI VarChar 6
ID_EST SI VarChar 50
ID_PRE SI VarChar 7
ID_CT4 SI VarChar 5
ID_GEN SI VarChar 1
ID_PTO SI VarChar 1
UNIDADES_MES NO Numeric 18
UNIDADES_MAT NO Numeric 18
UNIDADES_ACUM NO Numeric 18

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

4.3.1.3.3 Construccin MFPM.


Esta seccin est basada en el anlisis de MFPM previamente descrito, la construccin de los
procesos, se describen uno a uno. Cada uno de ellos se considera de extraccin y carga.

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:

Para la carga de la tabla BRICKS_MFPM, solo se requiere obtener los registros de la


tabla M_MOS de la fuente, lo cual se realiza con el siguiente QUERY:
SELECT CVE_MOS, NOM_MOS, CVE_EST, CNT_MOS FROM
"CIDMEX_SALES"."DBO".M_MOS.

Se mapean los campos correspondientes entre ambas tablas.

Para la insercin en la tabla BRICKS_MFPM, se utiliza el siguiente QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_BRICKS_MFP(CVE_BRICK,
NOM_BRICK, CVE_EST, CNT_MOS) VALUES (?,?,?,?).

Con las reglas de negocio previamente descritas se tiene el siguiente proceso:

90
Proceso de extraccin y carga de informacin del catlogo Bricks MFPM.

Clase Teraputica N1.


Para el llenado de este catlogo CLASES_TERAPEUTICAS_N1, las reglas de negocio son:

Se extraen de la tabla M_CT1 con el siguiente QUERY:


SELECT CVE_CT1, M_CT1.NOM_CT1, M_CT1.NOL_CT1, M_CT1.CNT_CT1
FROM "CIDMEX_SALES"."DBO".M_CT1.

Se mapean los campos correspondientes entre ambas tablas.

Se insertan los valores en la tabla CLASES_TERAPEUTICAS_N1 con el siguiente


QUERY:
INSERT INTO
"MODELOS_COMERCIALES"."DBO".LT_CLASES_TERAPEUTICAS_N1(ID_CT1,
NOM_CT1, NOL_CT1, CNT_CT1) VALUES (?,?,?,?).

Con las reglas de negocio para este proceso se tiene:

Proceso de extraccin y carga de informacin del catlogo Clase Terapeutica1.

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.

Se mapean los campos correspondientes entre ambas tablas.

Se insertan los valores en la tabla CLASES_TERAPEUTICAS_N2 con el siguiente


QUERY:
INSERT INTO
"MODELOS_COMERCIALES"."DBO".LT_CLASES_TERAPEUTICAS_N2(ID_CT2,
NOM_CT2, NOL_CT2, ID_CT1, CNT_CT2) VALUES (?,?,?,?,?).

Con las reglas de negocio descritas, se tiene el proceso de extraccin y carga:

Proceso de extraccin y carga de informacin del catlogo Clase Terapeutica2.

Clase Teraputica N3.


Para el llenado de este catlogo CLASES_TERAPEUTICAS_N3, se extraen de la tabla M_CT3 y
se tienen las reglas:

Se extraen de la tabla M_CT3 con el siguiente QUERY:


SELECT CVE_CT3, NOM_CT3, NOL_CT3, CVE_CT2, CNT_CT3 FROM
"CIDMEX_SALES"."DBO".M_CT3.

Se mapean los campos correspondientes entre ambas tablas.

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 (?,?,?,?,?).

Con las reglas de negocio descritas, se tiene el proceso de extraccin y carga:

Proceso de extraccin y carga de informacin del catlogo Clase Terapeutica3.

Clase Teraputica N4.


Para el llenado de este catlogo CLASES_TERAPEUTICAS_N4, se extraen de la tabla M_CT4 y
se tienen las reglas:

Se extraen de la tabla M_CT3 con el siguiente QUERY:


SELECT CVE_CT4, NOM_CT4, NOL_CT4, CVE_CT3, CNT_CT4 FROM
"CIDMEX_SALES"."DBO".M_CT4.

Se mapean los campos correspondientes entre ambas tablas.

Se insertan los valores en la tabla CLASES_TERAPEUTICAS_N3 con el siguiente


QUERY:
INSERT INTO
"MODELOS_COMERCIALES"."DBO".LT_CLASES_TERAPEUTICAS_N4(ID_CT4,
NOM_CT4, NOL_CT4, ID_CT3, CNT_CT4) VALUES (?,?,?,?,?).

Con las reglas de negocio descritas, se tiene el proceso de extraccin y carga:

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:

Se extraen de la tabla M_PTO con el siguiente QUERY:


SELECT CVE_PTO, NOM_PTOCNT_PTO FROM "CIDMEX_SALES"."DBO".M_PTO.

Se mapean los campos correspondientes entre ambas tablas.

Se insertan los valores en la tabla CLASES_TERAPEUTICAS_N3 con el siguiente


QUERY:
INSERT INTO
"MODELOS_COMERCIALES"."DBO".LT_CLASIFICACION_CANAL(ID_PTO,
NOM_PTO, CNT_PTO) VALUES (?,?,?);

Con las reglas de negocio, se tiene el siguiente proceso:

Proceso de extraccin y carga de informacin del catlogo Clasificacin Canal.

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:

Para la extraccin de la informacin de la tabla M_COR se utiliza el siguiente QUERY:


SELECT M_COR.CVE_COR, NOM_COR, CNT_COR FROM
"CIDMEX_SALES"."DBO".M_COR.

Se debe agregar un registro ms, el cual su ID debe ser SNID y la descripcin SIN
COMPANIA.

Para la insercin en el catalogo COMPANIAS se considera el QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_COMPANIAS(ID_COR,
NOM_COR, CNT_COR) VALUES (?,?,?).

Con las reglas anteriormente descritas, se tiene el siguiente proceso:

Proceso de extraccin y carga de informacin del catlogo Compaias.

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.

Para la carga de la informacin a la tabla LT_ESTADOS, se utiliza el QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_ESTADOS(ID_EST,
NOM_EST, CNT_EST) VALUES (?,?,?).

Con las reglas de negocio previamente descritas se tiene el proceso:

Proceso de extraccin y carga de informacin del catlogo Estados.

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:

La extraccin de la tabla M_LAB se realiza con el siguiente QUERY:


SELECT CVE_LAB, NOM_LAB, CVE_COR, CNT_LAB FROM
"CIDMEX_SALES"."DBO".M_LAB.

Se debe agreagar un registro adicional el cual debe contener la llave SID y la


descripcin SIN LABORATORIO.

La insercin al catlogo de LABORATORIOS se realiza con el siguiente QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_LABORATORIOS(ID_LAB,
NOM_LAB, ID_COR, CNT_LAB) VALUES (?,?,?,?).

Con las reglas anteriormente descritas se tiene el siguiente proceso:

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:

Para la extraccin de la informacin de M_GEN se utiliza el QUERY:


SELECT CVE_GEN, NOM_GEN, CNT_GEN FROM
"CIDMEX_SALES"."DBO".M_GEN.

Se mapean los campos correspondientes entre ambas tablas.

Para la carga de la informacin al catlogo de MERCADOS se tiene el QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_MERCADOS(ID_GEN,
NOM_GEN, CNT_GEN) VALUES (?,?,?).

Con las reglas de negocio previamente descritas se tiene el proceso:

Proceso de extraccin y carga de informacin del catlogo Mercados.

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:

La extraccin de la informacin de la tabla M_PRE se considera el QUERY:


SELECT DISTINCT MOLECULA FROM "CIDMEX_SALES"."DBO".M_PRE.

Se requiere de un registro extra que contenga en la llave 0 y en la descripcin SIN


MOLECULA.

La insercin de los registros en el catlogo MOLECULA se tiene el QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_MOLECULA(ID_MOLECULA,
DESC_MOLECULA) VALUES (?,?).
Con las reglas de negocio previamente descritas se tiene el proceso:

Proceso de extraccin y carga de informacin del catlogo Molecula.

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:

Para la extraccin de la informacin de la tabla M_TIME se considera el QUERY:


SELECT CVE_ANIO, CVE_SEM, CVE_TRIM, CVE_MES, CVE_TIME,
DATO_VARDEP, MES_FUTURO FROM "CIDMEX_SALES"."DBO".M_TIME.

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, ?)).

Con las reglas anteriormente definidas se tiene el proceso:

Proceso de extraccin y carga de informacin del catlogo Periodos.

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:

Para la extraccin de la informacin de la tabla M_PRO se considera el QUERY:


SELECT CVE_PRO, NOM_PRO, CVE_LAB, CNT_PRO FROM
"CIDMEX_SALES"."DBO".M_PRO.

Se mapean los campos correspondientes entre ambas tablas.

Se debe agregar un registro nuevo donde se coloque la clave 99999 y la descripcin


SIN PRODUCTO.

Para la insercin de la informacin en el catlogo PRODUCTOS se tiene el QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_PRODUCTOS_MFP(ID_PRO,
NOM_PRO, ID_LAB, CNT_PRO) VALUES (?,?,?,?).

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:

Para la extraccin de la informacin de la tabla M_PRO se tiene el QUERY:


SELECT CVE_PRO, NOM_PRO, CVE_LAB, CNT_PRO FROM
"CIDMEX_SALES"."DBO".M_PRO.

Para la extraccin de la informacin de la tabla M_PRE se tiene el QUERY:


SELECT CVE_PRE, NOM_PRE, NOL_PRE, DES_PRE, CVE_PRO, CVE_CT,
CVE_GEN, CVE_FOR, CNT_PRE, ATB_PRE FROM
"CIDMEX_SALES"."DBO".M_PRE.

Para la extraccin de la informacin del catlogo MOLECULA se considera el QUERY:


SELECT ID_MOLECULA, DESC_MOLECULA FROM
MODELOS_COMERCIALES"."DBO".LT_MOLECULA.

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:

Para la extraccin de la informacin de la tabla M_SAL1 se tiene el QUERY:


SELECT CVE_SAL1, NOM_SALES, CVE_GRUPO, CNT_SAL1, ATB_SAL1 FROM
"CIDMEX_SALES"."DBO".M_SAL1.

Se mapean los campos correspondientes entre ambas tablas.

Para la carga de la informacin del catlogo SALES1 se considera el QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_SALES1(ID_SAL1,
NOM_SALES, ID_GRUPO, CNT_SAL1, ATB_SAL1) VALUES (?,?,?,?,?).

Con las reglas de negocio descritas para este proceso, se obtiene:

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:

Para la extraccin de la informacin de la tabla M_SAL2 se tiene el QUERY:


SELECT CVE_SAL2, NOM_SALES, CVE_GRUPO, CNT_SAL2, ATB_SAL2 FROM
"CIDMEX_SALES"."DBO".M_SAL2.

Se mapean los campos correspondientes entre ambas tablas.

Para la carga de la informacin del catlogo SALES2 se considera el QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_SALES2(ID_SAL2,
NOM_SALES, ID_GRUPO, CNT_SAL2, ATB_SAL2) VALUES (?,?,?,?,?).

Con las reglas de negocio descritas para este proceso, se obtiene:

Proceso de extraccin y carga de informacin del catlogo Sales2.

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 extraccin de la informacin de la tabla M_SAL3 se tiene el QUERY:


SELECT CVE_SAL3, NOM_SALES, CVE_GRUPO, CNT_SAL3, ATB_SAL3 FROM
"CIDMEX_SALES"."DBO".M_SAL3.

Se mapean los campos correspondientes entre ambas tablas.

Para la carga de la informacin del catlogo SALES3 se considera el QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_SALES3(ID_SAL3,
NOM_SALES, ID_GRUPO, CNT_SAL3, ATB_SAL3) VALUES (?,?,?,?,?).

Con las reglas de negocio descritas para este proceso, se obtiene:

Proceso de extraccin y carga de informacin del catlogo Sales3.

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.

Se tienen los siguientes procesos:

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:

La extraccin de la informacin de la tabla PERIODOS se realiza con el siguiente


QUERY:
SELECT ID_PERIODO, ID_ANIO, ID_SEM, ID_TRIM, ID_MES, ID_TIME,
DATO_VARDEP, MES_FUTURO, CONVERT(CHAR(16), FECHA, 20) FROM
"MODELOS_COMERCIALES"."DBO".LT_PERIODOS.

La extraccin de informacin de la tabla VALOR1 se realiza con el siguiente QUERY:


SELECT CVE_TIME, CVE_PRE, CVE_CT, CVE_GEN, CVE_PTO, DATO_UNIDAD1,
DATO_PESO1, DATO_UINV1, DATO_PINV1, CVE_PRO, CVE_LAB, CVE_COR
FROM "CIDMEX_SALES"."DBO".D_VALOR1.

El layout de la tabla TEMPORAL_VALORES es:

COLUMNA LLAVE TIPO LONGITUD

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
(?,?,?,?,?,?,?,?,?,?,?,?,?).

Derivado de las reglas descritas anteriormente se tiene el siguiente proceso:

Proceso de extraccin y carga de informacin a la FACT FT_Temporal_Valores.

Temporal Valores Por Estado.


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.

Las reglas de negocio para este proceso son:


La extraccin de la informacin de la tabla PERIODOS se realiza con el siguiente
QUERY:
SELECT ID_PERIODO, CONVERT(CHAR(16), FECHA,20) FROM LT_PERIODOS.

La extraccin de informacin de la tabla VALOR2 se realiza con el siguiente QUERY:

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.

El layout de la tabla TEMPORAL_VALORES_X_ESTADO es:

COLUMNA LLAVE TIPO LONGITUD

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

La carga de la informacin a la tabla TEMPORAL_VALORES_X_ESTADO se realiza


con el siguiente QUERY:
INSERT INTO
"MODELOS_COMERCIALES"."DBO"."FT_TEMP_VALORES_X_ESTADO"(ID_TIME,
ID_EST, ID_PRE, ID_CT4, ID_GEN, ID_PTO, DATO_UNIDAD2, DATO_PESO2,
DATO_UINV2, DATO_PINV2, ID_PRO, ID_LAB, ID_COR, FECHA) VALUES
(?,?,?,?,?,?,?,?,?,?,?,?,?,?).

106
Derivado de las reglas descritas anteriormente se tiene el siguiente proceso:

Proceso de extraccin y carga de informacin a la FACT FT_Valores_X_Estado.

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:

La extraccin de la informacin de la tabla de Temporal_Valores, estar delimitada por


3 QUERYS, uno para obtener la informacin del mes de carga, otro para la informacin
para el clculo MAT (12 meses atrs) y el ltimo para el clculo ACUMULADO (Enero
al mes de carga).

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.

QUERY para la obtencin de la informacin del mes de carga:

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'.

QUERY para la obtencin de la informacin valores MAT:


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>=
CONVERT(CHAR(4),(CONVERT(INTEGER,'#ANIO#')-1))+'-'+'#MES#'+'-01 00:00' AND
FECHA<= '#ANIO#'+'-'+'#MES#'+'-01'.

QUERY para la obtencin de la informacin valores ACUMULADO:


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
BETWEEN '#ANIO#'+'-'+'01'+'-01 00:00' AND '#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.

La seleccin de la informacin de la tabla PRESENTACIONES_PRODUCTOS se toma


en cuenta este 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,
ID_MOLECULA, NOM_PRO, ID_LAB, CNT_PRO, CT_PROD FROM
"MODELOS_COMERCIALES"."DBO".LT_PRESENTACIONES_PRODUCTOS.

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
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?).

Con las reglas de negocio descritas anteriormente se obtiene el siguiente proceso:

Proceso de extraccin y carga de informacin a la FACT FT_Valores.

FACT Valores Por Estado.


En este proceso se toman los valores existentes en la tabla de Temporal_Valores_X_Estado, para
generar el clculo MAT y ACUMULADO correspondiente al periodo. Para dicho proceso las reglas
de negocio son las siguientes:

La extraccin de la informacin de la tabla de Temporal_Valores_X_Estado, estar


delimitada por 3 QUERYS, uno para obtener la informacin del mes de carga, otro para
la informacin para el clculo MAT (12 meses atrs) y el ltimo para el clculo
ACUMULADO (Enero al mes de carga).

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.

QUERY para la obtencin de la informacin del mes de carga:


SELECT ID_TIME, ID_EST, ID_PRE, ID_CT4, ID_GEN, ID_PTO, DATO_UNIDAD2,
DATO_PESO2, DATO_UINV2, DATO_PINV2, ID_PRO, ID_LAB, ID_COR,
CONVERT(CHAR(16), FECHA, 20) FROM
"MODELOS_COMERCIALES"."DBO"."FT_TEMP_VALORES_X_ESTADO" WHERE
FECHA='#ANIO#'+'-'+'#MES#'+'-01'.

QUERY para la obtencin de la informacin valores MAT:


SELECT ID_TIME, ID_EST, ID_PRE, ID_CT4, ID_GEN, ID_PTO, DATO_UNIDAD2,
DATO_PESO2, DATO_UINV2, DATO_PINV2, ID_PRO, ID_LAB, ID_COR,
CONVERT(CHAR(16), FECHA, 20) FROM
"MODELOS_COMERCIALES"."DBO"."FT_TEMP_VALORES_X_ESTADO" WHERE
FECHA>= CONVERT(CHAR(4),(CONVERT(INTEGER,'#ANIO#')-1))+'-'+'#MES#'+'-01
00:00' AND FECHA<= '#ANIO#'+'-'+'#MES#'+'-01'.

QUERY para la obtencin de la informacin valores ACUMULADO:


SELECT ID_TIME, ID_EST, ID_PRE, ID_CT4, ID_GEN, ID_PTO, DATO_UNIDAD2,
DATO_PESO2, DATO_UINV2, DATO_PINV2, ID_PRO, ID_LAB, ID_COR,
CONVERT(CHAR(16), FECHA, 20) FROM
"MODELOS_COMERCIALES"."DBO"."FT_TEMP_VALORES_X_ESTADO" WHERE
FECHA BETWEEN '#ANIO#'+'-'+'01'+'-01 00:00' AND '#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.

La seleccin de la informacin de la tabla PRESENTACIONES_PRODUCTOS se toma


en cuenta este QUERY:

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.

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
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?).

Con las reglas de negocio descritas anteriormente se obtiene el siguiente proceso:

Proceso de extraccin y carga de informacin a la FACT FT_Valores_X_Estado.

111
Proceso Secuencial modulo MFPM.

A continuacin se muestra el proceso secuencial de ejecucin del modulo de MFPM.

Proceso secuencial del modulo MFPM.

4.3.1.4 Reporte Ejecutivo.

4.3.1.4.1 Anlisis Reporte Ejecutivo.


En la actualidad el anlisis de la informacin de forma rpida y prctica es una pieza crucial en las
empresas, dado que se requiere tomar decisiones en tiempos muy cortos. Derivado de esto INFA
para el anlisis de la informacin a nivel gerencial, utiliza un Reporte Ejecutivo, el cual le permite
conocer como se encuentra el rea de Comercial en los siguientes aspectos del rea:

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.

Visitas Mdicas Reporte Ejecutivo.

Administrativo de ventas

VisiMed VisiMed VisiMed VisiMed


Distrito VisiMed VisiMed VisiMed VisiMed Acom Acom Acom Acom VisSiarmac VisSiarmac VisSiarmac VisSiarmac

Gerente Objetivo % Real % Objetivo % Real % VisSiarmac Objetivo Objetivo

Representante

# % # % # % # % # % # %

En donde el primer rengln es el rea responsable de proporcionar la informacin, la segunda


columna son los campos que INFA requiere se coloquen como lo son:

 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 Reporte Ejecutivo.


Este se dividir en 2 secciones, el primero considerar las unidades vendidas y el segundo los
valores de las ventas reflejadas en pesos. Adems estos 2 rubros se dividen por los productos que
INFA considero importantes en el mercado (Sibutraminas, Sibutramina + Metmorfina y
Vasoprotectores). Toda la informacin mostrada en el reporte deber ser a nivel gerente y se
deber poder bajar la informacin a nivel representante.

ATB Unidades.

Ventas ATB Unidades


Sibutraminas +
Distrito Sibutraminas Metformina Vasoprotectores

Gerente OBJETIVO REAL OBJETIVO REAL OBJETIVO REAL

Representante # % # % # % # % # % # %

Para las columnas de Sibutraminas, tenemos el objetivo como subdivisin, en donde se


observar las unidades de venta objetivo para el ciclo promocional correspondiente, para
cada representante y por consecuencia para cada gerente. Como segunda subcolumna
est el porcentaje de participacin, el cual es la divisin de las unidades por cada
representante entre el total por la gerencia, y la el gerente entre el total de unidades de
todos los gerentes.

En las columnas de Sibutraminas + Metformina, tenemos el objetivo en donde se


observar las unidades de venta objetivo para el ciclo promocional correspondiente, para
cada representante y por consecuencia para cada gerente. Como segunda subcolumna
est el porcentaje de participacin, el cual es la divisin de las unidades por cada

114
representante entre el total por la gerencia, y la el gerente entre el total de unidades de
todos los gerentes.

Las columnas de Vasoprotectores, est el objetivo en donde se observar las unidades de


venta objetivo para el ciclo promocional correspondiente, para cada representante y por
consecuencia para cada gerente. Como segundo punto est el porcentaje de participacin,
el cual es la divisin de las unidades por cada representante entre el total por la gerencia, y
la el gerente entre el total de unidades de todos los gerentes.

ATB Valores.

Ventas ATB Valores


Sibutraminas +
Distrito Sibutraminas Metformina Vasoprotectores

Gerente OBJETIVO REAL OBJETIVO REAL OBJETIVO REAL

Representante # % # % # % # % # % # %

Para las columnas de Sibutraminas, tenemos el objetivo como subdivisin, en donde se


observar los valores de venta objetivo para el ciclo promocional correspondiente, para
cada representante y por consecuencia para cada gerente. Como segunda subcolumna
est el porcentaje de participacin, el cual es la divisin de los valores por cada
representante entre el total por la gerencia, y la el gerente entre el total de valores de todos
los gerentes.

En las columnas de Sibutraminas + Metformina, tenemos el objetivo en donde se


observar los valores de venta objetivo para el ciclo promocional correspondiente, para
cada representante y por consecuencia para cada gerente. Como segunda subcolumna
est el porcentaje de participacin, el cual es la divisin de los valores por cada
representante entre el total por la gerencia, y la el gerente entre el total de valores de todos
los gerentes.

Las columnas de Vasoprotectores, est el objetivo en donde se observar los valores de


venta objetivo para el ciclo promocional correspondiente, para cada representante y por
consecuencia para cada gerente. Como segundo punto est el porcentaje de participacin,
el cual es la divisin de los valores por cada representante entre el total por la gerencia, y
la el gerente entre el total de valores de todos los gerentes.

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:

Modelo de datos del modulo 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.

COLUMNA LLAVE TIPO LONGITUD

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.

COLUMNA LLAVE TIPO LONGITUD

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.

COLUMNA LLAVE TIPO LONGITUD

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.

COLUMNA LLAVE TIPO LONGITUD

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.

COLUMNA LLAVE TIPO LONGITUD

ID_ESTADO SI Integer 10

DESC_ESTADO NO VarChar 50

ID_CIUDAD_ZONAPOSTAL SI VarChar 50

DESC_CIUDAD_ZONAPOSTAL NO VarChar 50

ID_BRICK SI VarChar 255

DESC_BRICK NO VarChar 50

ID_FUERZA_VENTAS SI VarChar 50

FECHA_INICIO NO Char 16

FECHA_FIN NO Char 16

BRICKS_RUTAS.

COLUMNA LLAVE TIPO LONGITUD

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.

COLUMNA LLAVE TIPO LONGITUD

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.

COLUMNA LLAVE TIPO LONGITUD

ID_PRO SI VarChar 5

NOM_PRO NO VarChar 30

ID_LAB NO VarChar 3

CNT_PRO NO SmallInt 5

TIPO_VISITA.

COLUMNA LLAVE TIPO LONGITUD

ID_TIPO_VISITA SI BigInt 19

DESC_TIPO_VISITA NO VarChar 50

TIPO NO VarChar 255

SUBTIPO NO VarChar 255

120
CICLOS_PROMOCIONALES.

COLUMNA LLAVE TIPO LONGITUD

ID_CICLO SI BigInt 19

DESC_CICLO NO VarChar 250

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.

COLUMNA LLAVE TIPO LONGITUD

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.

COLUMNA LLAVE TIPO LONGITUD

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.

COLUMNA LLAVE TIPO LONGITUD

FECHA SI Char 16

ID_CICLO SI VarChar 255

ID_RUTA SI VarChar 255

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

ID_BRICK SI VarChar 255

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.

COLUMNA LLAVE TIPO LONGITUD

FECHA SI VarChar 50

ID_CICLO SI VarChar 255

ID_RUTA SI VarChar 255

ID_RUTA_CONS SI VarChar 15

ID_REPRE_CONS SI VarChar 50

ID_BRICK SI VarChar 255

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.

COLUMNA LLAVE TIPO LONGITUD

FECHA SI VarChar 50

ID_CICLO SI VarChar 255

ID_DISTRITO SI VarChar 50

ID_DISTRITO_CONS SI VarChar 50

ID_GTE_CONS SI VarChar 50

ID_RUTA SI VarChar 255

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.

COLUMNA LLAVE TIPO LONGITUD

FECHA SI VarChar 50

ID_CICLO SI VarChar 255

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

4.3.1.4.3 Construccin Reporte Ejecutivo.


La construccin de las FACTS y catlogos esta en base a las reglas de negocio expresadas por los
usuarios, as como tambin del modelo de datos descrito en el anlisis.

Fuerza de Ventas.
Para la creacin de este proceso de extraccin y carga de este catlogo, es necesario considerar
las siguientes reglas de negocio:

Para la extraccin de la tabla ALINEACION_FUERZAS, se considera el QUERY:


SELECT CLAVE, DESCRIPCION FROM
"INFAERP"."DBO"."ALINEACION_FUERZAS".

Para la insercin en el catlogo FUERZA_VENTAS se tiene el QUERY:


SELECT CLAVE, DESCRIPCION FROM
"INFAERP"."DBO"."ALINEACION_FUERZAS".

Siguiendo las reglas de negocios descritas anteriormente se tiene el proceso:

Proceso de extraccin y carga de informacin al catalogo Fuerza de Ventas.

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:

En la extraccin de la tabla ALINEACION_DISTRITOS se considera el QUERY:


SELECT CLAVE_NACIONAL, CONSECUTIVO, CLAVE, DESCRIPCION, NOMINA,
NOMBRE, CENTRO_COSTOS FROM
"INFAERP"."DBO"."ALINEACION_DISTRITOS".

Para la extraccin de la tabla GERENCIA_NACIONAL se considera el QUERY:


SELECT ID_CLAVE_NACIONAL, CLAVE_NACIONAL FROM
"LT_GERENCIA_NACIONAL".

Para la insercin al catlogo de DISTRITOS se tiene el QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_DISTRITOS(ID_GTE_NAL,
DESC_GTE_NAL, ID_DISTRITO_CONS, ID_DISTRITO, DESC_DISTRITO,
FECHA_INICIO) VALUES (?,?,?,?,?,CONVERT(SMALLDATETIME, ?)).

Con las reglas de negocio descritas anteriormente para la extraccin e insercin de datos, se tiene
el proceso:

Proceso de extraccin y carga de informacin al catalogo Distritos.

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:

En la extraccin de la tabla ALINEACION_RUTAS se considera el QUERY:


SELECT CLAVE_DISTRITO, RUTA, DESCRIPCION, NOMINA, NOMBRE,
CLAVE_FUERZA, CONSECUTIVO, CENTRO_COSTOS FROM
"INFAERP"."DBO"."ALINEACION_RUTAS".

Para la extraccin de la tabla LT_RUTAS se considera el 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.

Para la insercin al catlogo de REPRESENTANTES se tiene el QUERY:


INSERT INTO
"MODELOS_COMERCIALES"."DBO".LT_REPRESENTANTES(ID_RUTA_CONS,
DESC_RUTA, ID_RUTA, ID_REPRE_CONS, ID_NOMINA_REPRE, DESC_REPRE,
ID_CNTO_COSTOS_RUTA, ID_FUERZA_VENTAS, FECHA_INICIO) VALUES
(?,?,?,?,?,?,?,?,CONVERT(SMALLDATETIME, ?)).

Los registros que no sean insertados (rechazados) se deben insertar en un archivo


HASH.

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:

En la extraccin de la tabla ALINEACION_DISTRITOS se considera el QUERY:


SELECT CLAVE_NACIONAL, CONSECUTIVO, CLAVE, DESCRIPCION, NOMINA,
NOMBRE, CENTRO_COSTOS FROM
"INFAERP"."DBO"."ALINEACION_DISTRITOS".

Para la extraccin de la tabla LT_DISTRITOS se considera el QUERY:


SELECT ID_GTE_NAL, DESC_GTE_NAL, ID_DISTRITO_CONS, ID_DISTRITO,
DESC_DISTRITO, CONVERT(CHAR(16), FECHA_INICIO, 20), CONVERT(CHAR(16),
FECHA_FIN, 20) FROM "MODELOS_COMERCIALES"."DBO".LT_DISTRITOS.

Para la insercin al catlogo de LT_GERENTES se tiene el QUERY:


INSERT INTO
"MODELOS_COMERCIALES"."DBO".LT_GERENTES(ID_DISTRITO_CONS,
ID_DISTRITO, DESC_DISTRITO, ID_GTE_CONS, ID_NOMINA_GTE,

128
DESC_GERENTE, ID_CNTO_COSTOS_GTE, FECHA_INICIO) VALUES
(?,?,?,?,?,?,?,CONVERT(SMALLDATETIME, ?)).

Con las reglas de negocio descritas anteriormente se tiene el proceso:

Proceso de extraccin y carga de informacin al catalogo Gerentes.

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:

En la extraccin de la tabla ALINEACION_BRICKS se considera el QUERY:


SELECT BRICK, DESCRIPCION, CLAVE_FUERZA, RUTA, DIAS, PONDERADO
FROM "INFAERP"."DBO"."ALINEACION_BRICKS".

Para la extraccin de la tabla BRICK_ZIPCODE se considera el QUERY:


SELECT DISTINCT ID_BRICK, ID_BRICK_ENTERO, CIUDAD_ZONA_POSTAL,
ESTADO FROM ( SELECT C.ID_ZIPCODE, C.ZIPCODE, D.ID_BRICK, C.CITY_NAME
AS CIUDAD_ZONA_POSTAL, C.STATE_NAME AS ESTADO, D.ID_BRICK::INTEGER
AS ID_BRICK_ENTERO FROM ZIPCODE C INNER JOIN BRICK_ZIPCODE D ON
C.ZIPCODE = D.ZIPCODE ORDER BY C.STATE_NAME, C.ZIPCODE) A.

Para la insercin al catlogo de LT_BRICKS se tiene el QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".LT_BRICKS(ID_ESTADO,
DESC_ESTADO, ID_CIUDAD_ZONAPOSTAL, DESC_CIUDAD_ZONAPOSTAL,

129
ID_BRICK, DESC_BRICK, ID_FUERZA_VENTAS, FECHA_INICIO, FECHA_FIN)
VALUES (?,?,?,?,?,?,?,CONVERT(SMALLDATETIME,
?),CONVERT(SMALLDATETIME, ?)).

Con las reglas de negocio descritas anteriormente se tiene el proceso:

Proceso de extraccin y carga de informacin al catalogo Bricks.

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:

En la extraccin de la tabla LT_BRICKS se considera el QUERY:


SELECT ID_ESTADO, DESC_ESTADO, ID_CIUDAD_ZONAPOSTAL,
DESC_CIUDAD_ZONAPOSTAL, ID_BRICK, DESC_BRICK, ID_FUERZA_VENTAS,
CONVERT(CHAR(16), FECHA_INICIO, 20), CONVERT(CHAR(16), FECHA_FIN, 20),
CONVERT(INTEGER, ID_BRICK) AS BRICK_ENT FROM LT_BRICKS.

Para la extraccin de la tabla LT_REPRESENTANTES se considera el QUERY:


SELECT ID_RUTA_CONS, DESC_RUTA, ID_RUTA, ID_REPRE_CONS,
ID_NOMINA_REPRE, DESC_REPRE, ID_CNTO_COSTOS_RUTA,
ID_FUERZA_VENTAS, CONVERT(CHAR(16), FECHA_INICIO, 20),

130
CONVERT(CHAR(16), FECHA_FIN, 20) FROM
"MODELOS_COMERCIALES"."DBO".LT_REPRESENTANTES.

Para la extraccin de la tabla ALINEACION_BRICKS se considera el QUERY:


SELECT BRICK, DESCRIPCION, CLAVE_FUERZA, RUTA, DIAS, PONDERADO,
CONVERT(INTEGER, BRICK) AS BRICK_ENT FROM
"INFAERP"."DBO"."ALINEACION_BRICKS".

Para la insercin al catlogo de LT_BRICKS se tiene el QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".RT_BRICKS_RUTAS(ID_BRICK,
ID_RUTA_CONS, ID_RUTA, ID_REPRE_CONS, DIAS, PONDERADO,
FECHA_INICIO) VALUES (?,?,?,?,?,?,CONVERT(SMALLDATETIME, ?)).

Con las reglas de negocio descritas anteriormente se tiene el proceso:

Proceso de extraccin y carga de informacin al catalogo Bricks Rutas.

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:

Para la extraccin de Ciclos_Promocionales se tiene el QUERY:


SELECT ID_CICLO, DESC_CICLO, DESC_CICLO_FV, FECHA_INICIO, FECHA_FIN,
ANIO, ID_FUERZA_VENTAS FROM MODELOS_COMERCIALES"."DBO".
LT_CICLOS_PROMOCIONALES.

Para la insercin en el catlogo Ciclos_Periodos se tiene el QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".RT_CICLOS_PERIODOS
(ID_CICLO, DESC_CICLO, DESC_CICLO_FV, FECHA_INICIO_CICLO,
FECHA_FIN_CICLO, ANIO, ID_FUERZA_VENTAS) VALUES
(CONVERT(SMALLDATETIME, ?),?,?,?,?,?,?,?,?,?,?,?,?,?,?).

El ID_FUERZA_VENTAS se obtendr del campo DESC_CICLO_FV utilizando solo los


3 ltimos caracteres de este.

132
Con las reglas anteriores se obtiene el siguiente proceso:

Proceso de extraccin y carga de informacin al catlogo RT_CICLOS_PERIODOS.

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).

FACT ATB RE.


Para el llenado de esta FACT se requiere acceder a los datos contenidos en la FACT ATB, la cual
contiene valores y unidades por cada una de las clases teraputicas. El proceso de carga esta
dado por las siguientes reglas de negocio:

Para la extraccin de la tabla FT_ATB Valores y Unidades ACUMULADAS 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 BETWEEN
'#ANIO#'+'-'+'01'+'-01' AND '#ANIO#'+'-'+'#MES#'+'-01'.

Para la extraccin de la tabla FT_ATB Valores y Unidades MES 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='#ANIO#'+'-
'+'#MES#'+'-01'.

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.

La extraccin de la tabla CICLOS_PERIODOS se considera con 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.

Para la extraccin de la tabla BRICKS_RUTAS se considera el QUERY:


SELECT ID_BRICK, ID_RUTA_CONS, ID_RUTA, ID_REPRE_CONS, DIAS,
PONDERADO, CONVERT(CHAR(16), FECHA_INICIO, 20), CONVERT(CHAR(16),
FECHA_FIN, 20) FROM "MODELOS_COMERCIALES"."DBO".RT_BRICKS_RUTAS
WHERE FECHA_FIN IS NULL.
SE DEBE REALIZAR EL JOIN CON LOS CAMPOS FECHA Y BRICK.

Para la insercin al catlogo de LT_BRICKS se tiene el QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".FT_ATB_RE(FECHA, ID_CICLO,
ID_RUTA, ID_RUTA_CONS, ID_REPRE_CONS, ID_LABORATORIO,
ID_PRODUCTO, ID_PRE_PRODUCTO, ID_BRICK, UNIDADES_MES,
UNIDADES_ACUM, UNIDADES_MAT, VALORES_MES, VALORES_ACUM,
VALORES_MAT) VALUES (CONVERT(SMALLDATETIME,
?),?,?,?,?,?,?,?,?,?,?,?,?,?,?).

Con las reglas anteriores se tiene el proceso:

134
Proceso de extraccin y carga de informacin a la FACT FT_ATB_RE.

FACT Visitas RE.


Para el llenado de esta FACT se requiere acceder a los datos contenidos en la FACT
VISITAS_RESUMEN. El proceso de carga esta dado por las siguientes reglas de negocio:

Para la extraccin de la tabla FT_VISITAS_RESUMEN MES se considera el QUERY:


SELECT ID_CICLO, FECHA, ID_RUTA, ID_REPRE_CONS, ID_TIPO_VISITA,
M_VISITA_REALIZADA, M_VISITA_BASE, M_VISITA_REQUERIDA,
M_INCIDENCIAS, M_PLAN_TRABAJO, M_COBERTURA, M_VISITA_ACOMPANADA,
DIAS_CICLO FROM "MODELOS_COMERCIALES"."DBO".FT_VISITAS_RESUMEN
WHERE FECHA='#ANIO#'+'-'+'#MES#'+'-01'.

Para la extraccin de la tabla FT_VISITAS_RESUMEN ACUMULADAS se considera el


QUERY:
SELECT ID_CICLO, FECHA, ID_RUTA, ID_REPRE_CONS, ID_TIPO_VISITA,
M_VISITA_REALIZADA, M_VISITA_BASE, M_VISITA_REQUERIDA,
M_INCIDENCIAS, M_PLAN_TRABAJO, M_COBERTURA, M_VISITA_ACOMPANADA,
DIAS_CICLO FROM "MODELOS_COMERCIALES"."DBO".FT_VISITAS_RESUMEN
WHERE FECHA BETWEEN '#ANIO#'+'-'+'01'+'-01' AND '#ANIO#'+'-'+'#MES#'+'-01'.

Para la extraccin de la tabla FT_VISITAS_RESUMEN MAT se considera el QUERY:


SELECT ID_CICLO, FECHA, ID_RUTA, ID_REPRE_CONS, ID_TIPO_VISITA,
M_VISITA_REALIZADA, M_VISITA_BASE, M_VISITA_REQUERIDA,
M_INCIDENCIAS, M_PLAN_TRABAJO, M_COBERTURA, M_VISITA_ACOMPANADA,

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'.

Para la extraccin del catlogo 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.

Para la extraccin de la informacin del catlogo BRICKS_RUTAS se tiene el QUERY:


SELECT ID_BRICK, ID_RUTA_CONS, ID_RUTA, ID_REPRE_CONS, DIAS,
PONDERADO, CONVERT(CHAR(16), FECHA_INICIO, 20), CONVERT(CHAR(16),
"MODELOS_COMERCIALES"."DBO".RT_BRICKS_RUTAS.FECHA_FIN, 20) FROM
"MODELOS_COMERCIALES"."DBO".RT_BRICKS_RUTAS.

Para la extraccin de la informacin del catlogo de REPRESENTANTES se utiliza el


QUERY:
SELECT ID_RUTA_CONS, DESC_RUTA, ID_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.

El join entre las tablas se debe realizar con los campos: ID_CICLO y ID_RUTA.

Para la insercin de los datos en la FACT VISITAS_RE se tiene el QUERY:


INSERT INTO "MODELOS_COMERCIALES"."DBO".FT_VISITAS_RE(FECHA,
ID_CICLO, ID_RUTA, ID_RUTA_CONS, ID_REPRE_CONS, ID_BRICK,
ID_TIPO_VISITA, VISITA_REALIZADA_MES, VISITA_REALIZADA_ACUM,
VISITA_REALIZADA_MAT, VISITA_REQUERIDA_MES,
VISITA_REQUERIDA_ACUM, VISITA_REQUERIDA_MAT, VISITA_ACOMP_MES,
VISITA_ACOMP_OBJ_MES, VISITA_ACOMP_ACUM, VISITA_ACOMP_OBJ_ACUM,
VISITA_ACOMP_MAT, VISITA_ACOMP_OBJ_MAT) VALUES
(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?).

136
Con las reglas anteriormente definidas, se tiene el proceso:

Proceso de extraccin y carga de informacin a la FACT FT_VISITAS_RE.

FACT Sueldos Comisiones RE y FACT Sueldos Comisiones GTE RE.


Para la carga de estas 2 FACTS se realiza en un solo proceso, debido a que la informacin para
ambos casos se toma de la misma fuente de datos, que para los sueldos es la fuente ESAKTE, el
cual es un ERP de INFA, el cual no se determino entender por completo, sino solo lo necesario
para obtener los montos de los sueldos y comisiones obtenidos por cada unos de los
representantes y gerentes de INFA. Se toman de la fuente ESAKTE las tablas F6020, F9908,
F6001, de Modelos Comerciales REPRESENTANTES, GERENTES, RUTAS y
CICLOS_PERIODOS. Para realizar el proceso se tienen las reglas de negocio:

Para la extraccin de los datos de la tabla F6020 se tiene el QUERY:


SELECT QQ9TNO, QQ9AAC, QQ9NNO,
CAST(QQ9EMP AS INT), QQ9CON, QQ9IMP, QQ9MAC, QQ9CPD,
CASE
WHEN QQ9CPD ='D'
THEN (QQ9IMP * (-1))
ELSE QQ9IMP
END AS IMPORTE_SIGNO
FROM NM0101."DBO".F6020 , NM0101."DBO".F6003
WHERE QQ9CON = NM0101."DBO".F6003.QQ9CON AND QQ9CPD <> 'A'

137
AND (QQ9AAC = '#ANIO#' AND QQ9MAC = '#MES#') AND QQ9TNO <> 'B'.

Para la extraccin de los datos de la tabla F9908 se considera el QUERY:


SELECT TASIST, TAITAB, LTRIM(CONVERT(CHAR(1), TALLA)), TADESC, TADES2,
TACRIG FROM NM0101."DBO".F9908 WHERE TASIST = 60 AND TAITAB = 'TN' AND
TALLA <> ''.

Para la extraccin de datos de la tabla F6001 se tiene el QUERY:


SELECT CAST(QQ9EMP AS INT), QQ9DES FROM NM0101."dbo".F6001.

Para la extraccin de la tabla REPRESENTANTES se considera el QUERY:


SELECT ID_RUTA_CONS, DESC_RUTA, ID_RUTA, ID_REPRE_CONS,
CAST(ID_NOMINA_REPRE AS INT), 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.

Para la extraccin de la tabla GERENTES se considera el QUERY:


SELECT ID_DISTRITO_CONS, ID_DISTRITO, DESC_DISTRITO, ID_GTE_CONS,
ID_NOMINA_GTE, DESC_GERENTE, ID_CNTO_COSTOS_GTE,
CONVERT(CHAR(16), FECHA_INICIO, 20), CONVERT(CHAR(16), FECHA_FIN, 20)
FROM "MODELOS_COMERCIALES"."DBO".LT_GERENTES WHERE
(ID_DISTRITO_CONS = ? AND ID_DISTRITO = ?).

Para la extraccin de la tabla RUTAS se considera el 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 (ID_RUTA = ?).

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.

Los layout para la carga de las tablas histricas son:

138
SUELDOS Y COMISIONES GERENTES.

COLUMNA LLAVE TIPO LONGITUD

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

SUELDOS Y COMISIONES REPRESENTANTES.

COLUMNA LLAVE TIPO LONGITUD

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

Para la insercin en la tabla SUELDOS_COMISIONES_GERENTES:


INSERT INTO "HISTORIAL_SUELDOS_GTES"(FECHA, ANIO, MES, ID_DISTRITO,
ID_DISTRITO_CONS, ID_GTE_CONS, NOMINA, EMPLEADO, MONTO) VALUES
(?,?,?,?,?,?,?,?,?).
UPDATE "TEMPORAL_SUELDOS_GTES" SET SUELDO = ?, COMISION = ? WHERE
(FECHA = ? AND ANIO = ? AND MES = ? AND ID_DISTRITO = ? AND
ID_DISTRITO_CONS = ? AND ID_GTE_CONS = ? AND NOMINA = ? AND
EMPLEADO = ?).

Para la insercin en la tabla SUELDOS_COMISIONES_REPRESENTANTES


INSERT INTO "HISTORIAL_SUELDOS_REPRESENTANTES"(FECHA, ANIO, MES,
NOMINA, ID_DISTRITO, ID_DISTRITO_CONS, ID_GTE_CONS, ID_RUTA,
ID_RUTA_CONS, ID_REPRE_CONS, EMPLEADO, MONTO) VALUES
(?,?,?,?,?,?,?,?,?,?,?,?).
UPDATE "TEMP_SUELDOS_REPRESENTANTES" SET SUELDO = ?, COMISION = ?
WHERE (FECHA = ? AND ANIO = ? AND MES = ? AND NOMINA = ? AND
ID_DISTRITO = ? AND ID_DISTRITO_CONS = ? AND ID_GTE_CONS = ? AND
ID_RUTA = ? AND ID_RUTA_CONS = ? AND ID_REPRE_CONS = ? AND
EMPLEADO = ?).

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:

Para el clculo MAT 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>= CONVERT(CHAR(4),(CONVERT(INTEGER,'#ANIO#')-1))+'-
'+'#MES#'+'-01 00:00' AND FECHA<= '#ANIO#'+'-'+'#MES#'+'-01'.

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'.

Para el clculo MES 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 ANIO = '#ANIO#' AND MES = '#MES#'.

Para el clculo MAT de los sueldos y comisiones de la tabla


HISTORIAL_SUELDOS_REPRES se considera el QUERY:
SELECT FECHA, ANIO, MES, NOMINA, ID_DISTRITO, ID_DISTRITO_CONS,
ID_GTE_CONS, ID_RUTA, ID_RUTA_CONS, ID_REPRE_CONS, EMPLEADO,
SUELDO, COMISION FROM "HISTORIAL_SUELDOS_REPRES"
WHERE FECHA>= CONVERT(CHAR(4),(CONVERT(INTEGER,'#ANIO#')-1))+'-
'+'#MES#'+'-01' AND FECHA<= '#ANIO#'+'-'+'#MES#'+'-01'.

Para el clculo ACUMULADO de los sueldos y comisiones de la tabla


HISTORIAL_SUELDOS_REPRES se considera el QUERY:
SELECT FECHA, ANIO, MES, NOMINA, ID_DISTRITO, ID_DISTRITO_CONS,
ID_GTE_CONS, ID_RUTA, ID_RUTA_CONS, ID_REPRE_CONS, EMPLEADO,
SUELDO, COMISION FROM "HISTORIAL_SUELDOS_REPRES"
WHERE FECHA BETWEEN '#ANIO#'+'-'+'01'+'-01' AND '#ANIO#'+'-'+'#MES#'+'-01'.

Para el clculo MES de los sueldos y comisiones de la tabla


HISTORIAL_SUELDOS_REPRES se considera el QUERY:
SELECT FECHA, ANIO, MES, NOMINA, ID_DISTRITO, ID_DISTRITO_CONS,
ID_GTE_CONS, ID_RUTA, ID_RUTA_CONS, ID_REPRE_CONS, EMPLEADO,
SUELDO, COMISION FROM "HISTORIAL_SUELDOS_REPRES"
WHERE ANIO = '#ANIO#' AND MES = '#MES#'.
Se deben agrupar los valores por los campos: ID_DISTRITO, ID_DISTRITO_CONS,
ID_GTE_CONS, NOMINA, la FECHA debe ser la mxima, el SUELDO y las
COMISIONES se deben sumar.

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'.

Para la insercin en la tabla FT_SUELDOS_COMISIONES_GTE_RE se considera el


QUERY:
INSERT INTO FT_SUELDOS_COMISIONES_GTE_RE(ID_CICLO, FECHA,
ID_DISTRITO, ID_DISTRITO_CONS, ID_GTE_CONS, NOMINA, EMPLEADO,
SUELDO_MES, SUELDO_ACUM, SUELDO_MAT, INCENTIVO_MES,
INCENTIVO_ACUM, INCENTIVO_MAT) VALUES (?,CONVERT(SMALLDATETIME,
?),?,?,?,?,?,?,?,?).

Para la insercin en la tabla FT_SUELDOS_COMISIONES_GTE_RE se considera el


QUERY:
INSERT INTO FT_SUELDOS_COMISIONES_RE(FECHA, ID_CICLO, ID_DISTRITO,
ID_DISTRITO_CONS, ID_GTE_CONS, ID_RUTA, ID_RUTA_CONS,
ID_REPRE_CONS, SALARIO_MES, SUELDO_ACUM, SUELDO_MAT,
INCENTIVO_MES, INCENTIVO_ACUM, INCENTIVO_MAT) VALUES
(?,?,?,?,?,?,?,?,?,?,?).

Con las reglas de negocio descritas anteriormente, se tiene el proceso:

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.

Proceso secuencial del modulo Reporte Ejecutivo.

4.3.1.5 CLOSE-UP.

4.3.1.5.1 Anlisis Close-Up.


CLOSE-UP es un sistema que posibilita la integracin en un mismo ambiente de las bases de
datos de PRODUCTOS (Close-Up Market) y MEDICOS (Close-Up Pharma).

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.

Estas recetas se pueden agrupar a partir de los siguientes datos:

144
Laboratorios. Laboratorios de donde proceden los productos (INFA + la Competencia).

Productos. Estos se pueden agrupar por Marca, Presentacin y Fecha de Lanzamiento,


en forma independiente. De acuerdo a la Fecha de Lanzamiento, se pueden categorizar
en:
 Producto Nuevo.
 Concentracin y/o Forma Farmacutica Nueva.
 Productos o Presentaciones Discontinuados.
 Formas Farmacuticas. Presentacin del Frmaco.
 Especialidad. Que especialidad est prescribiendo.
 Orgenes. Tipos de Institucin, dnde se origina la receta, tales como
Consultorios, Cobertura de Seguro Social, Hospitales, Sanatorios.
 Clases Teraputicas. Hasta 4 niveles de detalle en total. Los productos de INFA
estn hasta el nivel 3.
 Molculas. Son las drogas o molculas principales del producto.
 Regiones. Divisin del pas en Ciudades y Zonas Postales (aplican slo al Distrito
Federal). A partir de stas, se puede llevar a cabo la integracin con los Mdicos,
slo que no es posible realizar la Integracin Total Pas, debido a que no todas las
ciudades estn incluidas (slo 42).
 Mercados.
 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).
 Mdico.
 A partir de los datos antes mencionados se pueden obtener en pantalla las
siguientes mtricas:
 Unidades Totales (Recetas Prescritas).
 % Penetracin.
 % de Participacin.
 Rankeos.

Entre otros datos que estn incluidos en la Auditora se encuentran:

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).

Los Mdicos auditados los clasifica en:


Visitados.
No Visitados.
Doble Contacto. Aquellos que son visitados por ms de 1 Representante.

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:

Unidades Totales (Recetas Prescritas).


% Penetracin.
% de Participacin.
Rankeos.

4.3.1.5.2 Diseo Close-Up.


Para la realizacin del diseo del modelo de Close-Up, se realizaron tareas previas, como lo fueron
el anlisis de la propia fuente de datos, pero no al punto de entenderla al 100%, sino solo de las
partes que se consideran importantes para el desarrollo del proyecto Inteligencia de Negocios en
INFA; as tambin como entrevistas con los usuarios finales para entender mejor sus necesidades.

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.

COLUMNA LLAVE TIPO LONGITUD


ID_AUDIT SI Int 6
DESC_AUDIT NO NVarChar 30

LT_REGION.

COLUMNA LLAVE TIPO LONGITUD


ID_REGION SI Int 5
DESC_REGION NO VarChar 30

LT_MERCADO_AUDIT.

COLUMNA LLAVE TIPO LONGITUD


ID_MERCADO SI Int 5
DESC_MERCADO NO VarChar 20

LT_CATEGORIA.

COLUMNA LLAVE TIPO LONGITUD


ID_CATEGORIA SI Int 5
DESC_CATEGORIA NO VarChar 20

LT_PERIODOS_AUDIT.

COLUMNA LLAVE TIPO LONGITUD


ID_PERIODO SI Int 5
FECHA_INCIO NO Date 10
FECHA_FIN NO Date 10
MES_ASOCIADO NO VarChar 5

149
LT_MEDICOS_AUDIT.

COLUMNA LLAVE TIPO LONGITUD


ID_PERIODO SI Int 5
ID_MEDICO SI Int 10
MATRICULA SI Varchar 20
ID_MERCADO SI Int 5
NOMBRE NO Varchar 50
DOMICILIO NO Varchar 50
LOCALIDAD NO Varchar 50
CP NO Varchar 10
ZONA_POSTAL NO Varchar 10
RECETAS NO Int 5

LT_MARCA_AUDIT.

COLUMNA LLAVE TIPO LONGITUD


ID_MARCACA SI Int 5
DESC_MARCA NO VarChar 30

LT_PRODUCTO_AUDIT.

COLUMNA LLAVE TIPO LONGITUD


ID_PRODUCTO SI Int 5
DESC_PRODUCTO NO VarChar 50
ID_MARCA NO Int 5

LT_PRESENTACION.

COLUMNA LLAVE TIPO LONGITUD


ID_PRESENTACION SI Int 5
ID_ESPECIALIDAD NO Int 5
ID_PRODUCTO NO Int 5
ID_REGION NO Int 5
CLASE_TERAPEUTICA NO VarChar 30

150
MOLECULA NO VarChar 100

FT_PHARMA.

COLUMNA LLAVE TIPO LONGITUD


ID_PERIODO SI Int 5
ID_MEDICO SI Int 5
MATRICULA SI Varchar 20
ID_ESPECIALIDAD SI Int 5
ID_CATEGORIA SI Int 5
ID_AUDIT SI Int 5
TOTAL_RECETAS NO Int 5

FT_PHARMA.

COLUMNA LLAVE TIPO LONGITUD


ID_PERIODO SI Int 5
ID_MARCA SI Int 5
ID_PRODUCTO SI Int 5
ID_PRESENTACION SI Int 5
UDES_TOTALES NO Int 5

4.3.1.5.3 Construccin Close-Up.


Para la construccin de los procesos ETL de Close-Up se considera el modelo de datos descrito en
el Anlisis de Close-Up. Los procesos cargan la informacin necesaria para llenar el modelo, en
este caso particular es el de Close-Up.

Clasificacin Audit.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:

Para la extraccin de la tabla CLASIFICACION_AUDIT, se considera el QUERY:


SELECT ID_CVE_CLAS, DESCRIPCION FROM
"CLOUP"."DBO"."CLASIFICACION_AUDIT".

151
Se mapean los campor de ambas tablas.

Para la insercin en el catlogo CLAS_AUDIT se tiene el QUERY:


INSERT INTO "INFAERP"."DBO".CLAS_AUDIT(ID_AUDIT, DESC_AUDIT) VALUES
(?,?).

Siguiendo las reglas de negocios descritas anteriormente se tiene el proceso:

Proceso de extraccin y carga de informacin al catalogo Clasificacin Audit.

Regin.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:

Para la extraccin de la tabla REGION, se considera el QUERY:


SELECT ID_REGION, DESCRIPCION FROM " CLOUP "."DBO"."REGION".

Se mapean los campor de ambas tablas.

Para la insercin en el catlogo LT_REGION se tiene el QUERY:


INSERT INTO "INFAERP"."DBO".LT_REGION(ID_REGION,DESC_REGION) VALES
(?,? ).

Siguiendo las reglas de negocios descritas anteriormente se tiene el proceso:

Proceso de extraccin y carga de informacin al catalogo Clasificacin Regin.

152
Mercado Audit.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:

Para la extraccin de la tabla MERCADOS, se considera el QUERY:


SELECT "ID_MERCADO", "DESCRIPCION" FROM " CLOUP "."DBO"."MERCADOS".

Se mapean los campor de ambas tablas.

Para la insercin en el catlogo LT_MERCADO_AUDIT se tiene el QUERY:


INSERT INTO "INFAERP"."DBO".LT_MERCADO_AUDIT (ID_MERCADO,
DESC_MERCADO) VALUES (?,?).

Siguiendo las reglas de negocios descritas anteriormente se tiene el proceso:

Proceso de extraccin y carga de informacin al catalogo Merado Audit.

Categoria.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:

Para la extraccin de la tabla CATEGORIA, se considera el QUERY:


SELECT "ID_CATEGORIA", "DESCRIPCION" FROM " CLOUP
"."DBO"."CATEGORIA".

Se mapean los campor de ambas tablas.

Para la insercin en el catlogo LT_CATEGORIA se tiene el QUERY:


INSERT INTO "INFAERP"."DBO".LT_CATEGORIA (ID_CATEGORIA,
DESC_CATEGORIA) VALUES (?,?).

Siguiendo las reglas de negocios descritas anteriormente se tiene el proceso:

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:

Para la extraccin de la tabla PERIODOS, se considera el QUERY:


SELECT ID_PERIODO, FECHA_INCIO, FECHA_FIN, MES_ASOCIADO FROM
"CLOUP "."DBO"."PERIODOS".

Se mapean los campor de ambas tablas.

Para la insercin en el catlogo LT_PERIODOS_AUDIT se tiene el QUERY:


INSERT INTO "INFAERP"."DBO".LT_PERIODOS_AUDIT (ID_PERIODO,
FECHA_INICIO, FECHA_FIN, MES_ASOCIADO) VALUES (?,?,?,?).

Siguiendo las reglas de negocios descritas anteriormente se tiene el proceso:

Proceso de extraccin y carga de informacin al catalogo Periodos Audit.

Mdicos Audit.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:

Para la extraccin de la tabla MEDICOS, se considera el QUERY:

154
SELECT ID_PERIODO, ID_MEDICO, MATRICULA, ID_MERCADO, NOMBRE,
DOMICILIO, LOCALIDAD, CP, ZONA_POSTAL, TOTAL_RECETAS FROM
"CLOUP"."DBO"."MEDICOS".

Para la insercin en el catlogo LT_MEDICOS_AUDIT se tiene el QUERY:


INSERT INTO "INFAERP"."DBO".LT_PERIODOS_AUDIT (ID_PERIODO, ID_MEDICO,
MATRICULA, ID_MERCADO, NOMBRE, DOMICILIO, LOCALIDAD, CP,
ZONA_POSTAL, TOTAL_RECETAS) VALUES (?,?,?,?,?,?,?,?,?,?).

Siguiendo las reglas de negocios descritas anteriormente se tiene el proceso:

Proceso de extraccin y carga de informacin al catalogo Medicos Audit.

Marca Audit.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:

Para la extraccin de la tabla MARCA, se considera el QUERY:


SELECT ID_MARCA, DESCRIPCION FROM "CLOUP"."DBO"."MARCA".

Para la insercin en el catlogo LT_MARCA_AUDIT se tiene el QUERY:


INSERT INTO "INFAERP"."DBO".LT_MARCA_AUDIT(ID_MARCA, DESC_MARCA)
VALUES (?,?).

Siguiendo las reglas de negocios descritas anteriormente se tiene el proceso:

Proceso de extraccin y carga de informacin al catalogo Marca Audit.

155
Producto Audit.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:

Para la extraccin de la tabla PRODUCTOS, se considera el QUERY:


SELECT ID_PRODUCTO, DESCRIPCION, ID_MARCA FROM
"CLOUP"."DBO"."PRODUCTOS".

Se mapean los campor de ambas tablas.

Para la insercin en el catlogo LT_PRODUCTO_AUDIT se tiene el QUERY:


INSERT INTO "infaerp"."dbo".lt_producto_audit(ID_PRODUCTO, DESC_PRODUCTO,
ID_MARCA) VALUES (?,?,?).

Siguiendo las reglas de negocios descritas anteriormente se tiene el proceso:

Proceso de extraccin y carga de informacin al catalogo Producto Audit.

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:

Para la extraccin de la tabla PRESENTACION, se considera el QUERY:


SELECT ID_PRESENTACION, ID_ESPECIALIDAD, ID_PRODUCTO,
CLASE_TERAPEUTICA, MOLECULA, ID_REGION FROM
"CLOUP"."DBO"."PRESENTACION".

Se mapean los campor de ambas tablas.

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 (?,?,?,?,?,?).

Siguiendo las reglas de negocios descritas anteriormente se tiene el proceso:

Proceso de extraccin y carga de informacin al catalogo Presentacin Audit.

FACT Pharma.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:

Para la extraccin de la tabla MEDICOS_AUDIT, se considera el QUERY:


SELECT ID_PERIODO, ID_MARCA, ID_PRODUCTO, ID_PRESENTACION,
UDES_TOTALES FROM "INFAERP"."DBO".LT_MEDICOS_AUDIT.

Para la insercin en el catlogo FT_PHARMA se tiene el QUERY:


INSERT INTO "INFAERP"."DBO".FT_PHARMA(ID_PERIDO, ID_MEDICO,
MATRICULA, ID_ESPECIALIDAD, ID_CATEGORIA, ID_AUDIT, TOTAL_RECETAS)
VALUES (?,?,?,?,?,?).

Siguiendo las reglas de negocios descritas anteriormente se tiene el proceso:

Proceso de extraccin y carga de informacin a la FACT FT_PHARMA.

157
FACT Market.
Para la creacin de este proceso de extraccin y carga, es necesario considera las siguientes
reglas de negocio:

Para la extraccin de la tabla MARKET, se considera el QUERY:


SELECT ID_PERIODO, ID_MARCA, ID_PRODUCTO, ID_PRESENTACION,
UDES_PERIODO, FROM " CLOUP "."DBO"."MARKET".

Se mapean los campor de ambas tablas.

Para la insercin en el catlogo FT_PHARMA se tiene el QUERY:


INSERT INTO "INFAERP"."DBO".FT_MARKET(ID_PERIODO, ID_MARCA,
ID_PRODUCTO, ID_PRESENTACION, UDES_TOTALES) VALUES (?,?,?,?,?).

Siguiendo las reglas de negocios descritas anteriormente se tiene el proceso:

Proceso de extraccin y carga de informacin a la FACT FT_MARKET.

Proceso Secuencial Close Up.


A continuacin se muestra la imagen del proceso de ejecucin secuencial del modulo Close Up

Proceso secuencial del modulo Close Up.

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.

Ventana de inicio SQL Server 2005.

159
2. En la carpeta Bases de Datos, seleccionar la opcin restaurar Base de Datos.

Ventana de seleccin de Base de Datos.

3. Capturar el nombre de Base de datos nueva. Se recomienda MODELOS_COMERCIALES.


a. Seleccionar la opcin From device.
b. Agregar un nuevo archivo [Add].
c. Ubicar el archivo de respaldo y dar clic a OK.

Ventana de seleccin de la Base de Datos.

4. Activar casilla de respaldo correspondiente.

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.

Crear Conexin a Base de Datos va DSN.


El desarrollo de los procesos de ETL se realizo con base a un servidor de base de datos SQL
Server 2005. Para acceder a los datos se utilizan controladores ODBC, partiendo del supuesto que
la instalacin se hace en un servidor Windows.

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:

NOMBRE DSN BASE DE DATOS


MFPM Cidmex_Sales
INFAERP INFAERP
ESAKTE ESKATE

161
SATA SATA

1. Entrar a las Herramientas Administrativas y abrir Orgenes de datos (ODBC).

Ventana de Herramientas Administrativas.

2. En la pestaa DSN de sistema, clic a [Agregar] para crear uno nuevo.

Ventana de Administrador de orgenes de datos ODBC.

162
3. Seguir los pasos del asistente.

Ventanas del asistente de creacin de un nuevo origen ODBC.

Ventanas del asistente de creacin de un nuevo origen ODBC.

163
Ventanas del asistente de creacin de un nuevo origen ODBC.

Ventana del asistente de creacin de un nuevo origen ODBC.

De la misma forma se deben crear los DSN para todas las fuentes de informacin.

Instalacin del Proyecto.


Para la instalacin de este proyecto, se requiere de un servidor, el cual tenga instalada la licencia
de DataStage 7.5.* , este servidor lo proporciona INFA.

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.

Creacin del Proyecto.


1. Abrir el Administrator de DataStage

Ventana de inicio de DataStage Administrator.

2. En la pestaa Projects agregar un nuevo proyecto [Add]. Se recomienda el nombre


INFA_COMERCIAL.

Ventana para crear un nuevo proyecto.

165
3. Determinar las propiedades de nuestro nuevo proyecto [Properties]

Ventana de propiedades del proyecto.

Instalacin del Respaldo de la Aplicacin.


Para este paso se utiliza el modulo Manager.

1. Es necesario un usuario con privilegios de administrador del equipo. Seleccionar el proyecto


que se creo en los pasos previos.

Ventana de inicio de DataStage Manager.

2. En el men Import, seleccionar la opcin DataStage Components.

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).

Ventana de importacin proyectos.

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.

Modificar Procesos ETL.


Para poder realizar cualquier modificacin a los procesos es necesario realizar mediante el
Designer, quien es la herramienta propia de DataStage para el desarrollo y modifcacin de los
procesos.

1. Es necesario un usuario de DataStage que tenga privilegios para accesar a la aplicacin y


modifcar los procesos. Seleccionar el proyecto que se cre y con el cual se trabajara.

Ventana de inicio DataStage Designer.

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.

Ventana de seleccin de procesos.

Para efectos de ejemplo abrimos ATB (existente).

Ventana de seleccin de procesos.

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.

Ventana principal de DataStage Designer con un proceso abierto.

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.

La ventana que nos muestra es la que sigue:

Ventana de propiedades de un proceso.

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.

Ventana de detalle de propiedades de un stage transformer.

Ventana de detalle de propiedades de un stage de base de datos.

172
Ejecutar un Proceso ETL.

Para esta seccin se utiliza el modulo Director.

1. Es necesario un usuario con privilegios necesarios de ejecucin. Seleccionar el proyecto que


se contiene el proceso en cuestin y con el cual se trabajara.

Ventana de inicio de DataStage Adinistrator.

2. Ubicar el Job a ejecutar y dar clic al botn Run Now.

Ventana principal de DataStage Administrator.

173
3. Se puede monitorear el resultado de la ejecucin mediante el Log correspondiente.

Ventana de monitoreo de proesos.

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

Business Intelligence, Ibermtica,


http://74.125.93.132/search?q=cache:mUMkXcaXDZoJ:www.ibermatica.com/publicaciones/Busines
sIntelligence.pdf/download+informacion+con+business+intelligence&cd=7&hl=es&ct=clnk&gl=mx.
Recuperado en Mayo 2008.

La Inteligencia de Negocios, http://www.gopac.com.mx/bi/index.htm. Recuperado Febrero 2006.

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

El hashing es similar al indexamiento en el sentido de asociacin entre llaves y direcciones


relativas de registros
Pero difiere de los ndices en 2 cosas:

 La direccin generada por Hash suele ser aleatoria (random).


 No hay una relacin aparente entre la llave y la localizacin del registro
correspondiente
 El Hash permite que 2 llaves puedan producir la misma salida --> direcciones iguales, a
esto se le conoce como "colisin". Existen distintos grados de colisiones como se
muestra en la siguiente figura:

177
ANEXOS.
Anexo 1. Carta de entrega de proyecto.

Intelligence Consulting Group


Servicios Profesionales en Inteligencia de Negocios
Distribuidor Certificado de COGNOS

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

Cada uno de estos mdulos se entrega en su totalidad en el servidor de produccin, dejando la


responsabilidad de la integridad y ejecucin de los procesos, en el personal de sistemas de la
empresa INFA.

____________________________ _______________________________
Gerente de proyecto BIS Soluciones. Gerente de Sistemas INFA.

178

También podría gustarte