Data profiles de SQL Server IS emmagatzemats en taules

La tasca de Data Profile de SQL Server Information Services emmagatzema els resultats del perfilat en un document XML que es pot examinar amb el Data Profile Viewer. En l'article Dataprofiling amb SQL Server 2008 explico com s'utilitza aquesta nova Task de SSIS.

Encara que aquest mètode sigui molt senzill, de vegades pot no resultar suficient. Si s'aborda un projecte de qualitat de dades pot interessar, per exemple, emmagatzemar un històric dels perfilats per poder avaluar com ha anat millorant la qualitat de les dades tractades.

La millor manera de treballar amb dades històriques és utilitzant una base de dades i emmagatzemant aquestes dades en taules, sobre les quals es podran fer les consultes, informes i comparatives que calgui.Per aconseguir l'únic que caldria és passar a taules les metadades que la tasca de perfilat ha emmagatzemat en el fitxer XML.

Doncs algú ja s'ha dedicat a buscar una manera senzilla de fer-ho. Thomas Frisendal, des del seu web Information quality solutions explica com ha creat un fitxer XSLT per a cada tipus de perfilat que serveix per extreure de l'XML que genera la Data Profile Task de SSIS un o més fitxers XML en un format que pot ser directament importat a taules .

Package SSIS per passar Data Profiles a Taules

Així, amb només crear un procés que apliqui un XSLT per cada tipus de perfilat, i després carregui cada fitxer XML resultant en una taula ja es poden emmagatzemar les dades de perfilat en taules.Com més en tots els fitxers s'inclou un camp que informa del nom de la taula origen, amb una sola taula per a cada tipus de perfilat ja es poden emmagatzemar els perfils de totes les taules que es tracten.

Data Flow Task de SSIS ProfileToSQL

Jo he afegit a més a la taula un camp de data que emmagatzema la data en què es realitza el procés, i de moment el resultat ha estat bo.

En el gràfic podem veure la distribució de tipus de via diferents per la guia de carrers espanyol segons dades de l'INE i adonar-nos, per exempleexemple, que els identificadors no estan massa bé tipificats, ja que podem trobar coses com més d'un identificador per al mateix tipus de via (CARRER, C, C /), o bastants vies amb un punt com a identificador.

Taula de SSIS Data Profile de valors diferents per a tipus de via

En Free tool for automation of SQL Server l'autor comenta com funciona aquesta solució i com obtenir els fulls deestil, i en Usage recommandations for the ProfileToSQL stylesheets explica més en detall com utilitzar els XSLT, i inclou un disclaimer deixant clar que aquest programari és una versió de test.

Comenta-ho en el fòrum