Add HTML Power BI HR manual
This commit is contained in:
@@ -0,0 +1,331 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de-CH">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Power BI Schulungshandbuch für HR</title>
|
||||
<style>
|
||||
:root {
|
||||
color-scheme: light;
|
||||
--accent: #1f6feb;
|
||||
--text: #0f172a;
|
||||
--muted: #475569;
|
||||
--bg: #f8fafc;
|
||||
--card: #ffffff;
|
||||
--border: #e2e8f0;
|
||||
--code: #0b1020;
|
||||
}
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
|
||||
color: var(--text);
|
||||
background: var(--bg);
|
||||
line-height: 1.6;
|
||||
}
|
||||
header {
|
||||
background: linear-gradient(120deg, #e0f2fe 0%, #eef2ff 100%);
|
||||
padding: 40px 24px 24px;
|
||||
border-bottom: 1px solid var(--border);
|
||||
}
|
||||
header h1 {
|
||||
margin: 0 0 8px 0;
|
||||
font-size: 2.2rem;
|
||||
}
|
||||
header p {
|
||||
margin: 4px 0;
|
||||
color: var(--muted);
|
||||
}
|
||||
main {
|
||||
max-width: 980px;
|
||||
margin: 0 auto;
|
||||
padding: 24px;
|
||||
}
|
||||
section {
|
||||
background: var(--card);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 12px;
|
||||
padding: 24px;
|
||||
margin-bottom: 20px;
|
||||
box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
|
||||
}
|
||||
h2 {
|
||||
margin-top: 0;
|
||||
color: #111827;
|
||||
border-bottom: 2px solid var(--border);
|
||||
padding-bottom: 6px;
|
||||
}
|
||||
h3 {
|
||||
margin-bottom: 6px;
|
||||
color: #1e293b;
|
||||
}
|
||||
.badge {
|
||||
display: inline-block;
|
||||
padding: 2px 10px;
|
||||
border-radius: 999px;
|
||||
font-size: 0.85rem;
|
||||
background: #e0f2fe;
|
||||
color: #0369a1;
|
||||
margin-left: 8px;
|
||||
}
|
||||
ul, ol {
|
||||
margin: 8px 0 16px 24px;
|
||||
}
|
||||
.callout {
|
||||
border-left: 4px solid var(--accent);
|
||||
background: #eef2ff;
|
||||
padding: 12px 16px;
|
||||
border-radius: 8px;
|
||||
margin: 12px 0;
|
||||
color: #1e293b;
|
||||
}
|
||||
.warning {
|
||||
border-left-color: #f97316;
|
||||
background: #fff7ed;
|
||||
}
|
||||
pre {
|
||||
background: #0b1020;
|
||||
color: #e2e8f0;
|
||||
padding: 16px;
|
||||
border-radius: 10px;
|
||||
overflow-x: auto;
|
||||
}
|
||||
code {
|
||||
font-family: "Consolas", "Courier New", monospace;
|
||||
}
|
||||
figure {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
figcaption {
|
||||
color: var(--muted);
|
||||
font-size: 0.9rem;
|
||||
margin-top: 8px;
|
||||
}
|
||||
.grid-two {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
|
||||
gap: 16px;
|
||||
}
|
||||
.kpi-list li {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>Power BI Schulungshandbuch für HR</h1>
|
||||
<p>Word-Version: Nicht im Repo enthalten (Binary-Dateien werden beim PR-Erstellen nicht unterstützt).</p>
|
||||
<p>Version: HTML-Ausgabe mit erweiterten Erklärungen, Checklisten und Beispielen.</p>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<section>
|
||||
<h2>Überblick</h2>
|
||||
<div class="grid-two">
|
||||
<div>
|
||||
<h3>Zielgruppe</h3>
|
||||
<ul>
|
||||
<li>3–4 HR-Mitarbeiterinnen (Schweiz)</li>
|
||||
<li>Excel-Basis + SVERWEIS</li>
|
||||
<li>Technikaffinität 5–6/10</li>
|
||||
<li>Keine Power BI Vorkenntnisse</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h3>Zielgruppen der Reports</h3>
|
||||
<ul>
|
||||
<li>Geschäftsleitung</li>
|
||||
<li>Verwaltungsrat</li>
|
||||
<li>Finanzbuchhaltung</li>
|
||||
<li>Abteilungsleiter</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3>Datenquellen</h3>
|
||||
<ul>
|
||||
<li>SAP HCM/HRM (Infotypen PA0001, PA0002, PA0008, PA2001)</li>
|
||||
<li>Rexx HR-System (Stellenplan, Pulsumfrage, MA-Zufriedenheit)</li>
|
||||
<li>Excel/CSV (Kununu-Score, Refline/Time-to-hire)</li>
|
||||
</ul>
|
||||
|
||||
<h3>KPIs</h3>
|
||||
<ul class="kpi-list">
|
||||
<li>Headcount/FTE (monatlich)</li>
|
||||
<li>Fluktuation (monatlich)</li>
|
||||
<li>Krankenquote gesamt + ohne Langzeitkrankheiten >30 Tage (Quartal)</li>
|
||||
<li>Überstunden (Quartal)</li>
|
||||
<li>Produktivstunden (wöchentlich)</li>
|
||||
<li>Ferientage/GLZ-Saldi (jährlich)</li>
|
||||
<li>Stellenplan Soll vs Ist (monatlich, Rexx)</li>
|
||||
<li>Lohnkosten (monatlich)</li>
|
||||
<li>Time to hire (Quartal)</li>
|
||||
<li>Kununu Score (monatlich)</li>
|
||||
<li>Pulsumfrage (Quartal, Rexx)</li>
|
||||
<li>MA-Zufriedenheitsumfrage (jährlich, Rexx)</li>
|
||||
</ul>
|
||||
|
||||
<figure>
|
||||
<svg width="100%" height="240" viewBox="0 0 900 240" role="img" aria-label="Datenfluss von Quellen zu Power BI und Reports">
|
||||
<defs>
|
||||
<linearGradient id="box" x1="0" x2="1">
|
||||
<stop offset="0%" stop-color="#e0f2fe"/>
|
||||
<stop offset="100%" stop-color="#eef2ff"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect x="20" y="30" width="220" height="60" rx="12" fill="url(#box)" stroke="#94a3b8" />
|
||||
<text x="130" y="65" text-anchor="middle" font-size="14" fill="#0f172a">SAP HCM/HRM</text>
|
||||
|
||||
<rect x="20" y="120" width="220" height="60" rx="12" fill="url(#box)" stroke="#94a3b8" />
|
||||
<text x="130" y="155" text-anchor="middle" font-size="14" fill="#0f172a">Rexx HR-System</text>
|
||||
|
||||
<rect x="20" y="210" width="220" height="60" rx="12" fill="url(#box)" stroke="#94a3b8" />
|
||||
<text x="130" y="245" text-anchor="middle" font-size="14" fill="#0f172a">Excel/CSV</text>
|
||||
|
||||
<rect x="330" y="100" width="220" height="80" rx="14" fill="#1f6feb" opacity="0.12" stroke="#1f6feb" />
|
||||
<text x="440" y="145" text-anchor="middle" font-size="16" fill="#1f6feb">Power BI Desktop</text>
|
||||
|
||||
<rect x="650" y="70" width="220" height="120" rx="14" fill="#ecfeff" stroke="#0ea5e9" />
|
||||
<text x="760" y="120" text-anchor="middle" font-size="14" fill="#0f172a">Berichte & Dashboards</text>
|
||||
<text x="760" y="145" text-anchor="middle" font-size="12" fill="#475569">GL · VR · Finanzen · Abteilungen</text>
|
||||
|
||||
<line x1="240" y1="60" x2="330" y2="120" stroke="#64748b" stroke-width="2" marker-end="url(#arrow)" />
|
||||
<line x1="240" y1="150" x2="330" y2="140" stroke="#64748b" stroke-width="2" />
|
||||
<line x1="240" y1="240" x2="330" y2="160" stroke="#64748b" stroke-width="2" />
|
||||
<line x1="550" y1="140" x2="650" y2="130" stroke="#64748b" stroke-width="2" />
|
||||
|
||||
<defs>
|
||||
<marker id="arrow" markerWidth="10" markerHeight="10" refX="9" refY="3" orient="auto">
|
||||
<path d="M0,0 L9,3 L0,6 Z" fill="#64748b" />
|
||||
</marker>
|
||||
</defs>
|
||||
</svg>
|
||||
<figcaption>Grafik: Datenfluss von HR-Quellen in Power BI bis zu den Zielgruppen-Reports.</figcaption>
|
||||
</figure>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>1. Grundlagen & Datenimport <span class="badge">Modul 1</span></h2>
|
||||
<h3>1.1 Installation & erster Start</h3>
|
||||
<ol>
|
||||
<li>Gehe auf https://powerbi.microsoft.com/de-de/desktop/ und lade Power BI Desktop herunter.</li>
|
||||
<li>Installiere die Anwendung mit den Standardoptionen (Weiter → Installieren → Fertigstellen).</li>
|
||||
<li>Starte Power BI Desktop und wähle „Leerer Bericht“.</li>
|
||||
<li>Speichere die Datei als <code>HR-Reporting.pbix</code> in einem Projektordner.</li>
|
||||
</ol>
|
||||
<div class="callout">Tipp: Lege eine Ordnerstruktur an: <code>01_Rohdaten</code>, <code>02_Modelle</code>, <code>03_Exporte</code>.</div>
|
||||
|
||||
<h3>1.2 Oberfläche kennenlernen</h3>
|
||||
<ol>
|
||||
<li>Wechsle links zwischen Berichts-, Daten- und Modellansicht.</li>
|
||||
<li>Suche das Menüband (oben), Visualisierungen (rechts) und den Felderbereich (rechts).</li>
|
||||
<li>Öffne den Filterbereich, um Filter auf Visual-, Seiten- und Berichtsebene zu sehen.</li>
|
||||
</ol>
|
||||
|
||||
<h3>1.3 Excel & CSV importieren</h3>
|
||||
<ol>
|
||||
<li>Start → Daten abrufen → Excel/CSV.</li>
|
||||
<li>Im Navigator nur relevante Tabellen auswählen.</li>
|
||||
<li>Encoding auf UTF-8 setzen, wenn Umlaute falsch angezeigt werden.</li>
|
||||
</ol>
|
||||
<div class="callout warning">Warnung: Achte auf das Dezimaltrennzeichen (Punkt/Komma). Setze ggf. das Gebietsschema auf Schweiz.</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>2. Power Query Editor <span class="badge">Modul 2</span></h2>
|
||||
<h3>2.1 Datentypen & Struktur</h3>
|
||||
<ol>
|
||||
<li>Transformieren → Erste Zeile als Überschriften.</li>
|
||||
<li>Datentypen auf Datum, Text oder Zahl setzen.</li>
|
||||
<li>Überflüssige Spalten entfernen, relevante Spalten behalten.</li>
|
||||
</ol>
|
||||
|
||||
<h3>2.2 Filter & Bereinigung</h3>
|
||||
<ol>
|
||||
<li>Filter für aktive Mitarbeitende setzen.</li>
|
||||
<li>Nullwerte ersetzen (z. B. 0 für fehlende Überstunden).</li>
|
||||
<li>Codes in Klartext umwandeln (z. B. A → Aktiv).</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>3. Datenmodell <span class="badge">Modul 3</span></h2>
|
||||
<h3>3.1 Beziehungen erstellen</h3>
|
||||
<ol>
|
||||
<li>PERNR als Schlüssel zwischen SAP-Tabellen nutzen.</li>
|
||||
<li>Datumsbeziehungen über eine zentrale Datumstabelle herstellen.</li>
|
||||
<li>Kreuzfilterrichtung auf „Einweg“ setzen.</li>
|
||||
</ol>
|
||||
|
||||
<h3>3.2 Datumstabelle (DAX)</h3>
|
||||
<pre><code>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])
|
||||
)</code></pre>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>4. DAX Measures <span class="badge">Modul 4</span></h2>
|
||||
<h3>4.1 Basis-Measures</h3>
|
||||
<pre><code>Headcount = COUNTROWS(Mitarbeiter)
|
||||
FTE = SUMX(Mitarbeiter, Mitarbeiter[Beschäftigungsgrad]/100)
|
||||
Krankenquote = DIVIDE([Krankheitstage], [Sollarbeitstage], 0)</code></pre>
|
||||
|
||||
<h3>4.2 Zeitintelligenz</h3>
|
||||
<pre><code>Headcount_VJ = CALCULATE([Headcount], SAMEPERIODLASTYEAR(Datum[Date]))
|
||||
Headcount_YTD = TOTALYTD([Headcount], Datum[Date])</code></pre>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>5. Visualisierung & Dashboard <span class="badge">Module 5–6</span></h2>
|
||||
<h3>5.1 Visuals gezielt einsetzen</h3>
|
||||
<ul>
|
||||
<li>Karten für KPI-Summen (Headcount, Fluktuation)</li>
|
||||
<li>Liniendiagramm für Trendverläufe</li>
|
||||
<li>Matrix für Detailansichten mit Drill-down</li>
|
||||
</ul>
|
||||
|
||||
<h3>5.2 Dashboard-Layout</h3>
|
||||
<ol>
|
||||
<li>Wichtigste KPIs oben links platzieren (F-Muster).</li>
|
||||
<li>Maximal 6–8 Visuals pro Seite.</li>
|
||||
<li>Farben konsistent mit der Firmen-CI.</li>
|
||||
</ol>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>6. Veröffentlichen & Teilen <span class="badge">Modul 7</span></h2>
|
||||
<ol>
|
||||
<li>Datei → Veröffentlichen → Arbeitsbereich wählen.</li>
|
||||
<li>Dashboard-Visuals anheften.</li>
|
||||
<li>Geplante Aktualisierung einrichten (mit Gateway für lokale Daten).</li>
|
||||
<li>Row-Level Security für Abteilungsleiter einrichten.</li>
|
||||
</ol>
|
||||
<div class="callout">Tipp: Teste RLS immer im Service über „Als Rolle anzeigen“.</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>7. Troubleshooting & Checklisten <span class="badge">Modul 8–9</span></h2>
|
||||
<h3>7.1 Häufige Fehler</h3>
|
||||
<ul>
|
||||
<li>Encoding-Probleme → UTF-8 auswählen</li>
|
||||
<li>Datum als Text → Datentyp mit Gebietsschema Schweiz</li>
|
||||
<li>Division durch Null → <code>DIVIDE()</code> verwenden</li>
|
||||
</ul>
|
||||
|
||||
<h3>7.2 Checkliste neuer Report</h3>
|
||||
<ol>
|
||||
<li>Datenquellen klären und Exporte konsolidieren.</li>
|
||||
<li>Power Query Bereinigung durchführen.</li>
|
||||
<li>Datenmodell und Datumstabelle sauber anlegen.</li>
|
||||
<li>Measures erstellen und formatieren.</li>
|
||||
<li>Dashboard bauen, testen, veröffentlichen.</li>
|
||||
</ol>
|
||||
</section>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,359 @@
|
||||
# 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
|
||||
1. Schritt: Gehe auf https://powerbi.microsoft.com/de-de/desktop/ und lade Power BI Desktop herunter.
|
||||
2. Schritt: Installiere die Anwendung mit den Standardoptionen (Weiter → Installieren → Fertigstellen).
|
||||
3. Schritt: Starte Power BI Desktop über das Startmenü.
|
||||
4. 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
|
||||
1. Schritt: Wechsle links zwischen **Berichtsansicht**, **Datenansicht** und **Modellansicht**.
|
||||
2. Schritt: Erkenne die Bereiche: **Menüband**, **Visualisierungen**, **Felder**, **Seiten-Navigation**.
|
||||
3. 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
|
||||
1. Schritt: **Start → Daten abrufen → Excel**.
|
||||
2. Schritt: Datei auswählen → **Öffnen**.
|
||||
3. Schritt: Im **Navigator** Tabelle oder Blatt auswählen → **Laden**.
|
||||
4. Schritt: Prüfe in der Datenansicht, ob die Spalten korrekt geladen wurden.
|
||||
|
||||
**Häufige Probleme und Lösungen:**
|
||||
1. Problem: Falsche Spaltennamen → Lösung: Erste Zeile als Header setzen (Modul 2).
|
||||
2. Problem: Zahlen als Text → Lösung: Datentyp korrigieren (Modul 2).
|
||||
3. Problem: Leere Zeilen → Lösung: Leere Zeilen entfernen (Modul 2).
|
||||
|
||||
### 1.4 CSV importieren
|
||||
1. Schritt: **Start → Daten abrufen → Text/CSV**.
|
||||
2. Schritt: Datei auswählen → **Öffnen**.
|
||||
3. Schritt: Im Vorschaufenster **Trennzeichen** (z. B. Semikolon) prüfen.
|
||||
4. 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
|
||||
1. Schritt: SAP-Export (z. B. TXT/CSV/XLSX) in einen lokalen Ordner speichern.
|
||||
2. Schritt: **Start → Daten abrufen → Text/CSV** oder **Excel** wählen.
|
||||
3. Schritt: Prüfe, ob die erste Zeile die Spaltenüberschriften enthält.
|
||||
4. 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
|
||||
1. Schritt: **Start → Daten transformieren**.
|
||||
|
||||
[Screenshot: Button 'Daten transformieren' im Menüband].
|
||||
|
||||
### 2.2 Erste Zeile als Header verwenden
|
||||
1. Schritt: **Transformieren → Erste Zeile als Überschriften**.
|
||||
2. Schritt: Prüfe, ob die Spaltennamen korrekt sind.
|
||||
|
||||
### 2.3 Datentypen ändern
|
||||
1. Schritt: Spalte auswählen (z. B. Eintrittsdatum).
|
||||
2. Schritt: **Transformieren → Datentyp → Datum**.
|
||||
3. Schritt: Bei Zahlen **Dezimalzahl** oder **Ganze Zahl** wählen.
|
||||
4. Schritt: Bei Schweizer Datumsformat **mit Gebietsschema (Deutsch – Schweiz)** konvertieren.
|
||||
|
||||
**Warnung:** Datumsfelder werden oft als Text erkannt.
|
||||
|
||||
### 2.4 Spalten entfernen/behalten
|
||||
1. Schritt: Unnötige Spalten markieren.
|
||||
2. Schritt: **Start → Spalten entfernen**.
|
||||
3. Schritt: Für schlanke Tabellen: **Andere Spalten entfernen**.
|
||||
|
||||
### 2.5 Zeilen filtern
|
||||
1. Schritt: Filterpfeil in der Spalte **Status**.
|
||||
2. Schritt: Nur aktive Mitarbeitende auswählen.
|
||||
3. Schritt: Zeitraumfilter setzen (z. B. letztes Jahr).
|
||||
|
||||
### 2.6 Werte ersetzen
|
||||
1. Schritt: **Transformieren → Werte ersetzen**.
|
||||
2. Schritt: `null` durch `0` ersetzen.
|
||||
3. Schritt: Codes (z. B. `A`) durch Klartext (z. B. `Aktiv`) ersetzen.
|
||||
|
||||
### 2.7 Spalten teilen/zusammenführen
|
||||
1. Schritt: Spalte auswählen.
|
||||
2. Schritt: **Transformieren → Spalte teilen** (nach Trennzeichen).
|
||||
3. Schritt: Für Zusammenführen: **Transformieren → Spalten zusammenführen**.
|
||||
|
||||
### 2.8 Berechnete Spalte hinzufügen
|
||||
1. Schritt: **Spalte hinzufügen → Benutzerdefinierte Spalte**.
|
||||
2. Schritt: Formel eingeben (z. B. `Beschäftigungsgrad/100`).
|
||||
|
||||
### 2.9 Schliessen und Laden
|
||||
1. Schritt: **Start → Schliessen & laden**.
|
||||
2. Schritt: Unterschied: **Laden** speichert in Modell, **Laden in** erlaubt gezielte Ziele (z. B. nur Verbindung).
|
||||
|
||||
---
|
||||
|
||||
## 3. MODUL 3: DATENMODELL
|
||||
|
||||
### 3.1 Zur Modellansicht wechseln
|
||||
1. Schritt: Links auf die Modellansicht (Beziehungs-Icon) klicken.
|
||||
|
||||
### 3.2 Beziehungen verstehen
|
||||
1. Schritt: **1:n** = Eine Zeile in Tabelle A passt zu vielen Zeilen in Tabelle B.
|
||||
2. Schritt: **1:1** = Jede Zeile passt genau zu einer anderen Zeile.
|
||||
|
||||
**Warum wichtig:** Beziehungen steuern, wie Filter zwischen Tabellen fliessen.
|
||||
|
||||
### 3.3 Beziehung erstellen
|
||||
1. Schritt: Spalte in Tabelle A auf passende Spalte in Tabelle B ziehen (Drag & Drop).
|
||||
2. Schritt: Beziehung prüfen → Kardinalität und Kreuzfilterrichtung einstellen.
|
||||
3. Schritt: Beziehungsnamen überprüfen und bei Bedarf bearbeiten.
|
||||
|
||||
**Tipp:** Nutze meistens Einweg-Filterrichtung, um Mehrdeutigkeiten zu vermeiden.
|
||||
|
||||
### 3.4 Datumstabelle erstellen
|
||||
1. Schritt: **Modellierung → Neue Tabelle**.
|
||||
2. 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])
|
||||
)
|
||||
```
|
||||
|
||||
3. Schritt: **Tabellen-Tools → Als Datumstabelle markieren → Datum[Date] auswählen**.
|
||||
|
||||
### 3.5 PERNR als Schlüssel
|
||||
1. Schritt: Verwende die **Personalnummer (PERNR)** als Schlüssel zwischen SAP-Tabellen (PA0001, PA0002, PA0008, PA2001).
|
||||
2. Schritt: In Rexx/Excel dieselbe Schlüsselspalte sicherstellen.
|
||||
|
||||
---
|
||||
|
||||
## 4. MODUL 4: DAX MEASURES
|
||||
|
||||
### 4.1 Measure vs. berechnete Spalte
|
||||
1. Schritt: **Measure** berechnet sich dynamisch im Berichtskontext.
|
||||
2. Schritt: **Berechnete Spalte** wird pro Zeile gespeichert und vergrössert das Modell.
|
||||
|
||||
### 4.2 Neues Measure erstellen
|
||||
1. Schritt: **Modellierung → Neues Measure**.
|
||||
2. Schritt: Formel eingeben und mit Enter bestätigen.
|
||||
3. 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
|
||||
1. Schritt: Measure auswählen.
|
||||
2. Schritt: **Measure-Tools → Format** → Prozent, Dezimalstellen, Währung einstellen.
|
||||
|
||||
---
|
||||
|
||||
## 5. MODUL 5: VISUALISIERUNGEN
|
||||
|
||||
### 5.1 Visualisierungstypen und wann verwenden
|
||||
1. **Karte/Card:** Einzelne KPI-Zahl (Headcount, Krankenquote).
|
||||
2. **Balkendiagramm:** Vergleiche (Abteilungen, Monate).
|
||||
3. **Liniendiagramm:** Zeitverläufe (Headcount über 12 Monate).
|
||||
4. **Ringdiagramm:** Anteile (Absenzen nach Typ).
|
||||
5. **Tachometer:** Ziel vs Ist (Stellenplan-Erfüllung).
|
||||
6. **Tabelle/Matrix:** Details mit Drill-down.
|
||||
|
||||
### 5.2 Erste Visualisierung erstellen
|
||||
1. Schritt: Visualisierung im Bereich **Visualisierungen** auswählen.
|
||||
2. Schritt: Felder per Drag & Drop in Achse/Werte ziehen.
|
||||
3. Schritt: Visualisierung auf der Seite positionieren und Grösse anpassen.
|
||||
|
||||
### 5.3 Visualisierung formatieren
|
||||
1. Schritt: Visual auswählen → **Format** (Pinsel).
|
||||
2. Schritt: Titel, Farben, Schriftgrössen anpassen.
|
||||
3. Schritt: Einheit und Anzeigeform festlegen (z. B. Tausender, Dezimalstellen).
|
||||
|
||||
### 5.4 Filter hinzufügen
|
||||
1. Schritt: Filterbereich öffnen.
|
||||
2. Schritt: Felder in **Visualfilter**, **Seitenfilter** oder **Berichtsfilter** ziehen.
|
||||
|
||||
### 5.5 Slicer erstellen
|
||||
1. Schritt: Visualisierung → **Datenschnitt (Slicer)** wählen.
|
||||
2. Schritt: Feld (z. B. Zeitraum, Abteilung) hinzufügen.
|
||||
|
||||
### 5.6 Bedingte Formatierung
|
||||
1. Schritt: In Tabelle/Matrix auf Wertefeld klicken → **Bedingte Formatierung**.
|
||||
2. Schritt: Regeln definieren (z. B. Rot/Grün je nach Wert).
|
||||
|
||||
---
|
||||
|
||||
## 6. MODUL 6: DASHBOARD BAUEN
|
||||
|
||||
### 6.1 Dashboard-Layout planen
|
||||
1. Schritt: **F-Muster** beachten – Wichtigstes oben links.
|
||||
2. Schritt: Maximal **6–8 Visualisierungen** pro Seite.
|
||||
3. Schritt: KPI-Karten immer in gleicher Reihenfolge anordnen.
|
||||
|
||||
### 6.2 Seite 1: Management-Übersicht
|
||||
1. Schritt: KPI-Karten oben: Headcount, Krankenquote, Fluktuation, Stellenplan.
|
||||
2. Schritt: Trendlinie Headcount über 12 Monate.
|
||||
3. Schritt: Absenzquote nach Typ als Ringdiagramm.
|
||||
|
||||
### 6.3 Seite 2: Detailanalyse
|
||||
1. Schritt: Matrix mit Drill-down nach Abteilung.
|
||||
2. Schritt: Filter für Zeitraum und Kostenstelle (Slicer).
|
||||
|
||||
### 6.4 Interaktionen
|
||||
1. Schritt: **Format → Interaktionen bearbeiten**.
|
||||
2. Schritt: Prüfen, ob Klick auf Balken andere Visuals filtert oder hervorhebt.
|
||||
|
||||
### 6.5 Design-Tipps
|
||||
1. Schritt: Konsistente Farben (Firmen-CI).
|
||||
2. Schritt: Genügend Weissraum.
|
||||
3. Schritt: Beschriftungen gut lesbar.
|
||||
|
||||
---
|
||||
|
||||
## 7. MODUL 7: VERÖFFENTLICHEN & TEILEN
|
||||
|
||||
### 7.1 Power BI Service (app.powerbi.com)
|
||||
1. Schritt: Konto erstellen/anmelden.
|
||||
2. Schritt: Unterschied Desktop vs Service: Desktop = Modell/Bericht, Service = Teilen/Dashboard.
|
||||
|
||||
### 7.2 Bericht veröffentlichen
|
||||
1. Schritt: **Datei → Veröffentlichen → Arbeitsbereich wählen**.
|
||||
|
||||
### 7.3 Arbeitsbereich einrichten
|
||||
1. Schritt: Im Service → Arbeitsbereich erstellen.
|
||||
2. Schritt: Zugriffsrechte für Geschäftsleitung/Finanzbuchhaltung setzen.
|
||||
|
||||
### 7.4 Dashboard erstellen (aus Bericht)
|
||||
1. Schritt: Im Service Visualisierung auswählen → **Anheften**.
|
||||
2. Schritt: Neues Dashboard erstellen oder bestehendes wählen.
|
||||
|
||||
### 7.5 Bericht teilen
|
||||
1. Schritt: **Teilen → Link generieren**.
|
||||
2. Schritt: Zugriff verwalten (Rollen/Personen).
|
||||
|
||||
### 7.6 Automatische Aktualisierung
|
||||
1. Schritt: Datensatz → **Geplante Aktualisierung** (täglich/wöchentlich).
|
||||
2. Schritt: Für lokale Daten **Gateway** einrichten (IT einbeziehen).
|
||||
|
||||
### 7.7 Row-Level Security (RLS)
|
||||
1. Schritt: **Modellierung → Rollen verwalten**.
|
||||
2. Schritt: Rolle erstellen, Filter setzen: `[Abteilung] = USERPRINCIPALNAME()`.
|
||||
|
||||
---
|
||||
|
||||
## 8. TROUBLESHOOTING
|
||||
|
||||
### 8.1 Häufige Fehler beim Import
|
||||
1. Encoding-Probleme (UTF-8) → Dateiursprung im Import anpassen.
|
||||
2. Dezimaltrennzeichen (Punkt vs Komma) → Datentyp mit Gebietsschema Schweiz.
|
||||
3. Datum als Text → Datentyp Datum und richtiges Gebietsschema.
|
||||
|
||||
### 8.2 Häufige DAX-Fehler
|
||||
1. Zirkelbezug → Berechnete Spalten vermeiden, Measures nutzen.
|
||||
2. Division durch Null → `DIVIDE()` verwenden.
|
||||
3. Falscher Filterkontext → Filter mit `CALCULATE()` prüfen.
|
||||
|
||||
### 8.3 Beziehungsprobleme
|
||||
1. Mehrdeutige Beziehungen → Eine Beziehung aktiv, andere inaktiv setzen.
|
||||
2. Fehlende Beziehung → Schlüsselspalten prüfen (PERNR, Datum).
|
||||
|
||||
### 8.4 Performance-Probleme
|
||||
1. Zu viele Spalten importiert → Spalten reduzieren.
|
||||
2. 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
|
||||
1. Datenquellen klären (SAP, Rexx, Excel/CSV).
|
||||
2. Daten importieren (Modul 1).
|
||||
3. Daten bereinigen in Power Query (Modul 2).
|
||||
4. Beziehungen und Datumstabelle erstellen (Modul 3).
|
||||
5. Measures erstellen (Modul 4).
|
||||
6. Visuals bauen und formatieren (Modul 5).
|
||||
7. Dashboard layouten (Modul 6).
|
||||
8. 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.
|
||||
Reference in New Issue
Block a user