Open Business Intelligence

La red del Business Intelligence

Hola estimados amigos de Red Open BI, que tal.

Bueno les comento que actualmente estoy realizando mi proyecto de Tesis, en el cual me he involucrado con los BI,pero el tema central de mi proyecto es de mejorar la calidad de datos en un Data Warehouse, para cual se propuso aplicar la técnica de Data Profiling para alcanzar dicho objetivo, para lo cual estoy buscando informacion de cómo se aplica esta tecnica, y si existen ciertas reglas que seguir para la aplicacion de la misma.

 

Espero me puedan ayudar, les estare agradecido.

 

Salu2

Visitas: 1822

Responde a esto

Respuestas a esta discusión

Saludos. Utiliza Talend, es una herramienta Open Source que te apoya en el tema de data quality, elaboracion de metadatos, reglas de validacion de datos, etc... creo que por ahi va la solución. Por ultimo te menciono que Talend tiene bastante documentacion para el tema en su propia página http://www.talend.com. Yo lo utilicé para sacar reportes estadisticos de la calidad de datos en ciertos repositorios.

Hola Carlos que tal, antes que nada gracias por el interés, he revisado la herramienta que me mencionas y esta interesante, pero ademas de ello buscaba algo teorico donde indique que parametros hay que seguir para cumplir con la Calidad de Datos en un Data Warehouse, por decirlo de otra forma de "reglas" que se apliquen para lograr dicho proposito, reglas que se puedan aplicar a distintas herramientas.

 

Mi pregunta tambien va por ahi, osea si existen esas "reglas" que nos indiquen como mejorar la calidad de DAtos.

 

Gracias por su Interes. Salu2

Hola Jose... la verdad lo que me mencionas es como hablar de un PMBOK ''PMP' para Business Intelligence. Respecto a ello sólo te puedo decir que en la página de Ralph Kimball http://www.kimballgroup.com encontraras algunos materiales que te ayudaran en el tema. Ahora si deseas tener más "Tips" sobre el tema te comento que ello lo tendrás conforme pongas en marcha una solución de BI y para ello debes establecer reglas... P.E Los aplicativos OLTP deben validar datos nulos, la integridad de Base de Datos deben ser correctas, etc... En resumen. Las buenas prácticas y consejos los puedes encontrar en los materiales de que Kimball propone en su página, y las buenas prácticas al implementar una solución BI depende de cómo este definido los niveles del servicio SLA con los usuarios finales y los aplicativos, si te das cuenta es todo un trabajo pesado pero vale la pena cuando ves los resultados, en mi caso se ha logrado llegar hasta ciertos acuerdos sobre algunos sistemas OLTP que son las fuentes del Datawarehose y se han establecido reglas para las cargas de los cubos p.e "la carga se hará diaria en 3 ocasiones y una vez cada fin de semana logrando actualizar la carga semanal, para contemplar modificación realizadas de la semana"... Espero que te haya ayudado en algo... creo que Talend sólo es una herramienta en todo este mundo... Nos vemos suerte.

PDT: si te lees algunos de los materiales te pasas algún buen extracto, sólo pude leer algunas cosas.

Buenos dias estimado Carlos, que tal, he retomado mi proyecto y aun estoy con la duda sobre la calidad de datos, me gustaria poder recibir tu ayuda para sacar adelante este proyecto de suma importancia para mi.

Espero sinceramente que pueda recibir tu ayuda, te estaré bien agradecido por ello.

Saludos

Hola que tal José, bueno espero tus preguntas... y me gustaría ayudarte ya que estoy también interesado en materializar el trabajo que había realizado al respecto, bueno actualmente me encuentro en otros proyectos de desarrollo pero aun tengo las cosas que he tratado cuando venia realizando aplicaciones para BI. Suerte en tu proyecto y gustoso a ayudarte.

Buenas noches Carlos, desde ya, te agradezco mucho de antemano por darme una mano en esto.

 

