Datas kvalitet i lagringen er en vigtig forudsætning for at opnå værdifuld information. Dårlig kvalitet fører til en negativ kædereaktion på lang sigt.
Først mistes tilliden til den leverede information. Folk begynder at bruge Business Intelligence-applikationer mindre, og potentialet i applikationerne forbliver uudnyttet.
Som et resultat stilles fremtidige investeringer i det analytiske projekt spørgsmålstegn.
Ansvar for datakvalitet
Aspektet relateret til at forbedre datakvalitet er mega vigtigt i BI-projekter. Men det er ikke kun en privilegeret opgave for teknikere.
Flere aspekter, som påvirker datakvalitet, inkluderer
Virksomhedskultur
- Er medarbejderne selv interesserede i at producere god kvalitet?
- Hvis ikke, hvorfor? Kan der være en interessekonflikt?
- Findes der måske virksomhedens retningslinjer, der definerer dem, der er ansvarlige for kvaliteten?
Processer
- Hvilke data genereres i slutningen af disse kæder?
- Måske er operativsystemerne indstillet sådan, at det er nødvendigt at "vride sig" for at afspejle en given situation i virkeligheden.
- Udfører operativsystemerne selv kontrol og sammenligning af data?
Alle i organisationen er ansvarlige for datakvaliteten i rapporteringssystemerne.
Definition og betydning
Kvalitet er bekræftet opfyldelse af kundens forventninger.
Men datakvalitet indeholder ikke en fast definition. Den afspejler altid konteksten for brugen. Et datalager og et BI-system har andre formål end det operativsystem, hvorfra dataene er hentet.
For eksempel kan kundens attribut i operativsystemet være et valgfrit felt. I lageret kan denne attribut bruges som en dimension, og dens udfyldning er obligatorisk. Dette skaber behovet for at udfylde med standardværdier.
Kravene til datalageret ændrer sig konstant, og de er typisk højere end for operativsystemerne. Men der kan også være tilfælde, hvor det ikke er nødvendigt at gemme detaljerede oplysninger fra operativsystemet i lageret.
For data quality to be measurable, its standards must be defined. People who use information and numbers for their work should be involved in the description process. The result of this involvement might be a rule that allows one to determine whether there is an error in a table at a glance. This rule needs to be formalized into a script/code for subsequent verification.
Forbedring af datakvalitet
Det er umuligt at rense og rette alle hypotetiske fejl under dataindlæsningen til lageret. God datakvalitet kan kun opnås gennem tæt samarbejde mellem alle deltagere. Personer, der indtaster data i operativsystemer, skal lære, hvilke handlinger der fører til fejl.
Datakvalitet er en proces. Desværre har mange organisationer ikke en strategi for konstant forbedring. Mange begrænser sig blot til at gemme data og udnytter ikke det fulde potentiale af analytiske systemer. Som regel går 70-80% af budgettet til udviklingen af datalagre på implementeringen af dataintegration. Kontrol- og forbedringsprocessen forbliver underudviklet, hvis den overhovedet eksisterer.
Værktøjer
Anvendelse af softwareværktøjer kan hjælpe i automatiseringsprocessen af forbedring og overvågning af datakvalitet. For eksempel kan de fuldt ud automatisere den tekniske kontrol af lagerstrukturer: feltformat, tilstedeværelse af standardværdier, overholdelse af kravene til navne på tabelfelter.
Det kan være mere komplekst med indholdskontrol. Da kravene til lageret ændrer sig, kan også fortolkningen af data ændre sig. Værktøjet kan selv blive til et kæmpe projekt, der kræver support.
Råd
Relationelle databaser, hvor datalagre normalt designes, har en fantastisk mulighed for at oprette visninger (views). De kan bruges til hurtig kontrol af data, hvis man kender indholdets karakteristika. Hver gang en fejl eller problem i data findes, kan den registreres i form af en forespørgsel til databasen.
Dermed oprettes en videnbase om indholdet. Selvfølgelig bør sådanne forespørgsler være hurtige. Som regel tager vedligeholdelsen af visninger mindre tid end de værktøjer, der er organiseret i tabeller. Visningen er altid klar til at vise resultatet af kontrollen.
I tilfælde af vigtige rapporter kan visningen indeholde en kolonne med modtageren. Det giver mening at bruge de samme BI-værktøjer til at rapportere om datakvaliteten i lageret.
Eksempel
Forespørgslen er skrevet til Oracle-databasen. I dette eksempel returnerer testene en numerisk værdi, der kan fortolkes på den ønskede måde. Værdierne T_MIN og T_MAX kan justere graden af alarm. Feltet REPORT blev engang brugt som en besked i et kommercielt ETL-produkt, der ikke kunne sende e-mails ordentligt, derfor er rpad en 'quick fix'.
I tilfælde af en stor tabel kan man for eksempel tilføje AND ROWNUM <= 10, dvs. hvis 10 fejl er opstået, er det tilstrækkeligt til alarm.
CREATE OR REPLACE VIEW V_QC_DIM_PRODUCT_01 AS
SELECT
CASE WHEN OUTPUT>=T_MIN AND OUTPUT<=T_MAX
THEN 'OK' ELSE 'ERROR' END AS RESULT,
DESCRIPTION,
TABLE_NAME,
OUTPUT,
T_MIN,
T_MAX,
rpad(DESCRIPTION,60,' ') || rpad(OUTPUT,8,' ') || rpad(T_MIN,8,' ') || rpad(T_MAX,8,' ') AS REPORT
FROM (-- Testen selv
SELECT
'DIM_PRODUCT' AS TABLE_NAME,
'Antal blanke' AS DESCRIPTION,
COUNT(*) AS OUTPUT,
0 AS T_MIN,
10 AS T_MAX
FROM DIM_PRODUCT
WHERE DIM_PRODUCT_ID != -1 -- ikke standardværdi
AND ATTRIBUTE IS NULL ); -- tæl blanke
I publikationen er der brugt materiale fra bogen
Ronald Bachmann, Dr. Guido Kemper
Ud af BI-fælden
Hvordan Business Intelligence bliver en succes
Kilde: habr.com
