1 / 27

Data Warehouse: ETL-Praktikum

Data Warehouse: ETL-Praktikum. Katharina Diesch Dr. med. Thomas Ganslandt. Lehrstuhl für Medizinische Informatik Krankenhausstr. 12, 91054 Erlangen, Deutschland thomas.ganslandt@imi.med.uni-erlangen.de. "This is not a drill". Schwerpunkt: praktische Übungen

caitir
Download Presentation

Data Warehouse: ETL-Praktikum

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Data Warehouse:ETL-Praktikum Katharina Diesch Dr. med. Thomas Ganslandt Lehrstuhl für Medizinische Informatik Krankenhausstr. 12, 91054 Erlangen, Deutschland thomas.ganslandt@imi.med.uni-erlangen.de

  2. "This is not a drill" • Schwerpunkt: praktische Übungen • Aufbau eines (kleinen) Data Warehouse • Inhalte heute: • Werkzeuge • ETL-Prozess • Tool:IBM Cognos DataManager

  3. Data Warehouse SAP/MM Legacy Staging SAP/FI RecapKomponenten: "Datenreinigung" Extraktion, Transformation & Loading (ETL)

  4. Extraktion

  5. DataManagerCognos ETL-Werkzeug • Datenbankschnittstellen • nativ: Oracle, MS-SQL, DB2, ... • ODBC • CSV • SAP R/3-Connector • Datentransfer • SQL-basiert • mehrstufige Pipeline • Makros • Automatisierung • Dimensionsmodellierung • flexible Generierung von Hierarchien

  6. DemoDataManager - Überblick • Kataloge • Konzept • Katalog öffnen/Einrichtung Katalogdatenbank • Einrichtung ODBC-Datenquelle • Erstaufruf • Walkthrough

  7. HandwerkszeugStart der virtuellen Umgebung cube.medads.uk-erlangen.de

  8. HandwerkszeugStart der virtuellen Umgebung

  9. DemoDataManager - Datenquellen einrichten • "Connections"-Ordner • Typen von Datenquellen • Vorhandene Datenquelle einbinden • Neue Datenquelle anlegen und einbinden

  10. WorkshopDataManager - Datenquellen einbinden • Binden Sie die Quelldatenbank ein • Connection "Schulung-SOURCE" einrichten • Verbindung testen • Binden sie die Staging-Datenbank ein • Connection einrichten: "Schulung-STAGING" • Verbindungen testen • Binden sie die Warehouse-Datenbank ein • Connection einrichten: "Schulung-DWH" • Verbindungen testen

  11. Struktur der SOURCE-Datenbank

  12. SQL-Refresher • SELECT spaltenFROM tabellen[WHERE bedingungen][ORDER BY sortierkriterium] • Joins -> Verbinden von Tabellen (kartesisches Produkt ohne WHERE) • Aggregationen (GROUP BY)

  13. Demo + WorkshopDataManager - SQL-Terminal • Fragen Sie Tabellen aus SOURCE ab • Führen Sie mehrere Tabellen per JOIN zusammenBeispiel: SELECT * FROM faelle f, pat p WHERE f.patnr=p.patnr

  14. WorkshopDataManager - Factbuild-Wizard • Erstellen Sie einen Factbuild für die Tabelle PAT • Vorgaben: • alle Spalten der Quelltabelle übernehmen • keine Filterung von Datensätzen • keine Veränderung der Daten • Auslieferung nach STAGING • Zieltabelle: STG_PAT • Vollimport (Zieltabelle zu Beginn des Build leeren)

  15. WorkshopDataManager - Factbuild-Wizard • Erstellen Sie mit dem Wizard Staging-Factbuilds für: • FAELLE • ORGA • EVENTS • Vorgaben: • wie bei PAT • Präfix "STG_" nicht vergessen

  16. WorkshopDataManager - JobStreams • Erstellen Sie einen JobStream "STAGING", der alle Staging-Factbuilds automatisch nacheinander aufruft

  17. ETL: Transformation

  18. ETL - TransformationZiele • Reduzieren • benötigte Datenelemente selektieren (WHERE…) • Konsolidieren • Datenmodelle der Quellsysteme zusammenführen • Datenmodell für Auswertung optimieren • Fakten und Dimensionen trennen • Weiterverarbeiten • Berechnungen mit Datenelementen durchführen • Bereinigen • unvollständige/ungültige/stornierte Datensätze abweisen

  19. WorkshopDataManager - Factbuild • Erstellen Sie einen Factbuild für die Tabelle F_FAELLE • Vorgaben: • alle Spalten der Quelltabelle bis auf STORN übernehmen • keine Filterung von Datensätzen • keine Veränderung der Daten • Quelldatenbank: STAGING • Auslieferung nach DWH • Zieltabelle: F_FAELLE • Vollimport (Zieltabelle zu Beginn des Build leeren)

  20. ETL - TransformationAnwendungsfall Filterung • zeitliche Einschränkung • ungültige Datensätze • storniert • unvollständig ausgefüllt • inkonsistente Datensätze • Widersprüche zwischen Datenelementen

  21. WorkshopDataManager - Factbuild filtern • Passen Sie den Factbuild F_FAELLE an • Vorgaben: • stornierte Datensätze sollen nicht nach DWH übernommen werden

  22. WorkshopAuswertung • Werten Sie die Daten von Fällen aus: • Fallzahl pro entlassender Fachabteilung und Station

  23. WorkshopAuswertung - Lösungen • Werten Sie die Daten von Fällen aus: • Fallzahl pro entlassender Fachabteilung und StationSELECT entl_orgfa, entl_orgpf, COUNT(*) FROM f_faelle GROUP BY entl_orgfa, entl_orgpf ORDER BY entl_orgfa, entl_orgpf

  24. Demo + WorkshopAnwendungsfall Konsolidierung • Passen Sie den Factbuild F_FAELLE an • Vorgaben: • fügen Sie die folgenden Datenelemente hinzu:Aufnahme-Datum, -Abteilung und –Station Lösung : SELECT stg_events.falnr, stg_events.datum, stg_events.bwart, stg_events.orgfa, stg_events.orgpf FROM stg_events, stg_faelle WHERE (stg_events.falnr = stg_faelle.falnr) AND (stg_events.bewty = '1') /* Aufnahmebewegung */ AND (stg_faelle.storn = 0)

  25. Demo + WorkshopAnwendungsfall Konsolidierung • Passen Sie den Factbuild F_FAELLE an • Vorgaben: • fügen Sie die folgenden Datenelemente hinzu:Entlass-Datum, -Abteilung und –Station Lösung 2: SELECT stg_events.falnr, stg_events.datum, stg_events.bwart, stg_events.orgfa, stg_events.orgpf FROM stg_events, stg_faelle WHERE (stg_events.falnr = stg_faelle.falnr) AND (stg_events.bewty = '2') /* Entlassbewegung */ AND (stg_faelle.storn = 0)

  26. Demo + WorkshopAnwendungsfall Aggregation • Passen Sie den Factbuild F_FAELLE an • Vorgaben: • fügen Sie die folgenden Datenelemente hinzu:Anzahl dokumentierter Diagnosen je FallAnzahl dokumentierter Prozeduren je Fall Lösung: SELECT stg_diagnosen.falnr, count(*) AS ANZAHL_DIAGNOSEN FROM stg_diagnosen, stg_faelle WHERE (stg_diagnosen.falnr = stg_faelle.falnr) AND (stg_faelle.storn = 0) GROUP BY stg_diagnosen.falnr Bei Prozeduren analog!

  27. Noch Fragen zum Thema ETL?

More Related