Data Warehouse: ETL-Praktikum

27
Data Warehouse: ETL-Praktikum Lehrstuhl für Medizinische Informatik Krankenhausstr. 12, 91054 Erlangen, Deutschland [email protected] Katharina Diesch Dr. med. Thomas Ganslandt

description

Data Warehouse: ETL-Praktikum. Katharina Diesch Dr. med. Thomas Ganslandt. Lehrstuhl für Medizinische Informatik Krankenhausstr. 12, 91054 Erlangen, Deutschland [email protected]. "This is not a drill". Schwerpunkt: praktische Übungen - PowerPoint PPT Presentation

Transcript of Data Warehouse: ETL-Praktikum

Page 1: Data Warehouse: ETL-Praktikum

Data Warehouse:ETL-Praktikum

Lehrstuhl für Medizinische InformatikKrankenhausstr. 12, 91054 Erlangen, [email protected]

Katharina DieschDr. med. Thomas Ganslandt

Page 2: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

2

"This is not a drill"

Schwerpunkt: praktische Übungen Aufbau eines (kleinen) Data Warehouse

Inhalte heute: Werkzeuge ETL-Prozess

Tool:IBM Cognos DataManager

Page 3: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

3

RecapKomponenten: "Datenreinigung"

Staging

DataWarehouse

SAP/MM

Legacy

SAP/FI

Extraktion, Transformation & Loading (ETL)

Page 4: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

4

Extraktion

Page 5: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

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

Page 6: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

6

DemoDataManager - Überblick

Kataloge Konzept Katalog öffnen/Einrichtung Katalogdatenbank Einrichtung ODBC-Datenquelle

Erstaufruf

Walkthrough

Page 7: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

7

HandwerkszeugStart der virtuellen Umgebung

cube.medads.uk-erlangen.de

Page 8: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

8

HandwerkszeugStart der virtuellen Umgebung

Page 9: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

9

DemoDataManager - Datenquellen einrichten

"Connections"-Ordner Typen von Datenquellen

Vorhandene Datenquelle einbinden

Neue Datenquelle anlegen und einbinden

Page 10: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

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

Page 11: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

Struktur der SOURCE-Datenbank

Page 12: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

12

SQL-Refresher

SELECT spaltenFROM tabellen[WHERE bedingungen][ORDER BY sortierkriterium]

Joins -> Verbinden von Tabellen (kartesisches Produkt ohne WHERE)

Aggregationen (GROUP BY)

Page 13: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

13

Demo + WorkshopDataManager - SQL-Terminal

Fragen Sie Tabellen aus SOURCE ab

Führen Sie mehrere Tabellen per JOIN zusammen

Beispiel: SELECT * FROM faelle f,

pat pWHERE f.patnr=p.patnr

Page 14: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

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)

Page 15: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

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

Page 16: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

16

WorkshopDataManager - JobStreams

Erstellen Sie einen JobStream "STAGING", der alle Staging-Factbuilds automatisch nacheinander aufruft

Page 17: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

17

ETL: Transformation

Page 18: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

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

Page 19: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

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)

Page 20: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

20

ETL - TransformationAnwendungsfall Filterung

zeitliche Einschränkung

ungültige Datensätze storniert unvollständig ausgefüllt

inkonsistente Datensätze Widersprüche zwischen Datenelementen

Page 21: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

21

WorkshopDataManager - Factbuild filtern

Passen Sie den Factbuild F_FAELLE an

Vorgaben: stornierte Datensätze sollen nicht nach DWH

übernommen werden

Page 22: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

22

WorkshopAuswertung

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

Page 23: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

23

WorkshopAuswertung - Lösungen

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

SELECT entl_orgfa, entl_orgpf, COUNT(*) FROM f_faelle GROUP BY entl_orgfa, entl_orgpf ORDER BY entl_orgfa, entl_orgpf

Page 24: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

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)

Page 25: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

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)

Page 26: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

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!

Page 27: Data Warehouse: ETL-Praktikum

IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012

27

Noch Fragen zum Thema ETL?