Power BI Schulungshandbuch für HR

Für 3–4 HR-Mitarbeiterinnen (Schweiz) mit wenig IT-Kenntnissen und Excel-Basis.

Hinweis: Eine Word-Version ist 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

Zielgruppen der Reports

  • Geschäftsleitung
  • Verwaltungsrat
  • Finanzbuchhaltung
  • Abteilungsleiter

Datenquellen

KPIs (mit Periodizität)

SAP HCM/HRM Rexx HR-System Excel/CSV Power BI Desktop Berichte & Dashboards GL · VR · Finanzen · Abteilungen
Grafik: Datenfluss von HR-Quellen in Power BI bis zu den Zielgruppen-Reports.

Vorbereitung: Arbeitsordner & Dateien Start

  1. Lege einen Ordner HR-Power-BI an.
  2. Erstelle Unterordner: 01_Rohdaten, 02_Transformiert, 03_Berichte.
  3. Speichere Exporte aus SAP/Rexx/Excel immer in 01_Rohdaten.
  4. 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

  1. Gehe auf https://powerbi.microsoft.com/de-de/desktop/ und lade Power BI Desktop herunter.
  2. Installiere mit Standardoptionen (Weiter → Installieren → Fertigstellen).
  3. Starte Power BI Desktop und wähle Leerer Bericht.
  4. Speichere die Datei als HR-Reporting.pbix in 03_Berichte.
Tipp: Speichere früh und oft – Power BI Desktop hat keine Auto-Speicherung.

1.2 Oberfläche kennenlernen

  1. Links: Berichtsansicht (Diagramme), Datenansicht (Tabellen), Modellansicht (Beziehungen).
  2. Rechts: Visualisierungen (Diagramm-Typ), Felder (Spalten), Filter.
  3. Oben: Menüband mit allen Funktionen.
Merksatz: Felder sind die Daten, Visualisierungen sind die Diagramme.

1.3 Excel importieren (Kununu, Refline)

  1. Start → Daten abrufen → Excel.
  2. Datei auswählen → Öffnen.
  3. Im Navigator das richtige Blatt wählen (z. B. Kununu_Score).
  4. 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)

  1. Start → Daten abrufen → Text/CSV.
  2. Datei auswählen → Öffnen.
  3. Prüfe Trennzeichen (meist Semikolon).
  4. Setze Dateiursprung auf UTF-8.
Tipp: Umlaute (ä, ö, ü) sind das beste Zeichen, ob die Kodierung stimmt.

1.5 SAP-Exporte importieren

  1. SAP-Export lokal speichern (z. B. PA0001, PA0002, PA0008, PA2001).
  2. Jeden Infotyp als eigene Tabelle laden.
  3. 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

  1. Start → Daten transformieren.
  2. Du siehst eine Vorschau-Tabelle pro Datenquelle.

2.2 Erste Zeile als Überschrift

  1. Transformieren → Erste Zeile als Überschriften.
  2. Kontrolliere, ob Spaltennamen sinnvoll sind.

2.3 Datentypen richtig setzen

  1. Datumsspalten: Datum auswählen.
  2. Zahlen: Ganze Zahl oder Dezimalzahl.
  3. Text: Text.
Warnung: Schweizer Datumsformat (TT.MM.JJJJ) braucht oft „Datentyp mit Gebietsschema (Deutsch – Schweiz)“.

2.4 Spalten entfernen / behalten

  1. Unnötige Spalten markieren → Spalten entfernen.
  2. Wenn nur 6–8 Spalten relevant sind: Andere Spalten entfernen.

2.5 Zeilen filtern

  1. Filterpfeil in der Spalte Status.
  2. Nur aktive Mitarbeitende wählen.
  3. Zeitraum (z. B. letztes Jahr) filtern.

2.6 Werte ersetzen

  1. Transformieren → Werte ersetzen.
  2. null durch 0 ersetzen.
  3. Codes wie A in Klartext (Aktiv) umwandeln.

2.7 Spalten teilen / zusammenführen

  1. Spalte auswählen → Spalte teilen (z. B. Vorname/Nachname).
  2. Mehrere Spalten zusammenführen (z. B. Vorname + Nachname).

2.8 Berechnete Spalte

  1. Spalte hinzufügen → Benutzerdefinierte Spalte.
  2. Beispiel: FTE = Beschäftigungsgrad / 100.

2.9 Schliessen & Laden

  1. Start → Schliessen & Laden.
  2. „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

  1. Modellansicht öffnen (Beziehungs-Icon links).
  2. Spalte PERNR von Tabelle A auf Tabelle B ziehen.
  3. Kardinalität prüfen (1:n) und Kreuzfilterrichtung auf Einweg setzen.

3.3 Datumstabelle erstellen

  1. Modellierung → Neue Tabelle.
  2. 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])
)
  1. Tabellen-Tools → Als Datumstabelle markieren → Datum[Date].

3.4 PERNR als Schlüssel

  1. PERNR in allen SAP-Tabellen verwenden.
  2. In Rexx/Excel dieselbe Spalte sicherstellen.
  3. Bei führenden Nullen: Datentyp Text setzen (nicht Zahl).

4. DAX Measures Modul 4

4.1 Measure vs. berechnete Spalte

4.2 Neues Measure erstellen

  1. Modellierung → Neues Measure.
  2. Formel eingeben und Enter drücken.
  3. 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

  1. Measure auswählen.
  2. 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?

5.2 Erste Visualisierung erstellen

  1. Visualisierung auswählen (z. B. Karte).
  2. Feld Headcount in Werte ziehen.
  3. Visual rechts auf der Seite platzieren.

5.3 Visualisierung formatieren

  1. Visual auswählen → Format (Pinsel).
  2. Titel hinzufügen: „Headcount aktuell“.
  3. Farben gemäss Firmen-CI setzen.

5.4 Filter & Slicer

  1. Filterbereich öffnen.
  2. Feld Abteilung als Seitenfilter setzen.
  3. 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

  1. Wichtigste KPIs oben links platzieren (F-Muster).
  2. Maximal 6–8 Visuals pro Seite.
  3. Genug Weissraum für bessere Lesbarkeit.

6.2 Management-Übersicht (Seite 1)

  1. KPI-Karten: Headcount, Krankenquote, Fluktuation, Stellenplan.
  2. Trendlinie Headcount (12 Monate).
  3. Absenzquote nach Typ als Ringdiagramm.

6.3 Detailanalyse (Seite 2)

  1. Matrix mit Drill-down nach Abteilung.
  2. Slicer: Zeitraum und Kostenstelle.

6.4 Interaktionen

  1. Format → Interaktionen bearbeiten.
  2. Prüfen, ob Klick auf Balken andere Visuals filtert.

7. Veröffentlichen & Teilen Modul 7

  1. Datei → Veröffentlichen → Arbeitsbereich wählen.
  2. Im Service Visuals anheften → Dashboard erstellen.
  3. Teilen-Link an Geschäftsleitung/Finanzen senden.
  4. 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

8.2 DAX-Fehler

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