Creiamo un database con una tabella contenente la lista dei nostri clienti ed il comune di residenza.
NB: E indispensabile creare il database sulla medesima istanza su cui è installato il Data Quality Service.
USE MASTER Go Create Database MyDQSTest Go Use MyDQSTest Go Create table dbo.TabContatti ( Nome varchar(50), Comune varchar(50) ) Go --Primo Insert Insert Into dbo.TabContatti values('Giulio Rossi','Millano') ,('Ernesto Verdi ','Toino') ,('Giuseppe Bottazzi','Brescello') Go Select * from dbo.TabContatti
Nella tabella sono presenti i fantomatici comuni di Millano (Milano) e di Toino (Torino) che non esistono nella realtà e sono frutto di errori di battitura. Possiamo però correggere questi dati per renderli utilizzabili creando un Data Quality Project.
Utilizzando il Data Quality Client creiamo un project di Cleansing dei dati.
Nella fase di creazione del progetto dobbiamo anche selezionare la Knowledge Base che desideriamo utilizzare per validare i dati
NB. I Metadati del progetto vengono salvati nel database DQS_Projects creato dall'installazione del DQS.
Click su Next
Selezioniamo il tipo di data source SQL Server, il db MyDQSTest e la tabella dbo.TabContatti associando il campo Comune di quest'ultima al dominio Comune della Knowledge Base. Ripetiamo questa associazione per tutti gli eventuali domini della KB che vogliamo utilizzare.
Click su Next e nella finestra successiva premiamo il tasto Start che avvia l'analisi dei dati confrontandoli con i valori del Dominio. Al termine dell'analisi ci viene proposto un breve riepilogo.
Click su Next e ci viene proposto un resoconto dettagliato dell'attività
Il progetto confronta i dati da analizzare utilizzando degli algoritmi di fuzzy i con quelli nel Dominio associato e ci propone i risultati in tab differenti in base all'esito dell'analisi.
-Tab Suggested: dati la cui correzione è suggerita da DQS ma non attuata
-Tab New: nuovi dati individuati da DQS e in attesa di approvazione
-Tab Invalid: dati che violano le regole del dominio associato
-Tab Corrected: dati corretti in modo automatico durante il processo di analisi
-Tab Correct: dati congruenti con quelli del dominio associato
La Tab New, nel nostro caso, contiene il valore Toino.
Sappiamo che Toino è un errore di battitura della citta di Torino, quindi possiamo correggere il dato con il valore esatto e successivamente approvarlo. Toino verrà quindi spostato nella tab Corrected.
La tab Corrected oltre a Toino contiene anche il dato Millano.
Perchè Millano non è stato gestito come new, esattamente come Toino ?
L'algoritmo ha riconosciuto che Millano deve essere corretto sul valore Milano in quanto il peso (colonna Confidence) è superiore alla soglia dell'80% (tale soglia è personalizzabile dalle impostazioni del DQS con il Data Quality Client)
La Tab Correct contiene solo un valore, Brescello che è un valore valido del dominio.
Click su Next.
Il progetto ci chiede ora dove vogliamo esportare i risultati dell'analisi.
Possiamo esportare solo i semplici dati oppure i dati e le info a corollario.
L'installazione del DQS, oltre al db DQS_Main crea il db DQS_Staging_Data all'interno del quale possiamo salvare i dati creati dall'esportazione dei risultati dell'analisi.
Click su Export e il progetto esporta i dati nella locazione selezionata.
Click su Finish e il progetto si chiude.
Cosa contiene la tabella appena creata nel Db DQS_Staging_Data ?
La tabella è composta da :
colonna Comune_Source: è il dato originale
colonna Comune_Output: è il dato corretto dal progetto e coerente con il dominio.
colonna Confidence: rappresenta il peso( Deve tendere il più possibile a 1).
colonna Comune_Status: descrizione dell'azione intrapresa dal progetto sul valore
colonna record_Status: descrizione dell'azione intrapresa dal progetto sul record
Ma cosa è successo ai dati della tabella analizzata ?
Nulla, sono rimasti invariati.
Dobbiamo procedere noi con un semplice update alla correzione basandoci sui dati della tabella creata dall'esportazione.
Update dbo.TabContatti set comune = O.Comune_Output From dbo.TabContatti S inner join [DQS_STAGING_DATA].[dbo].[Temp_TabContatti] O On S.Nome = O.Nome_Output collate SQL_Latin1_General_CP1_CI_AS Where S.Comune <> O.Comune_Output collate SQL_Latin1_General_CP1_CI_AS Go Select * from dbo.TabContatti Go
Ora che i nostri dati sono ripuliti dobbiamo fare in modo che, qualora si ripresentino i valori errati Millano e Toino il DQS sia in grado di correggerli automaticamente.
In che modo ?
bhe... Insegnando al Dominio Comune della Knowledge Base creata precedentemente come deve trattare questi valori.
Grazie al Domain Management che abbiamo utilizzato per creare il Dominio Comune possiamo importare i dati analizzati e corretti dal nostro progetto.
Selezioniamo importa da progetto e selezioniamo il progetto da cui prelevare i dati
Clik su Ok
Come potete vedere i valori Millano e Toino vengono importati nel Domain Values ma vengono marcati come errati e associati al valore corretto per future correzioni.
D'ora in poi, qualora si ripetessero il DQS è in grado di correggerli con certezza assoluta senza alcun intervento da parte dell'utente.
Attenzione però, DQS li corregge solo nel progetto fornendo il valore esatto, il dato originale deve essere modificato manualmente dal data stewart.
Mantenendo costantemente aggiornati i dominii con l'evoluzione dei dati possiamo essere certi che i nostri dati sono di prima qualita.
Good Data = Good Businness !!!!
Ciao
Luca
Nessun commento:
Posta un commento