Überblick
Zielgruppe
- 3–4 HR-Mitarbeiterinnen (Schweiz)
- Excel: Basis + SVERWEIS
- Technikaffinität: 5–6/10
- Keine Power BI Vorkenntnisse
Zielgruppen der Reports
- Geschäftsleitung
- Verwaltungsrat
- Finanzbuchhaltung
- Abteilungsleiter
Datenquellen
- SAP HCM/HRM (Infotypen 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, Rexx)
- Lohnkosten (monatlich)
- Time to hire (Quartal)
- Kununu Score (monatlich)
- Pulsumfrage (Quartal, Rexx)
- MA-Zufriedenheitsumfrage (jährlich, Rexx)
Vorbereitung: Arbeitsordner & Dateien Start
- Lege einen Ordner HR-Power-BI an.
- Erstelle Unterordner:
01_Rohdaten,02_Transformiert,03_Berichte. - Speichere Exporte aus SAP/Rexx/Excel immer in
01_Rohdaten. - Benutze klare Dateinamen mit Datum, z. B.
SAP_PA0001_2025-01.csv.
Ziel: Alle Teammitglieder finden Dateien sofort wieder und arbeiten mit den gleichen Daten.
1. Grundlagen & Datenimport Modul 1
1.1 Installation & erster Start
- Gehe auf https://powerbi.microsoft.com/de-de/desktop/ und lade Power BI Desktop herunter.
- Installiere mit Standardoptionen (Weiter → Installieren → Fertigstellen).
- Starte Power BI Desktop und wähle Leerer Bericht.
- Speichere die Datei als
HR-Reporting.pbixin03_Berichte.
Tipp: Speichere früh und oft – Power BI Desktop hat keine Auto-Speicherung.
1.2 Oberfläche kennenlernen
- Links: Berichtsansicht (Diagramme), Datenansicht (Tabellen), Modellansicht (Beziehungen).
- Rechts: Visualisierungen (Diagramm-Typ), Felder (Spalten), Filter.
- Oben: Menüband mit allen Funktionen.
Merksatz: Felder sind die Daten, Visualisierungen sind die Diagramme.
1.3 Excel importieren (Kununu, Refline)
- Start → Daten abrufen → Excel.
- Datei auswählen → Öffnen.
- Im Navigator das richtige Blatt wählen (z. B.
Kununu_Score). - Klicke Laden.
Warnung: Excel-Tabellen ohne Überschrift führen zu „Spalte1/Spalte2“. Nutze in Power Query „Erste Zeile als Überschrift“.
1.4 CSV importieren (Time-to-hire)
- Start → Daten abrufen → Text/CSV.
- Datei auswählen → Öffnen.
- Prüfe Trennzeichen (meist Semikolon).
- Setze Dateiursprung auf UTF-8.
Tipp: Umlaute (ä, ö, ü) sind das beste Zeichen, ob die Kodierung stimmt.
1.5 SAP-Exporte importieren
- SAP-Export lokal speichern (z. B. PA0001, PA0002, PA0008, PA2001).
- Jeden Infotyp als eigene Tabelle laden.
- Tabellen sofort umbenennen:
Mitarbeiter_Org,Mitarbeiter_Personal,Mitarbeiter_Lohn,Absenzen.
Warnung: SAP-Daten enthalten oft führende Nullen bei Personalnummern (PERNR). Nicht löschen!
2. Power Query Editor Modul 2
2.1 Power Query öffnen
- Start → Daten transformieren.
- Du siehst eine Vorschau-Tabelle pro Datenquelle.
2.2 Erste Zeile als Überschrift
- Transformieren → Erste Zeile als Überschriften.
- Kontrolliere, ob Spaltennamen sinnvoll sind.
2.3 Datentypen richtig setzen
- Datumsspalten: Datum auswählen.
- Zahlen: Ganze Zahl oder Dezimalzahl.
- Text: Text.
Warnung: Schweizer Datumsformat (TT.MM.JJJJ) braucht oft „Datentyp mit Gebietsschema (Deutsch – Schweiz)“.
2.4 Spalten entfernen / behalten
- Unnötige Spalten markieren → Spalten entfernen.
- Wenn nur 6–8 Spalten relevant sind: Andere Spalten entfernen.
2.5 Zeilen filtern
- Filterpfeil in der Spalte Status.
- Nur aktive Mitarbeitende wählen.
- Zeitraum (z. B. letztes Jahr) filtern.
2.6 Werte ersetzen
- Transformieren → Werte ersetzen.
nulldurch0ersetzen.- Codes wie
Ain Klartext (Aktiv) umwandeln.
2.7 Spalten teilen / zusammenführen
- Spalte auswählen → Spalte teilen (z. B. Vorname/Nachname).
- Mehrere Spalten zusammenführen (z. B. Vorname + Nachname).
2.8 Berechnete Spalte
- Spalte hinzufügen → Benutzerdefinierte Spalte.
- Beispiel: FTE = Beschäftigungsgrad / 100.
2.9 Schliessen & Laden
- Start → Schliessen & Laden.
- „Laden in“ nutzen, wenn du nur eine Verbindung brauchst.
3. Datenmodell Modul 3
3.1 Beziehungen verstehen
1:n Beziehung
Eine Personalnummer in der Mitarbeitertabelle kann viele Abwesenheitszeilen haben.
1:1 Beziehung
Eine Personalnummer hat genau eine Detailzeile (z. B. Stammdaten).
Filterfluss
Filter sollen meistens nur in eine Richtung laufen (Einweg).
3.2 Beziehung erstellen
- Modellansicht öffnen (Beziehungs-Icon links).
- Spalte PERNR von Tabelle A auf Tabelle B ziehen.
- Kardinalität prüfen (1:n) und Kreuzfilterrichtung auf Einweg setzen.
3.3 Datumstabelle erstellen
- Modellierung → Neue Tabelle.
- DAX-Formel eingeben:
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])
)
- Tabellen-Tools → Als Datumstabelle markieren → Datum[Date].
3.4 PERNR als Schlüssel
- PERNR in allen SAP-Tabellen verwenden.
- In Rexx/Excel dieselbe Spalte sicherstellen.
- Bei führenden Nullen: Datentyp Text setzen (nicht Zahl).
4. DAX Measures Modul 4
4.1 Measure vs. berechnete Spalte
- Measure: wird im Bericht berechnet, schneller und flexibler.
- Berechnete Spalte: wird in jeder Zeile gespeichert (macht Modell grösser).
4.2 Neues Measure erstellen
- Modellierung → Neues Measure.
- Formel eingeben und Enter drücken.
- 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
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
- Measure auswählen.
- Measure-Tools → Format (Prozent, Währung, Dezimalstellen).
Tipp: Für Krankenquote Prozentformat mit 1 Dezimalstelle verwenden.
5. Visualisierungen Modul 5
5.1 Welche Visualisierung wofür?
- Karte/Card: Einzelne KPI-Zahl (Headcount, Fluktuation).
- Balken: Vergleich von Abteilungen/Monaten.
- Linie: Trendverlauf (Headcount über 12 Monate).
- Ring: Anteil Absenzen nach Typ.
- Tachometer: Ziel vs Ist (Stellenplan).
- Matrix: Detailansicht mit Drill-down.
5.2 Erste Visualisierung erstellen
- Visualisierung auswählen (z. B. Karte).
- Feld
Headcountin Werte ziehen. - Visual rechts auf der Seite platzieren.
5.3 Visualisierung formatieren
- Visual auswählen → Format (Pinsel).
- Titel hinzufügen: „Headcount aktuell“.
- Farben gemäss Firmen-CI setzen.
5.4 Filter & Slicer
- Filterbereich öffnen.
- Feld
Abteilungals Seitenfilter setzen. - Slicer für Zeitraum hinzufügen.
Warnung: Zu viele Filter verwirren. Maximal 2–3 Slicer pro Seite.
6. Dashboard bauen Modul 6
6.1 Layout planen
- Wichtigste KPIs oben links platzieren (F-Muster).
- Maximal 6–8 Visuals pro Seite.
- Genug Weissraum für bessere Lesbarkeit.
6.2 Management-Übersicht (Seite 1)
- KPI-Karten: Headcount, Krankenquote, Fluktuation, Stellenplan.
- Trendlinie Headcount (12 Monate).
- Absenzquote nach Typ als Ringdiagramm.
6.3 Detailanalyse (Seite 2)
- Matrix mit Drill-down nach Abteilung.
- Slicer: Zeitraum und Kostenstelle.
6.4 Interaktionen
- Format → Interaktionen bearbeiten.
- Prüfen, ob Klick auf Balken andere Visuals filtert.
7. Veröffentlichen & Teilen Modul 7
- Datei → Veröffentlichen → Arbeitsbereich wählen.
- Im Service Visuals anheften → Dashboard erstellen.
- Teilen-Link an Geschäftsleitung/Finanzen senden.
- Geplante Aktualisierung einrichten (Gateway für lokale Daten).
Tipp: Teste RLS im Service immer mit „Als Rolle anzeigen“.
8. Troubleshooting Modul 8
8.1 Häufige Import-Fehler
- Umlaute falsch → Encoding auf UTF-8 stellen.
- Datum als Text → Datentyp mit Gebietsschema Schweiz.
- Dezimaltrennzeichen falsch → Gebietsschema prüfen.
8.2 DAX-Fehler
- Zirkelbezug → berechnete Spalten vermeiden.
- Division durch Null →
DIVIDE()verwenden. - Filterkontext falsch →
CALCULATE()prüfen.
9. Anhang: Cheat Sheet & Checkliste Modul 9
9.1 DAX Cheat Sheet
Headcount = COUNTROWS(Mitarbeiter)
FTE = SUMX(Mitarbeiter, Mitarbeiter[Beschäftigungsgrad]/100)
Krankenquote = DIVIDE([Krankheitstage], [Sollarbeitstage], 0)
Fluktuation = DIVIDE([Austritte], [Avg_Headcount], 0) * 100
9.2 Checkliste: Neuer Report
- Datenquellen klären (SAP, Rexx, Excel/CSV).
- Daten importieren und bereinigen (Power Query).
- Beziehungen und Datumstabelle erstellen.
- Measures bauen und formatieren.
- Dashboard layouten, testen, veröffentlichen.