Mira yo ya he leído algo en el libro de ETL Data Warehouse Toolkit de Kimball, la parte que corresponde a Calidad, en la cual mencionan 4 aspectos importantes para poder decir que los datos tiene calidad (o algo similar), los cuales son: Datos no ambiguos, completos, consistentes y que sean correctos. . . en lo teórico creo tener bien claro lo que busco con el Proyecto, lo que ando medio perdido es cómo, o que pasos tendría que seguir para poder realizar mi pequeño Data Warehouse, asegurando la calidad de su data.

 

A modo de contrastar hipótesis, ya he realizado un pequeño ETL, creado cubos y también he creado mis reportes usando el Reporting Services, todo bien, pero esta etapa lo he realizado sin tener en cuenta la calidad de datos, con la finalidad de realizar otro similar, pero usando técnicas de calidad de datos, pudiendo de esta manera contrastar las 2 caras de la moneda y verificar si realmente se mejoro o no la calidad de datos en el repositorio.

 

Ante lo que te he mencionado arriba, no sé cómo podría hacer para corregir los datos duplicados, ambiguos, inconsistentes, de tal forma que mi Data sea una data limpia y de calidad.

 

Estaré atento a tu apoyo y/o recomendaciones. gracias nuevamente.!

Ok, entonces hagamos paso a paso este proceso... Te contare un caso y luego iremos mas adelante desmenuzando las cosas y en la parte de la herramienta no tengo problemas en ayudarte, lo que si no recuerdo muy bien era Kettle pero en esta primera etapa para poder concretar correctamente un trabajo reemplazaremos la herramienta ETL para poder realizarlo vía SQL con el fin de reforzar dichos aspectos.

Ejemplo un caso básico: Tengo una BD Oracle y una base de datos MSQL Server 2000, en dichas DB tengo un modelo relaciona donde tengo las siguientes tablas (usuarios, registros, empresas, movimientos, detalles, etc). Primero antes de empezar a hablar de calidad de datos o X cosas, hay que definir ¿que le interesa ver al usuario final o al gerent. interesado en el proyecto? esto se responde definiendo la GRANULARIDAD "alcanse de vision de los datos" de tu datamart  (datamart por que primeramente  se construira algo especifico que por definicion es un datamart, datawarehuse es basicamente igual al conjunto de datamarts).

Entonces en esta etapa pro ejemplo supon que la tabla registros sea registro de una cierta venta donde tenemos N productos y un monto dado. Por ejmplo decimos que nuestra granularidad viene definido segun el siguiente enunciado... "Quiero ver la cantidad de productos vendido desde DIA, por empresas y usuarios" es algo basico pero ideal para empezar, entonces analizando tendremos basicamente 4 dimensiones a definir: dimension EMPRESA, dimension USUARIO, dimension PRODUCTO, dimension FECHA (ya que el usuario pido visualizar productos en ciertos tiempos definiendo como lo básico un dia), y por su puesto la tabla FACT. Ahora analizaremos y veremos que atributos debemos especificar en nuestro modelo dimensional, podemos decir que nuestra version incial viene a ser la siguiente: dimension EMPRESA (id_empresa tipo dato secuencial, codigo_empresa, nombre_corto_empresa, nombre_largo_empresa, fecha_de_carga), USUARIOS  (id_usuarios tipo secuencial, codigo_usuario, nombre_usuario, fecha_de_carga), PRODUCTO (id_producto tipo secuencial, codigo_producto, nombre_producto, fecha_de_carga), dimension FECHA (id_fecha tipo secuencial, numero_año : entero, numero_mes : entero, numero_dia : entero, nombre_corto_mes : cadena, nombre_largo_mes : cadena, fecha_exacta : tipo DATE, fecha_de_carga ) finalmente la tabla FACT (id_empresa : secuencial, id_usuario, id_producto, id_fecha, medidad_cantidad : entero largo, fecha_de_carga).

