14 KiB
Power BI Schulungshandbuch für HR
Word-Version: Nicht im Repo enthalten (Binary-Dateien werden beim PR-Erstellen nicht unterstützt).
Überblick
Zielgruppe: 3–4 HR-Mitarbeiterinnen (Schweiz), Excel-Basis + SVERWEIS, Technikaffinität 5–6/10, keine Power BI Vorkenntnisse.
Datenquellen:
- SAP HCM/HRM (alle Infotypen, besonders PA0001, PA0002, PA0008, PA2001)
- Rexx HR-System (Stellenplan, Pulsumfrage, MA-Zufriedenheit)
- Excel/CSV (Kununu-Score, Refline/Time-to-hire)
KPIs (mit Periodizität):
- Headcount/FTE (monatlich)
- Fluktuation (monatlich)
- Krankenquote gesamt + ohne Langzeitkrankheiten >30 Tage (Quartal)
- Überstunden (Quartal)
- Produktivstunden (wöchentlich)
- Ferientage/GLZ-Saldi (jährlich)
- Stellenplan Soll vs Ist (monatlich, aus Rexx)
- Lohnkosten (monatlich)
- Time to hire (Quartal)
- Kununu Score (monatlich)
- Pulsumfrage (Quartal, aus Rexx)
- MA-Zufriedenheitsumfrage (jährlich, aus Rexx)
Zielgruppen der Reports: Geschäftsleitung, Verwaltungsrat, Finanzbuchhaltung, Abteilungsleiter.
1. MODUL 1: GRUNDLAGEN & DATENIMPORT
1.1 Power BI Desktop installieren und starten
- Schritt: Gehe auf https://powerbi.microsoft.com/de-de/desktop/ und lade Power BI Desktop herunter.
- Schritt: Installiere die Anwendung mit den Standardoptionen (Weiter → Installieren → Fertigstellen).
- Schritt: Starte Power BI Desktop über das Startmenü.
- Schritt: Wähle "Leerer Bericht" und speichere die Datei als
HR-Reporting.pbix.
[Screenshot: Startfenster von Power BI Desktop mit leeren Berichtsvorlagen].
Tipp: Wenn der Download blockiert ist, wende Dich an die IT (Admin-Rechte erforderlich).
1.2 Oberfläche kennenlernen
- Schritt: Wechsle links zwischen Berichtsansicht, Datenansicht und Modellansicht.
- Schritt: Erkenne die Bereiche: Menüband, Visualisierungen, Felder, Seiten-Navigation.
- Schritt: Öffne rechts den Bereich Filter, um Visual-, Seiten- und Berichtsebene zu sehen.
[Screenshot: Power BI Desktop mit markierter Berichtsansicht, Visualisierungen und Felder-Bereich].
1.3 Excel-Datei importieren
- Schritt: Start → Daten abrufen → Excel.
- Schritt: Datei auswählen → Öffnen.
- Schritt: Im Navigator Tabelle oder Blatt auswählen → Laden.
- Schritt: Prüfe in der Datenansicht, ob die Spalten korrekt geladen wurden.
Häufige Probleme und Lösungen:
- Problem: Falsche Spaltennamen → Lösung: Erste Zeile als Header setzen (Modul 2).
- Problem: Zahlen als Text → Lösung: Datentyp korrigieren (Modul 2).
- Problem: Leere Zeilen → Lösung: Leere Zeilen entfernen (Modul 2).
1.4 CSV importieren
- Schritt: Start → Daten abrufen → Text/CSV.
- Schritt: Datei auswählen → Öffnen.
- Schritt: Im Vorschaufenster Trennzeichen (z. B. Semikolon) prüfen.
- Schritt: Dateiursprung (Encoding) auf UTF-8 stellen, wenn Umlaute falsch dargestellt werden.
Warnung: In der Schweiz sind Umlaute oft nur mit UTF-8 korrekt.
1.5 SAP-Export importieren
- Schritt: SAP-Export (z. B. TXT/CSV/XLSX) in einen lokalen Ordner speichern.
- Schritt: Start → Daten abrufen → Text/CSV oder Excel wählen.
- Schritt: Prüfe, ob die erste Zeile die Spaltenüberschriften enthält.
- Schritt: Importiere pro Infotyp getrennte Tabellen (PA0001, PA0002, PA0008, PA2001).
Tipp: Benenne Tabellen sofort verständlich um (z. B. Mitarbeiter_Grunddaten, Mitarbeiter_Lohn).
2. MODUL 2: POWER QUERY EDITOR
2.1 Power Query öffnen
- Schritt: Start → Daten transformieren.
[Screenshot: Button 'Daten transformieren' im Menüband].
2.2 Erste Zeile als Header verwenden
- Schritt: Transformieren → Erste Zeile als Überschriften.
- Schritt: Prüfe, ob die Spaltennamen korrekt sind.
2.3 Datentypen ändern
- Schritt: Spalte auswählen (z. B. Eintrittsdatum).
- Schritt: Transformieren → Datentyp → Datum.
- Schritt: Bei Zahlen Dezimalzahl oder Ganze Zahl wählen.
- Schritt: Bei Schweizer Datumsformat mit Gebietsschema (Deutsch – Schweiz) konvertieren.
Warnung: Datumsfelder werden oft als Text erkannt.
2.4 Spalten entfernen/behalten
- Schritt: Unnötige Spalten markieren.
- Schritt: Start → Spalten entfernen.
- Schritt: Für schlanke Tabellen: Andere Spalten entfernen.
2.5 Zeilen filtern
- Schritt: Filterpfeil in der Spalte Status.
- Schritt: Nur aktive Mitarbeitende auswählen.
- Schritt: Zeitraumfilter setzen (z. B. letztes Jahr).
2.6 Werte ersetzen
- Schritt: Transformieren → Werte ersetzen.
- Schritt:
nulldurch0ersetzen. - Schritt: Codes (z. B.
A) durch Klartext (z. B.Aktiv) ersetzen.
2.7 Spalten teilen/zusammenführen
- Schritt: Spalte auswählen.
- Schritt: Transformieren → Spalte teilen (nach Trennzeichen).
- Schritt: Für Zusammenführen: Transformieren → Spalten zusammenführen.
2.8 Berechnete Spalte hinzufügen
- Schritt: Spalte hinzufügen → Benutzerdefinierte Spalte.
- Schritt: Formel eingeben (z. B.
Beschäftigungsgrad/100).
2.9 Schliessen und Laden
- Schritt: Start → Schliessen & laden.
- Schritt: Unterschied: Laden speichert in Modell, Laden in erlaubt gezielte Ziele (z. B. nur Verbindung).
3. MODUL 3: DATENMODELL
3.1 Zur Modellansicht wechseln
- Schritt: Links auf die Modellansicht (Beziehungs-Icon) klicken.
3.2 Beziehungen verstehen
- Schritt: 1:n = Eine Zeile in Tabelle A passt zu vielen Zeilen in Tabelle B.
- Schritt: 1:1 = Jede Zeile passt genau zu einer anderen Zeile.
Warum wichtig: Beziehungen steuern, wie Filter zwischen Tabellen fliessen.
3.3 Beziehung erstellen
- Schritt: Spalte in Tabelle A auf passende Spalte in Tabelle B ziehen (Drag & Drop).
- Schritt: Beziehung prüfen → Kardinalität und Kreuzfilterrichtung einstellen.
- Schritt: Beziehungsnamen überprüfen und bei Bedarf bearbeiten.
Tipp: Nutze meistens Einweg-Filterrichtung, um Mehrdeutigkeiten zu vermeiden.
3.4 Datumstabelle erstellen
- Schritt: Modellierung → Neue Tabelle.
- Schritt: DAX-Formel einfügen:
Datum = ADDCOLUMNS(
CALENDAR(DATE(2020,1,1), TODAY()),
"Jahr", YEAR([Date]),
"Monat", MONTH([Date]),
"MonatName", FORMAT([Date],"MMMM"),
"Quartal", "Q" & QUARTER([Date]),
"KW", WEEKNUM([Date])
)
- Schritt: Tabellen-Tools → Als Datumstabelle markieren → Datum[Date] auswählen.
3.5 PERNR als Schlüssel
- Schritt: Verwende die Personalnummer (PERNR) als Schlüssel zwischen SAP-Tabellen (PA0001, PA0002, PA0008, PA2001).
- Schritt: In Rexx/Excel dieselbe Schlüsselspalte sicherstellen.
4. MODUL 4: DAX MEASURES
4.1 Measure vs. berechnete Spalte
- Schritt: Measure berechnet sich dynamisch im Berichtskontext.
- Schritt: Berechnete Spalte wird pro Zeile gespeichert und vergrössert das Modell.
4.2 Neues Measure erstellen
- Schritt: Modellierung → Neues Measure.
- Schritt: Formel eingeben und mit Enter bestätigen.
- Schritt: Measure klar benennen (z. B.
Headcount,Fluktuation).
4.3 Basis-Measures für HR
Headcount = COUNTROWS(Mitarbeiter)
FTE = SUMX(Mitarbeiter, Mitarbeiter[Beschäftigungsgrad]/100)
Krankheitstage = SUM(Abwesenheiten[Kalendertage])
Sollarbeitstage = [Headcount] * 21
Krankenquote = DIVIDE([Krankheitstage], [Sollarbeitstage], 0)
Krankenquote_ohne_LZ =
VAR KrankheitstageKurz = CALCULATE([Krankheitstage], FILTER(Abwesenheiten, Abwesenheiten[Kalendertage] <= 30))
RETURN DIVIDE(KrankheitstageKurz, [Sollarbeitstage], 0)
Austritte = CALCULATE(COUNTROWS(Mitarbeiter), Mitarbeiter[Austritt] <> BLANK())
Avg_Headcount = AVERAGEX(VALUES(Datum[Monat]), [Headcount])
Fluktuation = DIVIDE([Austritte], [Avg_Headcount], 0) * 100
4.4 Zeitintelligenz-Measures
Headcount_VJ = CALCULATE([Headcount], SAMEPERIODLASTYEAR(Datum[Date]))
Headcount_VM = CALCULATE([Headcount], PREVIOUSMONTH(Datum[Date]))
Headcount_YTD = TOTALYTD([Headcount], Datum[Date])
Delta_VJ = [Headcount] - [Headcount_VJ]
Delta_VJ_Proz = DIVIDE([Delta_VJ], [Headcount_VJ], 0)
4.5 Measures formatieren
- Schritt: Measure auswählen.
- Schritt: Measure-Tools → Format → Prozent, Dezimalstellen, Währung einstellen.
5. MODUL 5: VISUALISIERUNGEN
5.1 Visualisierungstypen und wann verwenden
- Karte/Card: Einzelne KPI-Zahl (Headcount, Krankenquote).
- Balkendiagramm: Vergleiche (Abteilungen, Monate).
- Liniendiagramm: Zeitverläufe (Headcount über 12 Monate).
- Ringdiagramm: Anteile (Absenzen nach Typ).
- Tachometer: Ziel vs Ist (Stellenplan-Erfüllung).
- Tabelle/Matrix: Details mit Drill-down.
5.2 Erste Visualisierung erstellen
- Schritt: Visualisierung im Bereich Visualisierungen auswählen.
- Schritt: Felder per Drag & Drop in Achse/Werte ziehen.
- Schritt: Visualisierung auf der Seite positionieren und Grösse anpassen.
5.3 Visualisierung formatieren
- Schritt: Visual auswählen → Format (Pinsel).
- Schritt: Titel, Farben, Schriftgrössen anpassen.
- Schritt: Einheit und Anzeigeform festlegen (z. B. Tausender, Dezimalstellen).
5.4 Filter hinzufügen
- Schritt: Filterbereich öffnen.
- Schritt: Felder in Visualfilter, Seitenfilter oder Berichtsfilter ziehen.
5.5 Slicer erstellen
- Schritt: Visualisierung → Datenschnitt (Slicer) wählen.
- Schritt: Feld (z. B. Zeitraum, Abteilung) hinzufügen.
5.6 Bedingte Formatierung
- Schritt: In Tabelle/Matrix auf Wertefeld klicken → Bedingte Formatierung.
- Schritt: Regeln definieren (z. B. Rot/Grün je nach Wert).
6. MODUL 6: DASHBOARD BAUEN
6.1 Dashboard-Layout planen
- Schritt: F-Muster beachten – Wichtigstes oben links.
- Schritt: Maximal 6–8 Visualisierungen pro Seite.
- Schritt: KPI-Karten immer in gleicher Reihenfolge anordnen.
6.2 Seite 1: Management-Übersicht
- Schritt: KPI-Karten oben: Headcount, Krankenquote, Fluktuation, Stellenplan.
- Schritt: Trendlinie Headcount über 12 Monate.
- Schritt: Absenzquote nach Typ als Ringdiagramm.
6.3 Seite 2: Detailanalyse
- Schritt: Matrix mit Drill-down nach Abteilung.
- Schritt: Filter für Zeitraum und Kostenstelle (Slicer).
6.4 Interaktionen
- Schritt: Format → Interaktionen bearbeiten.
- Schritt: Prüfen, ob Klick auf Balken andere Visuals filtert oder hervorhebt.
6.5 Design-Tipps
- Schritt: Konsistente Farben (Firmen-CI).
- Schritt: Genügend Weissraum.
- Schritt: Beschriftungen gut lesbar.
7. MODUL 7: VERÖFFENTLICHEN & TEILEN
7.1 Power BI Service (app.powerbi.com)
- Schritt: Konto erstellen/anmelden.
- Schritt: Unterschied Desktop vs Service: Desktop = Modell/Bericht, Service = Teilen/Dashboard.
7.2 Bericht veröffentlichen
- Schritt: Datei → Veröffentlichen → Arbeitsbereich wählen.
7.3 Arbeitsbereich einrichten
- Schritt: Im Service → Arbeitsbereich erstellen.
- Schritt: Zugriffsrechte für Geschäftsleitung/Finanzbuchhaltung setzen.
7.4 Dashboard erstellen (aus Bericht)
- Schritt: Im Service Visualisierung auswählen → Anheften.
- Schritt: Neues Dashboard erstellen oder bestehendes wählen.
7.5 Bericht teilen
- Schritt: Teilen → Link generieren.
- Schritt: Zugriff verwalten (Rollen/Personen).
7.6 Automatische Aktualisierung
- Schritt: Datensatz → Geplante Aktualisierung (täglich/wöchentlich).
- Schritt: Für lokale Daten Gateway einrichten (IT einbeziehen).
7.7 Row-Level Security (RLS)
- Schritt: Modellierung → Rollen verwalten.
- Schritt: Rolle erstellen, Filter setzen:
[Abteilung] = USERPRINCIPALNAME().
8. TROUBLESHOOTING
8.1 Häufige Fehler beim Import
- Encoding-Probleme (UTF-8) → Dateiursprung im Import anpassen.
- Dezimaltrennzeichen (Punkt vs Komma) → Datentyp mit Gebietsschema Schweiz.
- Datum als Text → Datentyp Datum und richtiges Gebietsschema.
8.2 Häufige DAX-Fehler
- Zirkelbezug → Berechnete Spalten vermeiden, Measures nutzen.
- Division durch Null →
DIVIDE()verwenden. - Falscher Filterkontext → Filter mit
CALCULATE()prüfen.
8.3 Beziehungsprobleme
- Mehrdeutige Beziehungen → Eine Beziehung aktiv, andere inaktiv setzen.
- Fehlende Beziehung → Schlüsselspalten prüfen (PERNR, Datum).
8.4 Performance-Probleme
- Zu viele Spalten importiert → Spalten reduzieren.
- Zu viele berechnete Spalten → Measures bevorzugen.
9. ANHANG
9.1 DAX Cheat Sheet (alle HR-Formeln)
Headcount = COUNTROWS(Mitarbeiter)
FTE = SUMX(Mitarbeiter, Mitarbeiter[Beschäftigungsgrad]/100)
Krankheitstage = SUM(Abwesenheiten[Kalendertage])
Sollarbeitstage = [Headcount] * 21
Krankenquote = DIVIDE([Krankheitstage], [Sollarbeitstage], 0)
Krankenquote_ohne_LZ = VAR KrankheitstageKurz = CALCULATE([Krankheitstage], FILTER(Abwesenheiten, Abwesenheiten[Kalendertage] <= 30))
RETURN DIVIDE(KrankheitstageKurz, [Sollarbeitstage], 0)
Austritte = CALCULATE(COUNTROWS(Mitarbeiter), Mitarbeiter[Austritt] <> BLANK())
Avg_Headcount = AVERAGEX(VALUES(Datum[Monat]), [Headcount])
Fluktuation = DIVIDE([Austritte], [Avg_Headcount], 0) * 100
Headcount_VJ = CALCULATE([Headcount], SAMEPERIODLASTYEAR(Datum[Date]))
Headcount_VM = CALCULATE([Headcount], PREVIOUSMONTH(Datum[Date]))
Headcount_YTD = TOTALYTD([Headcount], Datum[Date])
Delta_VJ = [Headcount] - [Headcount_VJ]
Delta_VJ_Proz = DIVIDE([Delta_VJ], [Headcount_VJ], 0)
9.2 Checkliste: Neuen Report erstellen
- Datenquellen klären (SAP, Rexx, Excel/CSV).
- Daten importieren (Modul 1).
- Daten bereinigen in Power Query (Modul 2).
- Beziehungen und Datumstabelle erstellen (Modul 3).
- Measures erstellen (Modul 4).
- Visuals bauen und formatieren (Modul 5).
- Dashboard layouten (Modul 6).
- Veröffentlichen und teilen (Modul 7).
9.3 Glossar
- Power Query: Datenaufbereitungstool in Power BI.
- DAX: Formelsprache für Berechnungen in Power BI.
- Measure: Dynamische Kennzahl, abhängig vom Filterkontext.
- Berechnete Spalte: Feste Berechnung pro Zeile.
- RLS: Row-Level Security für zeilenbasierte Zugriffssteuerung.