Files
Ai/powerbi/HANDOFF_2026-05-11.md

10 KiB

Handoff Power BI HR KPI - 2026-05-11

Kontext

Ziel ist ein Power-BI-Dashboard fuer HR-KPIs Schweiz. HR soll das Dashboard konsumieren, nicht selbst bauen. Die Daten sollen aus SAP und mehreren Rexx-Exports in Power BI zusammengefuehrt werden.

Der aktuelle Fokus ist Phase 1: Zeit und Absenzen, insbesondere Krankheit, Unfall, Ferien, GLZ/Saldo und Vergleich der Quoten mit SAP.

Dateien im Projektordner

Arbeitsordner:

C:\Users\koi\source\repos\Ai\Powerbi

Vorhandene Dateien:

HR_KPI_Formeln_CH.xlsx
infos.txt
infos2.txt

infos.txt und infos2.txt wurden gelesen. Sie enthalten den bisherigen Chat-/Projektverlauf zum HR-KPI-Dashboard.

Relevante Exportdateien in C:\temp

In C:\temp wurden relevante SAP- und Rexx-Dateien gefunden:

C:\temp\HR_KPI_EXPORT.xlsx
C:\temp\Abwesenheitinstunden.xlsx
C:\temp\Exportkommengehen.xlsx
C:\temp\Saldiperstichdatum.xlsx
C:\temp\Saldistundenferien.xlsx
C:\temp\Personalausgeschieden.xlsx

Wichtige Beobachtung: HR_KPI_EXPORT.xlsx wirkt wie ein SAP-Live-Export. Die ersten gelesenen Daten waren fuer Geschäftsjahr = 2026 und Buchungsperiode = 4, also April 2026. Fuer den von HR gewuenschten Test Q1/2026 muessen vermutlich SAP-Daten fuer Perioden 1, 2 und 3 exportiert bzw. bereitgestellt werden.

Vorhandene Formelmappe

Datei:

C:\Users\koi\source\repos\Ai\Powerbi\HR_KPI_Formeln_CH.xlsx

Sheets:

KPI_Formeln
Beispielrechnung
PowerBI_Mapping

Diese Datei ist aktuell eine Formel-/Beispielmappe, keine Live-Datendatei.

Inhalt KPI_Formeln

Enthaelt mathematische Definitionen fuer:

  • Krankheitstage je Mitarbeitenden
  • Krankheitstage gesamt
  • Krankheitsquote %
  • Unfallquote %
  • Gesundheitsbedingte Absenzen %
  • Soll-Arbeitszeit %
  • FTE
  • allgemeine Prozentanteile

Wichtige Formelidee:

Krankheitstage je Mitarbeitenden = Krankheitsstunden / persoenliche Sollzeit pro Tag
Krankheitsquote % = Summe Krankheitsstunden / Summe Soll-Arbeitsstunden * 100
Unfallquote % = (BU-Stunden + NBU-Stunden) / Summe Soll-Arbeitsstunden * 100
Gesundheitsbedingte Absenzen % = (Krankheit + BU + NBU) / Sollstunden * 100

Inhalt Beispielrechnung

Enthaelt Beispielwerte fuer drei Mitarbeitende:

  • Vollzeit
  • Teilzeit 50%
  • 80%

Diese Beispielrechnung dient zum Validieren der Formellogik.

Inhalt PowerBI_Mapping

Enthaelt Mapping von KPI auf Power-BI-Felder/Measures, z.B.:

  • Rexx_Absenzen[Krankheit_Gesamt_Std]
  • M_Krankheitstage_Gesamt
  • M_Gesundheitsbedingte_Absenzen_Prozent
  • HR_KPI_Daten[FTE]

Architekturentscheidung

SAP und Rexx werden nicht in SAP zusammengefuehrt.

Stattdessen:

SAP CSV/XLSX + mehrere Rexx XLSX/CSV + manuelle Excel-Dateien
werden in Power BI ueber Personalnummer/PERNR zusammengefuehrt.

SAP-Report

Der SAP-Report Z_HR_KPI_CONSOLIDATE liefert nur SAP-Daten:

  • Stammdaten
  • Organisation/Kostenstelle
  • Beschaeftigungsgrad/FTE
  • Ein-/Austritt
  • Lohn
  • SAP-Abwesenheiten
  • Stellenplan
  • CSV-/Excel-Export fuer Power BI

Rexx-Daten werden nicht aus SAP extrahiert. Rexx-Felder im SAP-Report sind nur Platzhalter bzw. sollten langfristig eher separat aus Rexx kommen.

Rexx

Rexx kann nicht alles in einem Export liefern, da pro Export maximal ca. 40 Felder moeglich sind. Daher werden thematische Exports benoetigt:

  • Abwesenheiten/Krankheit
  • Ferien
  • GLZ/Salden/Ueberstunden
  • Austritte/Fluktuation
  • Pulsumfrage/Zufriedenheit
  • ggf. weitere Themen

Gelesene Spalten aus den Live-/Exportdateien

