Data profiling con SQL Server 2008

Una de las múltiples mejoras que aporta SQL Server 2008 en la parte de ETL con Integration Services es su capacidad para realizar perfilado de datos con su nueva Data Profile Task.

El data profiling es una de las primeras tareas que se suelen abordar en procesos Calidad de Datos, y consiste en realizar un primer análisis sobre los datos de origen, normalmente sobre tablas, con el objetivo de empezar a conocer su estructura, formato y nivel de calidad. Se hacen consultas a nivel de tabla, columna, relaciones entre columnas, e incluso relaciones entre tablas.

La Data Profile Task de SSIS funciona seleccionando una tabla de una base de datos SQLServer 2000 o superior (no sirven otras bases de datos), las opciones de perfilado que se quiera realizar sobre los datos de la tabla, y un fichero XML donde se almacenarán los resultados cuando se ejecute la misma. Es realmente sencillo.

Se pueden seleccionar hasta 8 tipos de perfilado, 5 a nivel de columna y 3 a nivel de varias columnas.

Perfilados a nivel de columna:

  • Distribución de la longitud de los valores
  • Porcentaje de valores nulos
  • Patrones, expresados mediante expresiones regulares
  • Estadísticas de columna: mínimo, máximo, media o desviación standard
  • Distribución de los valores, valores diferentes y porcentaje de aparición de cada uno sobre el total de filas

Perfilados a nivel multicolumna:

  • Claves candidatas, qué columnas podrían ser clave primaria de la tabla
  • Dependencia funcional, los valores de una columna pueden depender de los de otra
  • Inclusión de valores, que columnas podrían ser claves foráneas de otras

SQL Server profile task SSIS

 

Tras ejecutar la tarea se genera un fichero XML en la ubicación elegida donde se almacena toda la información resultado del análisis. Para poder examinar estos resultados SQL Server proporciona la aplicación Data Profile Viewer que en una instalación normal sobre la unidad C debería encontrarse en este directorio:

C:\Archivos de programa\Microsoft SQL Server\100\DTS\Binn\DataProfileViewer.exe

Sólo hay que seleccionar el XML generado por la tarea de SSIS y comenzar a explorar los resultados:

SSIS Data Profile Viewer

Para obtener información más detallada se puede consultar el apartado Tarea de generación de perfiles de datos de la documentación en linea de Microsoft Technet.

También está muy bien comentada esta tarea en los artículos de SQLServer Performance SSIS New Features in SQL Server 2008 - Part 3 y Using The Data Profiler Task and FTP Task in SQL Server 2008 Integration Services