<Insert Picture Here> Der Datenqualität auf der Spur Data Profiling mit Oracle Warehouse Builder – live Beispiel Alfred Schlaucher Analyseumgebung • Oracle Datenquellen • Alle Gatewaylesbare Quellen • SAP-Daten • Flat Files • Adress-/LDAPVerzeichnisse LDAP / DBMS_LDAP / Table Function non Oracle DB2, SQL Server Informix, Teradata SAP SAP Integrator Gateway / ODBC / FTP Oracle 9i / 10g Source Schema Profiling Stage Oracle Source Schema Transportable Module External Table RAC Vorgehensweise „Daten-Analyse“ 1. Identifizieren Geschäftsfeld / Teilprozess 2. Datengewinnung: • • Extrakt / Transformation (ETL-Aufgabe) Kundenstammdaten -> Testkunde 3. Erstes Profiling -> 1. Sichtprüfung • Fragen / Thesen formulieren 4. Zweites Profiling -> verifizieren • Custom Rules 5. Korrigieren • • nachgelagert im operativen Prozess 6. Monitoring Herleiten der entsprechenden Prüfdaten mit ETL-Mitteln MP_Testkunde Intuitives Erkennen von Anomalien Domain Anz_Kinder? • Domain 0,1,2,3, Null • Warum 0 und Null? • Gibt es keine Kunden mit mehr als 3 Kindern? • Warum gibt es nur 0,3% Kunden mit 0 Kindern (entspricht nicht der Erwartung)? • warum gibt es eine gleichmäßige Verteilung der Werte 1,2,3 im Bereich von 32-33 %? Null kommt offenbar nur bei Firmenkunden vor Die Zahl 17 kann markant sein. Bei weiterer Prüfung stellt man fest, dass es genau 17 Firmenkunden gib Es fehlt eine einheitliche Art der Beschreibung für das Nicht-Vorhandensein (0,Null) Intuitives Erkennen von Anomalien Domain Anrede? • Herr / Frau sind offensichtlich richtige Werte • Die rot-markierten Werte sind offensichtlich falsch • Die beiden Werte „3“ und „Anrede“ haben im Vergleich zu den anderen falschen Werten ein signifikant hohes Vorkommen Warum? • Welche Regel kann für das Feld gefunden werden? • Wenn Status = ‚F‘ dann Anrede = ‚Firma‘ • Wenn Status = ‚P‘ dann Anrede = ‚Herr‘ oder ‚Frau‘ Gezieltes Überprüfen von Geschäftsregeln (Custom Rule) Wenn Status = ‚F‘ dann Anrede = ‚Firma‘ und Wenn Status = ‚P‘ dann Anrede = ‚Herr‘ oder ‚Frau‘ Domain Anrede? • Nur ~19% folgen der Regel. Warum? • Die Domain-Analyse von des Status-Feldes ergibt den Wertebereich • • • • F (Firmenkunde) P (Privatkunde) G (guter Kunde) K (kein Kunde) • Die Überprüfung der Regel hat zu einer weiteren Schwachstelle geführt. • Das Attribut Status ist überladen, ( es wird für unterschiedliche Sinnzusammenhänge benutzt) • es müsste eine weitere Spalte geben, z,. B. Qualität der Kundenbez. Domains, Varianten, Ausreißer Data Profiling: Verwendung einheitlicher Codes Erkennen von abhängigen Domains – Functional Dependency Berufsgruppe Berufsgruppen_Nr Domains, Varianten, Ausreißer Data Profiling: mit dem Ziel der Standardisierung Eine Domain mit fehlerhaften Inhalten Dr und Dr. Prof und Prof. Hinweis für StandardisierungsMaßnahme Domains, Varianten, Ausreißer Data Profiling: mit dem Ziel der Standardisierung Erkennen von Varianten Straßenbezeichnungen müssen standardisiert werden, um sie z. B, für eine Haushaltsbildung oder Adressdatenabgleich vergleichen zu können. Unterstützung von Software-Projekten Durch den Feldnamen vermutet man rein numerische Inhalte Übereinstimmung von Feldname „...nr“ und Feldtyp Firmenrabatt ist in der Regel ein Rechenfeld Kundennr ist ein wichtiges Feld. Es sollte stimmig sein. ? sieht gut aus ! Unterstützung von Software-Projekten Die Zahl 17 kommt häufig vor, hier muss es eine „systematische“ Ursache geben ? Felder sind nicht gepflegt kritisch! da es sich um einen Schlüsselkandidaten handelt ? kritisch! weil doppelte Kundennummern OK Was wird geprüft Metadaten http://aschlauc-pc.de.oracle.com:7780/pls/htmldb http://aschlauc-pc.de.oracle.com:7780/pls/htmldb metadaten owb