C:\temp\HR_KPI_EXPORT.xlsx

Sheet:

Data

Dimension:

A1:AK1139

Relevante Spalten aus Zeile 1:

Personalnummer
Geschäftsjahr
Buchungsperiode
Buchungskreis
Personalbereich
Personalteilbereich
Kostenstelle
Organisationseinheit
Planstelle
Stellenschlüssel
Mitarbeiterkreis
Abrechnungskreis
Teilzeitkraft
Mitarbeitergruppe
Beschäftigungsgrad %
Vorname
Nachname
Geschlecht
Geburtsdatum
Datum
Datum
Bruttolohn Monat
Krankheitstage gesamt
Krankheit < 60 Tage
Krankheit >= 60 Tage (LZK)
Nichtberufsunfall Tage
Berufsunfall Tage
Soll-Stelle vorhanden
Pulsumfrage Score (Rexx)
MA-Zufriedenheit (Rexx)
Kununu Score
Angelegt am
Uhrzeit
Angelegt von

Beispiel aus den ersten Datenzeilen:

Personalnummer 2005, Geschäftsjahr 2026, Buchungsperiode 4
Personalnummer 2010, Geschäftsjahr 2026, Buchungsperiode 4
Personalnummer 2012, Geschäftsjahr 2026, Buchungsperiode 4

Hinweis: Fuer Q1/2026 brauchen wir Perioden 1, 2, 3 oder einen Q1-Gesamtexport.

C:\temp\Abwesenheitinstunden.xlsx

Sheet:

Abwesenheit in Stunden

Dimension:

A1:Z253

Spalten:

Personalnummer
Foto rund
Nachname, Vorname (Link Personal)
Stelle
Organisation
Leitung j/n
Eintrittsdatum
Personal Status
Krank nicht buchbar angetreten (Stunden Ind.)
Krankheit angetreten (Stunden Ind.)
Krank nicht buchbar angetreten (Stunden)
Krankheit angetreten (Stunden)
Krank nicht buchbar angetreten (Zeitraum)
Krankheit angetreten (Zeitraum)
Krank nicht buchbar ausstehend (Stunden Ind.)
Krankheit ausstehend (Stunden Ind.)
Krank nicht buchbar gebucht gesamt (Stunden)
Krankheit genehmigt (Zeitraum)
Krank nicht buchbar genehmigt (Zeitraum)
Krankheit genehmigt (Stunden)
Krank nicht buchbar genehmigt (Stunden)
Krankheit genehmigt (Stunden Ind.)
Krank nicht buchbar genehmigt (Stunden Ind.)
Krankheit gebucht gesamt (Stunden)
Krankheit gebucht gesamt (Stunden Ind.)
Krank nicht buchbar gebucht gesamt (Stunden Ind.)

Wichtig: Rexx liefert Krankheit in Stunden. Laut Projektentscheidung ist Rexx fuer Krankheit/Absenzen fuehrend, weil SAP nur Tage liefert.

C:\temp\Exportkommengehen.xlsx

Sheet:

Export KOMMENGEHEN

Dimension:

A1:O253

Spalten:

Sozialversicherungsnummer
Nachname, Vorname (Link Personal)
Geburtsdatum
Personal Status
Stelle
Organisation
Arbeitszeitmodell
Arbeitszeit
Ø tägliche Sollarbeitszeit (Woche)
Arbeitszeit Mo.
Arbeitszeit Di.
Arbeitszeit Mi.
Arbeitszeit Do.
Arbeitszeit Fr.
Arbeitszeit Sa.

Wichtig: Dieser Export enthaelt keine Personalnummer, sondern Sozialversicherungsnummer und Namen. Fuer stabile Power-BI-Joins ist Personalnummer besser. Falls moeglich, Rexx-Export um Personalnummer ergaenzen.

C:\temp\Saldiperstichdatum.xlsx

Sheet:

Saldi per Stichdatum

Dimension:

A1:Q253

Spalten:

Personalnummer
Kürzel
Nachname, Vorname (Link Personal)
Stelle
Organisation
Kostenstelle
Leitung j/n
Eintrittsdatum
Personal Status
Anstellungsverhältnis
Stunden Saldo
Urlaubsanspruch
Urlaub Rest
Ferien ausstehend (Tage)
Lohnart
Lohn
Lohn Währung

Dieser Export ist wichtig fuer:

  • GLZ/Stunden Saldo
  • Ferienanspruch
  • Urlaub Rest
  • Ferien ausstehend
  • ggf. Lohn aus Rexx, wobei SAP fuer Lohn fuehrend/sensibler sein sollte

Fachliche Entscheidungen aus den TXT-Dateien

  • HR soll das Dashboard konsumieren, nicht bauen.
  • Phase 1 ist Zeit und Absenzen.
  • Rexx ist fuer Krankheit/Absenzen fuehrend.
  • SAP liefert ergaenzende Basisdaten, die Rexx nicht sauber oder nicht vollstaendig liefert.
  • Kununu wird manuell gepflegt.
  • Refline/Time-to-hire ist spaeteres Thema.
  • Rexx Scheduled Reports wurden gesucht, aber offenbar nicht gefunden/freigeschaltet.
  • Manuelles Ablegen der Exports in einem Ordner ist fuer den Start akzeptabel.

