Antes hemos mostrado el caso de un perfil de direcciones para diferentes países donde el Código Postal tenía longitudes y patrones diferentes.
Hoy tenemos como origen de datos, una tabla de los códigos postales que aparecen asociados a cada cliente en una aplicación real. En este caso, no hay proceso automatizado ni validación de datos, el texto se traga “lo que le echen” y así están de “sucios” los datos.
Desde el mismo proyecto creado aquí y siguiendo los pasos indicados aquí, creamos una nueva Tarea de Generación de Perfiles, esta vez para una tabla CodigosPostales.
Aun no he dicho que estos datos corresponden a España, su formato es “99999”, por lo que no nos puede consolar el pensar que en diferentes países el código postal puede tener longitudes y estructuras diferentes.
Análisis de datos incluyendo valores nulos.
Vamos a empezar analizando la longitud con el Perfil de distribución de longitud de columnas.
Podemos encontrarnos con resultados que indiquen que apenas el 46 % de los datos son correctos, o al menos su estructura lo es.
En España, donde los códigos postales son cifras de 5 valores, como puede ser 28108 para Alcobendas, si se tratan como caracteres (que es lo más común) y si existe un valor de código postal igual a 00000 sería correcto y lo que es peor, cualquier palabra de 5 letras como FALLO o combinación de letras y números como HOLA1, también sería correcto. Por esto, cuando se trata de una única columna la herramienta nos ayuda a analizar patrones y detectar anomalías; pero no puede hacer milagros. Aún así, es una excelente funcionalidad implementada en SQL Server 2008.
Veamos entonces, el patrón. Abrimos el Perfil de Patrones de columnas y aquí nos encontramos que, aunque el análisis es aproximado, hay más de un patrón (esto ya nos indica que hay errores) y además tenemos acceso a las filas que no cumplen los patrones mayoritarios.
Al “explorar en profundidad” es que encontramos las sorpresas que nos tenía guardada la vida, algunas de ellas son:
Esto demuestra, que aquel 46% de los datos de 5 caracteres, no son datos limpios.
Análisis de datos correctos
Lo que hay que hacer, para poder limpiar estos datos, es confrontar los datos “sucios” con una tabla de Códigos Postales reales y correctos, que también la tenemos, y cuyos resultados de análisis son:
¡ Esto sí que tiene buen aspecto !
Dentro de las transformaciones de datos, cuando estemos hablando de tareas de flujo de datos, regresaremos a esta problemática.
Hasta la próxima, en que estaremos hablando de esta misma tarea; pero refiriéndonos a la obtención de perfiles más exactos.
Saludos,
Ana