Te presento mi nuevo sitio web: "El Futuro de los Datos"

Aunque SQL Server Si!, seguirá activo, iré bajando la frecuencia de publicación.
Si quieres conocer todas las novedades que vaya publicando, te recomiendo que lo visites y te suscribas. Tengo un regalito para mi audiencia:

Tu primer Dashboard en "piloto automático" listo en 30 minutos
Sólo para suscriptores.
.

21 feb. 2013

¿Realmente están los datos tan limpios como nos dicen?

¿Puedes hacer una primera comprobación rápida y mostrar los resultados?

Creo que si preguntamos en cualquier empresa sobre la calidad de los datos que hay en sus aplicaciones, la respuesta suele ser la misma “mis datos están bastante bien”

Si vamos a preguntas más concretas como ¿qué valores hay en la columna “sexo” de la tabla cliente? la respuesta será del tipo: “allí solo hay o una ‘M’ o una ‘F’ ”, pero ¿es eso cierto?

La verdad que es fácil que nos encontremos ‘M’, ‘F’, ‘V’, ‘X’, ‘ ’, incluso podríamos encontrarnos el valor ‘poco’ ;)

Esto tiene varias soluciones, la primera es lanzar unas cuantas decenas, quizás centenas, de SELECT sobre algunas tablas e ir viendo cómo están esos datos. Muchas de estas SELECT son sencillas, pero tediosas de escribir y en muchas ocasiones repetitivas, ya que debemos lanzarlas sobre varias tablas. Algunas de las validaciones más frecuentes son:

  • Ratios sobre los valores Null
  • Estadísticas sobre columnas y valores
  • Distribución de valores (ej: ¿cuántos productos tengo de color ‘verde’?)
  • Distribución de longitudes realmente utilizadas (tengo dirección varchar(100), pero realmente ¿qué longitudes tienen los datos que hay almacenados en esa columna?)
  • Identificación de patrones que siguen

Si quieres ahorrarte esas centenas de SELECT y además disponer de una herramienta que te permita mostrar rápidamente que esos datos no están tan limpios y coherentes como nos indican, te voy a contar una solución rápida y eficaz.

En SQL Server Integration Services (SSIS) dispones de una tarea llamada “Data Profiling Task”, su objetivo es conectarse a una tabla o vista mediantes una conexión ADO.NET y obtener un archivo XML con los resultados ya preparados para ser visualizados mediante el “Data Profile Viewer” que también vienen incluido con SQL Server.

El proceso consta de los siguientes pasos:

  • Crear un paquete SSIS
  • Agregar una tarea “Data Profiling Task”
  • Configurarla e indicar el nombre y ruta del archivo XML a generar a partir de una tabla o vista
  • Ejecutar el paquete SSIS
  • Abrir el archivo generado con “Data Profile Viewer” y navegar por el resultado

image

En muy pocos minutos, podrás haber generado este archivo, estar navegando por los datos y mostrandolos a tu cliente, argumentando claramente cómo están.

Te aseguro que te ayudará mucho esta herramienta, te permitirá afinar en tus presupuestos, y sobre todo dialogar con el cliente mostrandole en directo la realidad de sus datos.

Te dejo también aquí un enlace de cómo realizar todo el proceso paso a paso:

Using the Data Profiling SSIS task

Aunque está en inglés, es una guía paso a paso con muchas imágenes, muy sencilla de seguir.

Por supuesto, a partir de SQL Server 2012, además de las herramientas mostradas, que siguen estando disponibles, tenemos Data Quality Services (DQS) que tienen una funcionalidad muy superior, pero eso lo dejaremos para verlo con más detalles en posteriores publicaciones.

¿Te ha gustado lo que has leido? ¡Compartelo!

Google