Welche Daten nur aus SAP kommen

Diese Felder sind wichtig und kommen eher aus SAP als aus Rexx:

  • Geschlecht
  • Beschaeftigungsgrad %
  • FTE-Grundlage
  • Mitarbeitergruppe/Mitarbeiterkreis
  • Planstelle/Stellenschluessel
  • Soll-Stelle vorhanden
  • Bruttolohn Monat
  • SAP-Abwesenheiten fuer Vergleich
  • BU-/NBU-Tage, falls nicht in Rexx als Stunden vorhanden

Welche Daten aus Rexx kommen

Rexx ist wichtig fuer:

  • Krankheit in Stunden
  • Krankheit genehmigt/gebucht/angetreten/ausstehend
  • GLZ/Stunden Saldo
  • Ferienanspruch
  • Urlaub Rest
  • Ferien ausstehend
  • Organisation/Kostenstelle aus Rexx fuer operative Sicht
  • ggf. Pulsumfrage/Zufriedenheit

Q1/2026-Test mit Live-Daten

HR-Anfrage:

Waere es moeglich, dass wir mit den Live Daten das Q1/2026 testen koennten? Dann koennten wir die Quoten mit jenen aus dem SAP vergleichen um zu pruefen, ob wir die identischen Formeln haben.

Interpretation:

Es soll mit Live-Daten fuer Q1/2026 gerechnet werden:

Januar 2026
Februar 2026
Maerz 2026

Dann sollen die berechneten Quoten gegen SAP verglichen werden.

Noetige Daten fuer Q1/2026

Aus SAP:

  • Export fuer Perioden 1, 2, 3 im Jahr 2026
  • oder ein Export, der Q1 kumuliert enthaelt

Aus Rexx:

  • Abwesenheit/Krankheit mit Zeitraum Q1/2026
  • Sollzeit pro Mitarbeitenden fuer Q1/2026
  • optional BU/NBU, falls Rexx das liefert
  • GLZ/Ferien nur falls fuer den Q1-Vergleich benoetigt

Kritischer Punkt

Die aktuell gefundene SAP-Datei C:\temp\HR_KPI_EXPORT.xlsx zeigt in den ersten Datenzeilen Periode 4/2026. Das reicht nicht fuer Q1/2026.

Naechster sinnvoller Schritt:

  1. SAP-Report fuer Q1/2026 laufen lassen, also Perioden 1 bis 3 oder Q1-Gesamt.
  2. Rexx-Abwesenheitsexport ebenfalls fuer Q1/2026 ziehen.
  3. Power-BI-/Excel-Testdatei erstellen, die beide Quellen ueber Personalnummer verbindet.
  4. Quoten berechnen:
    • Krankheitsquote %
    • Unfallquote %
    • Gesundheitsbedingte Absenzen %
    • Krankheitstage gesamt
  5. Ergebnis mit SAP-Quote vergleichen.

Technische Hinweise aus dieser Session

Excel-Dateien wurden nicht ueber Excel-GUI bearbeitet, sondern als XLSX-Zip/XML gelesen. Das vermeidet Dateisperren.

Ein Versuch mit Excel-COM hing und wurde abgebrochen. Danach wurde ein unsichtbarer Excel-Prozess geprueft. Beim Beenden war der Prozess bereits nicht mehr vorhanden. Es wurden keine Excel-Dateien gespeichert oder veraendert.

In dieser Session wurde bis zur Erstellung dieser Handoff-Datei keine vorhandene Excel-Datei manipuliert.

Empfohlene Antwort an HR

Vorschlag:

Ja, das koennen wir machen. Fuer den Q1/2026-Test brauche ich die Live-Exports fuer Januar bis Maerz 2026 bzw. einen Q1-Gesamtexport aus SAP sowie den passenden Rexx-Abwesenheitsexport fuer denselben Zeitraum. Dann berechne ich die Quoten mit unserer Formel und stelle sie den SAP-Werten gegenueber, damit wir Abweichungen in Definition oder Zeitraum sofort sehen.

Offene Punkte

  • SAP-Q1/2026-Datei fehlt noch oder wurde noch nicht gefunden.
  • Rexx-Q1/2026-Abwesenheitsexport muss bereitgestellt werden.
  • Klaeren, ob Exportkommengehen.xlsx kuenftig Personalnummer enthalten kann. Ohne Personalnummer ist der Join unsauber.
  • Klaeren, ob BU/NBU in Rexx als Stunden verfuegbar ist oder fuer Unfallquote weiter aus SAP-Tagen umgerechnet werden muss.
  • Definieren, ob Q1-Quote mit Sollstunden aus Kalender/SAP oder Rexx-Sollarbeitszeit gerechnet wird.
  • Sicherstellen, dass alle Dateien denselben Zeitraum abdecken.