data warehouse: etl-praktikum lehrstuhl für medizinische informatik krankenhausstr. 12, 91054...
TRANSCRIPT
Data Warehouse:ETL-Praktikum
Lehrstuhl für Medizinische InformatikKrankenhausstr. 12, 91054 Erlangen, [email protected]
Katharina DieschDr. med. Thomas Ganslandt
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
IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012
3
RecapKomponenten: "Datenreinigung"
Staging
DataWarehouse
SAP/MM
Legacy
SAP/FI
Extraktion, Transformation & Loading (ETL)
IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012
4
Extraktion
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
IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012
6
DemoDataManager - Überblick
Kataloge Konzept Katalog öffnen/Einrichtung Katalogdatenbank Einrichtung ODBC-Datenquelle
Erstaufruf
Walkthrough
IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012
7
HandwerkszeugStart der virtuellen Umgebung
cube.medads.uk-erlangen.de
IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012
8
HandwerkszeugStart der virtuellen Umgebung
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
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
IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012
Struktur der SOURCE-Datenbank
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)
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
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)
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
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
IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012
17
ETL: Transformation
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
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)
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
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
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
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
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)
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)
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!
IMI :: Diesch, Ganslandt :: Prozessmanagm. IT :: ETL-Praktikum :: 27.06.2012
27
Noch Fragen zum Thema ETL?