Linemanager — Produktivierungsreport_Master

Version 1.1 by Dimitri Rupp on 2026/06/11 09:16
Warning
For security reasons, the document is displayed in restricted mode as it is not the current version. There may be differences and errors due to this.

Linemanager — Produktivierungsreport_Master

Information

Antragssteller: Bereichsuebergreifend (Linemanager + Mitarbeiter)
Quellsystem: Rimo (splworkentry, sdmperson)
Spezialfunktion: Row-Level Security (RLS) — Linemanager sehen nur ihr Team

Zweck

Der Produktivierungsreport_Master ist der bereichsuebergreifende Master-Report fuer Linemanager und Mitarbeiter zur Auswertung der produktivierten Zeit. Er zeigt, wie sich die Zeit auf Leistungszeit (LZ) und Nicht-Leistungszeit (NLZ) sowie Billable vs. Non-Billable aufteilt.

Frontend

LZ/NLZ Screen

Ueber diesen Screen passiert der Einstieg in den Produktivierungsreport. Er gibt Aufschluss darueber, wie sich die produktivierte Zeit der angezeigten Personen auf LZ (Leistungszeit) und NLZ (Nicht-Leistungszeit) aufteilt.

Von hier aus kann man mittels Drill Through auf die Time Entries (Zeiteintraege) drillen. Diese zeigen die Zeitproduktivierungen auf Basis des Drills die entsprechenden Projekt/CC auf Monat- und weitergehend Tagesbasis.

Seitenuebergreifende Selektoren (beeinflussen einander):

  • Datum — Zeitraums-Einschraenkung
  • Projektname/CC — Auswahl Projekt oder Kostenstellen
  • Person — Auswahl Person
  • isabsenttype — Auswahl Abwesenheitsstatus
  • Billable Flag — Auswahl auf Rimo Billable Flag
  • Geschaeftsjahr — Auswahl Geschaeftsjahr (Eingeschraenkt durch Datumsbereichsauswahl)

Ansichts-Modi:

  • Ansicht Linemanager — Informationen schraenken sich auf den Linemanager und sein unterstelltes Team ein.
  • Ansicht Mitarbeiter — Informationen schraenken sich auf den Mitarbeiter selbst ein.

Drill Through Ziel: Time Entries.

Productive / Non Productive Time Screen

Der Screen gibt Aufschluss darueber, wie sich die auf Projekte, Kostenstellen oder von Personen produktivierten Zeiten auf Productive Time (Billable) und Non Productive Time (Non Billable) aufteilen.

Je nachdem, ob man auf den Productive-Time-Balken drillt, steht ein Drill Through auf eine Aufschluesselung der Billable Time auf Projekte/CC zur Verfuegung — oder beim Drill auf Non Productive Time ein Drill Through auf Non Billable Times.

Billable / Non Billable Percent Screen

Der Screen zeigt die prozentuelle Verteilung der produktivierten Zeiten von den selektierten Personen auf das selektierte Projekt/CC — oder allgemein.

flowchart LR
    L[LZ/NLZ Screen
Einstieg] -->|Drill| PNP[Productive/
Non Productive Time] PNP -->|Drill Productive| TE1[Time Entries
Billable] PNP -->|Drill Non Productive| TE2[Time Entries
Non Billable] L -->|Wechsel| BNB[Billable/Non Billable
Percent Screen] classDef screen fill:#e3f2fd,stroke:#1976d2,stroke-width:1px classDef drill fill:#fff3cd,stroke:#b85c00,stroke-width:1px class L,PNP,BNB screen class TE1,TE2 drill

Backend

Datenmodell

Last Refresh Date Tabelle (Ausgabe der letzten Aktualisierung der Datenmodelle):

Script: DateTime.LocalNow()

Measure Table

Productive Time =
  CALCULATE(
    SUM(splworkentry[durationasfloat]),
    FILTER('sdmsalesorder_sdmwtrproject_union_active',
           'sdmsalesorder_sdmwtrproject_union_active'[Billable Flag]="Billable")
  )

Non Productive Time =
  CALCULATE(
    SUM(splworkentry[durationasfloat]),
    FILTER('sdmsalesorder_sdmwtrproject_union_active',
           'sdmsalesorder_sdmwtrproject_union_active'[Billable Flag]="Non-Billable")
  )

Selection =
  IF(
    ISFILTERED(sdmperson[Person]),
    CONCATENATEX(sdmperson, sdmperson[Person], ", ", sdmperson[Person], ASC),
    "No selection made"
  )

LZ =
  CALCULATE(
    SUM(splworkentry[durationasfloat]),
    FILTER('splworkentry', 'splworkentry'[isabsenttype]="FALSE")
  )

NLZ =
  CALCULATE(
    SUM(splworkentry[durationasfloat]),
    FILTER('splworkentry', 'splworkentry'[isabsenttype]="TRUE")
  )

Total Time = [Productive Time] + [Non Productive Time]

Billable Time Percent = [Productive Time] / [Total Time]

Non Billable Time Percent = 1 - [Billable Time Percent]

DurationTime = SUM(splworkentry[durationasfloat])

Row-Level Security (RLS) Script

VAR currentuser =
  LOOKUPVALUE(
    sdmperson[externalid],
    sdmperson[email], USERPRINCIPALNAME(),
    sdmperson[active], TRUE
  )
RETURN
  IF(
    OR(currentuser = BLANK(), currentuser = " "),
    FALSE,
    CONTAINSSTRING([getlinemanager_cleaned], currentuser)
      || sdmperson[externalid] = currentuser
      // zusaetzliche Bedingung damit Linemanager sich selbst auch sieht
      // und nicht nur sein Team
  )
Information

Hinweis zur RLS-Logik: Der zweite Teil der ODER-Bedingung (sdmperson[externalid] = currentuser) sorgt dafuer, dass der Linemanager sich selbst im Report sieht — nicht nur die ihm unterstellten Teammitglieder.

Zentrale Begriffe

BegriffBedeutung
LZ — LeistungszeitZeit, die als Leistung gebucht wurde (isabsenttype = FALSE)
NLZ — Nicht-LeistungszeitAbwesenheit / Urlaub / Krank (isabsenttype = TRUE)
Productive Time / BillableLZ, die auf ein billable Projekt/CC gebucht wurde
Non Productive Time / Non BillableLZ, die auf ein non-billable Projekt/CC gebucht wurde
LinemanagerVorgesetzter mit Sicht auf eigenes Team (via RLS)

Related pages


Information

Migration footer
Source: Linemanager Produktivierungsreport_Master (SharePoint)
Original author: Frey Maurice
Original last-modified: 2023-12-18
Migration date: 2026-05-24
Migrated by: Dimitri Rupp via ClaudeAI
Notes: DE-Original 1:1 (Frontend-Screens, Selektoren, Drill-Pfade, Backend-DAX-Measures, RLS-Script); DAX-Code aus Inline-Text in lesbare -Bloecke umgesetzt; Mermaid-Screen-Navigation und RLS-Kommentar-Erklaerung als Wissensbasis-Erweiterung; Begriffs-Lexikon ergaenzt fuer Onboarding-Lesbarkeit; rechtschreibliche Korrekturen (durchgefuehrt → durchgefuehrt).


Verwandte Themen

Failed to execute the [velocity] macro. Cause: [The execution of the [velocity] script macro is not allowed in [xwiki:IT-Wiki.Makros.Verwandte-Themen.WebHome]. Check the rights of its last author or the parameters if it's rendered from another script.]. Click on this message for details.


Status: Migriert — Team-Review ausstehend · Owner: (festlegen) · Letzter Review: 2026-06-11