En esta oportunidad les brindare un ejemplo de creación de un cubo de datos para la generación de informes dinamicos en SQL Server.
Dado la problematica vivenciada en la Alcaldia San Antonio del SENA y despues de crear el diseño logico de las Secretarias se determina si hay relación entre los datos de las tablas involucradas, en esta oportunidad hay relaciones entre quienes asisten a un evento de la secretaría de recreación y deportes y quienes son atendidos en unidades de urgencias.
En esta oportunidad se tiene en cuenta: el mes, el rango de edad y el tipo de evento realizado.
Teniendo en cuenta que la recolección de información se realiza de 2 Base de Datos diferentes que son de la Secretaria de Recreación y Deporte y la Secretaria de Salud se anexa a la tabla a continuación una columna más que indica a que base de datos hace referencia la tabla.
Origen | Nombre de la Tabla | Numero de Campos | Numero de Relaciones |
SecretariaDeporte | Evento | 5 | 3 |
SecretariaDeporte | Participante | 6 | 1 |
SecretariaDeporte | ParticipanteEvento | 4 | 2 |
SecretariaDeporte | Tipo | 2 | 1 |
SecretariaSalud | Persona | 7 | 2 |
SecretariaSalud | HistorialPersona | 7 | 4 |
SecretariaSalud | Eps | 4 | 3 |
SecretariaSalud | ServiciosEps | 5 | 2 |
SecretariaSalud | TipoServicio | 2 | 1 |
Para la consolidación de esta información se hizo necesario relacionar la tabla Persona de SecretariaSalud puesto que en el diseño de la base de datos la persona no se identifica por el número de identificación sino por un ID único generado al momento de su registro en el sistema razón por la cual se requiere homologar los mismos para la consolidación de la información.
Entrando en acción se crea una Bodega de Datos a la que renombra Cubo1 y contendrá las tablas con la información relacionada:
Luego se procede a realizar una gestión de migraición de datos de las tablas involucradas en las creadas en Cubo 1.
Este proceso se realiza con Insert’s Selects en lenguaje SQL.
— Script de creacion de tablas e insercion de registros en la Bodega de Datos Cubo1
— Solucion del Caso de Estudio # 2
— Creacion de la tabla Evento
SELECT * INTO Evento FROM SecretariaDeporte.dbo.Evento
— Creacion de la tabla Participante
SELECT * INTO Particiante FROM SecretariaDeporte.dbo.Participante
— Creacion de la tabla ParticipanteEvento
SELECT * INTO ParticipanteEvento FROM SecretariaDeporte.dbo.ParticipanteEvento
— Creacion de la tabla TipoEvento
SELECT * INTO TipoEvento FROM SecretariaDeporte.dbo.Tipo
— Creacion de la tabla Persona/Paciente/Afiliado SGSSS
SELECT * INTO Paciente FROM SecretariaSalud.dbo.Persona
— Creacion de la tabla HistorialPaciente
SELECT * INTO HistorialPaciente FROM SecretariaSalud.dbo.HistorialPersona
— Crecion de la tabla Eps
SELECT * INTO Eps FROM SecretariaSalud.dbo.Eps
— Creacion de la tabla ServicioEps
SELECT * INTO ServicioEps FROM SecretariaSalud.dbo.ServicioEps
— Creacion de la tabla TipoServicio
SELECT * INTO TipoServicio FROM SecretariaSalud.dbo.TipoServicio
Luego identificamos los campos, metadatos y datos que se requieren para la construcción de las Dimensiones del Cubo y se procede a la construcción del modelo fisico del cubo con sus tablas y relaciones para ello usamos el modelo tipo estrella para la construcción del Cubo.
Dimensión | Tablas Fuentes | Campos Extraídos de las Tablas |
d_Servicio | HistorialPersona, Eps, ServicioEps, TipoServicio | idPersona, FechaIngreso, FechaRetiro, Descripcion(Eps), Descripcion(TipoServicio) |
d_Evento | Evento, ParticipanteEvento, Tipo | idParticipante, FechaInicio, FechaFin, Descripcion(Tipo) |
d_Participante | Participante, Persona | idParticipante, idPersona, NombreParticipante, ApellidoParticipante, NumeroIdentificacion, EdadParticipante |
Creada la estructura abriendo Excel realizamos conexión al motor SQL exportamos los informes.
El Proceso realizado en el marco de la tecnologia Business Intelligence tambien se puede realizar de otra manera y es usando la herramienta SQL Server Bussiness Intelligence Development.