Bueno espero que puedas modelarlo en Erwin por ejemplo y generar tu modelo dimensional, algunas observaciones a tener en cuenta.... 1- todos los ID son secuenciales (Oracle), autoimcrement (mysql), identiy (MSQL server), segun el tipo de BD donde queremos desplegar el modelo (recordemos que en esta primer trabajo tratabajaremos bajo un modelo ROLAP, ya que la bas al final seru una DB Relacional (oracle, postgrade, mysql, sqlserver, etc) y no multidimensional como lo es LucidBD, Palo, etc).  "

2.- es MUY importante tener en consideracion la fecha de carga de cada registro en todas las dimensiones ya que ello son servira cuando creamos definir las cargas automaticas del datamart.

3. un ejemplo de registro de la dimension fecha seria :  ID = 1, numero_dia=1, numero_mes=3, numero_año=2012, nombre_mes_corto = "MAR", nombre_mes_largo = "MARZO", fecha_exacta = "01032012", fecha_carga = "24082012".

Con todo lo anterior ya tenemos listo el modelo y proseguiremos con el analisis de la datos, es decir ver la calidad de datos.... Bueno hasta aca quiero saber si claro.... si requieres ayuda en modelar el problema me escribes, si tenemos esto bien claro sabemos a donde vamos, ah olvide mencionar los ejemplos de por que considero de esa forma los atributos del modelo pero el beneficio de eso lo veras cuando construyamos dashboard con CDF Community Dashboard Framework.

Algo que te gustara es que todo lo que puedo explicarte sera con software libre ya que este no tiene nada que envidiar a las versiones comerciales, particularmente creo que pentaho tiene todo lo necesario para ser frente a otras soluciones, s cuestion de dedicarle tiempo y manipular correctamente la herramienta.

Espero que te valla bien y si tienes sugerencias no tengo problema en responderte.

Estimado Carlos, que tal buenas noches..

 

Gracias por la ayuda que me estas brindando, te comento que ya he modelado lo que me mencionaste líneas arriba, entiendo a la perfección todo lo que me explicaste en tu respuesta, te comento que considerar eso de la fecha_carga es nuevo para mi, en el diseño relacional que hice para mi DW no había considerado eso, pero después de ver la justificación veo su importancia.

Después de modelar este diseño, creo que podemos seguir con el siguiente paso, estaré atento a tu respuesta.

 

Muchass gracias estimado!. 

Saludos Jose, disculpa que demore en responder pero de verdad ando corto de tiempo... Bueno seria bueno que una vez que ya tengas tu modelo (sea para el caso que desees aplicarlo) realizes la ETL sea mediante Kettle o full SQL, yo te recomendaria ANSI SQL (lo mas puro posible, ya que tendras que ejecutarlo en una BD relacional ya que todavia no hemos visto BD dimensionales ademas que tus fuentes viene a ser diversos motores de BD). Quiero saber si tienes repositorios de datos con el cual trabajar ya sea de desarrollo o generados por alguna herramienta para poder realizar el caso practico. Espero te respuesta ya que ahora interesa definir la ETL. Mucha suerte.

Hola Carlos!.

Que tal estimado, sobre los repositorios, tengo una BD relacional que se me fue entregada a comienzos del proyecto, si bien es cierto los datos no estaban al 100%, tuve que generar data a través de un aplicativo que desarrollé.

 

El ETL ya lo he realizado, tengo diagramado la BD dimensional, y el ETL se hizo usando el SQL Server Integration Services, te adjunto las imágenes de ambas BD para poder seguir avanzando.

 

Nuevamente, gracias por tu ayuda, y estaré al tanto de tu comentario.

 

BD EMPRESA

Responder a debate

RSS

Distintivo

Cargando…

© 2024   Creado por Emilio.   Tecnología de

Emblemas  |  Reportar un problema  |  Términos de servicio