Voor dit scherm word gebruikt gemaakt van de MS Excel sheets met personeelsgegevens en de gespecificeerde tijdregistratie gegevens. Op dit scherm zijn 2 staafdiagrammen, selectie criteria voor medewerkers en organisatorische eenheden en een overzichtskaart van de gemeente die de geselecteerde gebieden op basis van postcode weergeeft. De bron gegevens zijn komen uit de MS SQL Server database en worden in Power BI verder uitgewerkt.

SQL Server berekeningen

Omdat REGAS data geen vermelding heeft van het gebied van de werknemer en een werknemer in meerdere gebieden werkzaam kan zijn, word de lijst van personeelsgegevens gefilterd op het maximaal aantal contracturen van de werknemer met meerdere contracten / werkgebieden. Deze filter wordt middel een view in de database uitgevoerd. Organisatorische eenheden worden gebundeld naar "Overig" tenzij een postcode voor de locatie aanwezig is. De postcode is wordt gebruikt om de getoonde kaart te koppelen aan de gegevens.

REATE VIEW [dbo].[Personeel]
AS
SELECT        
	Naam
	, Roepnaam
	, Voorvoegsel
	, Achternaam
	, VolledigeNaam
	, Geslacht
	, Werkgever
	, Wg
	, (SELECT TOP (1) CASE WHEN [OrganisatorischeEenheid] LIKE 'Team%' THEN 
							CASE WHEN [OrganisatorischeEenheid] NOT IN ('Team Buitenveldert', ' Team Midden-Noord', 'Team Nieuwendam', 'Team Noord-West', 
																		'Team Midden-Noord', 'Team Oud - Zuid', 'Team Rivierenbuurt / De Pijp') THEN 
								'Overig' 
							ELSE 
								[OrganisatorischeEenheid]
							 END 
						ELSE 
							'Overig' END AS OrganisatorischeEenheid
                        FROM dbo.PersoneelExcel
                        WHERE (AfasID = PE.AfasID) AND 
						      (WerkzameUPW = (SELECT MAX(WerkzameUPW) AS Expr1
												FROM dbo.PersoneelExcel AS PersoneelExcel_2
												WHERE (AfasID = PE.AfasID)
											 )
						      )
		) AS OrganisatorischeEenheid
		, AfasID
		, SUM(WerkzameUPW) AS WerkzameUPW
FROM (SELECT
		ID
		, Jaar
		, Maand
		, Naam
		, Roepnaam
		, Voorvoegsel
		, Achternaam
		, VolledigeNaam
		, Geslacht
		, Werkgever
		, Wg
		, OE
		, Functie
		, Soort
		, DPW
		, WerkzameUPW
		, AantalFTE
		, AfasID
		FROM dbo.PersoneelExcel AS PersoneelExcel_1) AS PE
GROUP BY Naam, Roepnaam, Voorvoegsel, Achternaam, VolledigeNaam, Geslacht, Werkgever, Wg, AfasID


Power BI berekeningen

Binnen Power BI worden extra berekeningen uitgevoerd om de data te kunnen tonen. In de diagrammen worden de percentages weergegeven waar de bron data uren bevat.

Percentages per medewerker

In de bovenste diagram worden de percentages per medewerker getoont. Per categorie worden de  geregistreerde uren over de geselecteerde periode gedeeld door te totale te verwachten uren over die periode. In Power BI zijn hier de volgende formules gedefinieerd:

Power BI formulesVerklaring

ClientTijdPercentage = (SUM(TijdSchrijvenSimple[ClientTijd])/[ExpectedHoursPersoneel])*100

De som van de geschreven client uren over de geselecteerde periode, gedeeld door de verwachte uren over de geselecteeerde periode

Berekend het percentage clientgebonden uren t.o.v. het verwachte aantal uren van de medewerker

TrainingstudieTijdPercentage = (SUM(TijdSchrijvenSimple[TrainingstudieTijd])/[ExpectedHoursPersoneel])*100

De som van de geschreven client uren over de geselecteerde periode, gedeeld door de verwachte uren over de geselecteeerde periode

Berekend het percentage studie uren t.o.v. het aantal verwachte uren van de medewerker

SuperuseractiviteitenTijdPercentage = (SUM(TijdSchrijvenSimple[SuperuseractiviteitenTijd])/[ExpectedHoursPersoneel])*100

De som van de geschreven superuser uren over de geselecteerde periode, gedeeld door de verwachte uren over de geselecteeerde periode

Berekend het percentage superuser uren t.o.v. het aantal verwachte uren van de medewerker

VakgroephouderschapTijdPercentage = (SUM(TijdSchrijvenSimple[VakgroephouderschapTijd])/[ExpectedHoursPersoneel])*100

De som van de geschreven vakgroephouder uren over de geselecteerde periode, gedeeld door de verwachte uren over de geselecteeerde periode

Berekend het percentage vakgroephouder uren t.o.v. het aantal verwachte uren van de medewerker

InternoverlegTijdPercentage = (SUM(TijdSchrijvenSimple[InternoverlegTijd])/[ExpectedHoursPersoneel])*100

De som van de geschreven intern overleg uren over de geselecteerde periode, gedeeld door de verwachte uren over de geselecteeerde periode

Berekend het percentage intern overleg uren t.o.v. het aantal verwachte uren van de medewerker

SponsoringfondsenwerverTijdPercentage = (SUM(TijdSchrijvenSimple[SponsoringfondsenwerverTijd])/[ExpectedHoursPersoneel])*100

De som van de geschreven sponsoring uren over de geselecteerde periode, gedeeld door de verwachte uren over de geselecteeerde periode

Berekend het percentage sponsoring uren t.o.v. het aantal verwachte uren van de medewerker

OndernemingsraadTijdPercentage = (SUM(TijdSchrijvenSimple[OndernemingsraadTijd])/[ExpectedHoursPersoneel])*100

De som van de geschreven ondernemimgsraad uren over de geselecteerde periode, gedeeld door de verwachte uren over de geselecteeerde periode

Berekend het percentage ondernemingsraad uren t.o.v. het aantal verwachte uren van de medewerker

NietgeschrevenUrenNew = IF((AVERAGE(Personeel[WerkzameUPW])/40)* [NumberOfWorkingDays2] * 8 - SUM(TijdSchrijvenSimple[Uren])<0,0,(AVERAGE(Personeel[WerkzameUPW])/40)* [NumberOfWorkingDays2]*8 - SUM(TijdSchrijvenSimple[Uren]))

Het aantal verwachte uren over de geselecteerde periode, minus de geschreven uren in de geselecteerde periode. Indien er minder dan 0 "niet geschreven" uren zijn, wordt dit naar 0 gebracht.

Berekend het percentage niet geschreven uren t.o.v. het aantal verwachte uren van de medewerker, waarbij niet geschreven niet kleiner kan zijn dan 0 t.o.v. het verwacht aantal uren.
Indien het aantal niet geschreven uren negatief is, betekend dit dat de medewerker meer uren dan de verwachte uren over de geselecteerde periode heeft geregistreerd. Niet geschreven uren worden in dat geval gereduceerd naar 0.

Percentages per medewerker

In de bovenste diagram worden de percentages per medewerker getoont. Per categorie worden de  geregistreerde uren over de geselecteerde periode gedeeld door te totale te verwachten uren over die periode. In Power BI zijn hier de volgende formules gedefinieerd:

Power BI formulesVerklaring

ClientTijdPercentageAvg = (((SUM(TijdSchrijvenSimple[ClientTijd]) / COUNT(Personeel[OrganisatorischeEenheid])) / ((TijdSchrijvenDetail[ExpectedHoursPersoneel])))) *100

Het gemiddelde van de som van de geschreven client uren over de geselecteerde periode gedeelt door het aantal medewerkers, gedeeld door de som van de verwachte uren over de geselecteeerde periode van de medewerkers

Berekend het percentage clientgebonden uren t.o.v. het verwachte aantal uren van een gebied op basis van de gemiddelde uren registratie door medewerkers in de organisatorische eenheid / gebied

TrainingstudieTijdPercentageAvg = (((SUM(TijdSchrijvenSimple[TrainingstudieTijd]) / COUNT(Personeel[OrganisatorischeEenheid])) / ((TijdSchrijvenDetail[ExpectedHoursPersoneel])))) *100

Het gemiddelde van de som van de geschreven training uren over de geselecteerde periode gedeelt door het aantal medewerkers, gedeeld door de som van de verwachte uren over de geselecteeerde periode van de medewerkers

Berekend het percentage studie uren t.o.v. het aantal verwachte uren van een gebied op basis van de gemiddelde uren registratie door medewerkers in de organisatorische eenheid / gebied

SuperuseractiviteitenTijdPercentageAvg = (((SUM(TijdSchrijvenSimple[SuperuseractiviteitenTijd]) / COUNT(Personeel[OrganisatorischeEenheid])) / ((TijdSchrijvenDetail[ExpectedHoursPersoneel])))) *100

Het gemiddelde van de som van de geschreven superuser uren over de geselecteerde periode gedeelt door het aantal medewerkers, gedeeld door de som van de verwachte uren over de geselecteeerde periode van de medewerkers

Berekend het percentage superuser uren t.o.v. het aantal verwachte uren van een gebied op basis van de gemiddelde uren registratie door medewerkers in de organisatorische eenheid / gebied

VakgroephouderschapTijdPercentageAvg = (((SUM(TijdSchrijvenSimple[VakgroephouderschapTijd]) / COUNT(Personeel[OrganisatorischeEenheid])) / ((TijdSchrijvenDetail[ExpectedHoursPersoneel])))) *100

Het gemiddelde van de som van de geschreven vakgroephouder uren over de geselecteerde periode gedeelt door het aantal medewerkers, gedeeld door de som van de verwachte uren over de geselecteeerde periode van de medewerkers

Berekend het percentage vakgroephouder uren t.o.v. het aantal verwachte uren van een gebied op basis van de gemiddelde uren registratie door medewerkers in de organisatorische eenheid / gebied

InternoverlegTijdPercentageAvg = (((SUM(TijdSchrijvenSimple[InternoverlegTijd]) / COUNT(Personeel[OrganisatorischeEenheid])) / ((TijdSchrijvenDetail[ExpectedHoursPersoneel])))) *100

Het gemiddelde van de som van de geschreven intern overleg uren over de geselecteerde periode gedeelt door het aantal medewerkers, gedeeld door de som van de verwachte uren over de geselecteeerde periode van de medewerkers

Berekend het percentage intern overleg uren t.o.v. het aantal verwachte uren van een gebied op basis van de gemiddelde uren registratie door medewerkers in de organisatorische eenheid / gebied

SponsoringfondsenwerverTijdPercentageAvg = (((SUM(TijdSchrijvenSimple[SponsoringfondsenwerverTijd]) / COUNT(Personeel[OrganisatorischeEenheid])) / ((TijdSchrijvenDetail[ExpectedHoursPersoneel])))) *100

Het gemiddelde van de som van de geschreven sponsoring uren over de geselecteerde periode gedeelt door het aantal medewerkers, gedeeld door de som van de verwachte uren over de geselecteeerde periode van de medewerkers

Berekend het percentage sponsoring uren t.o.v. het aantal verwachte uren van een gebied op basis van de gemiddelde uren registratie door medewerkers in de organisatorische eenheid / gebied

OndernemingsraadTijdPercentageAvg = (((SUM(TijdSchrijvenSimple[OndernemingsraadTijd]) / COUNT(Personeel[OrganisatorischeEenheid])) / ((TijdSchrijvenDetail[ExpectedHoursPersoneel])))) *100

Het gemiddelde van de som van de geschreven ondernemingsraad uren over de geselecteerde periode gedeelt door het aantal medewerkers, gedeeld door de som van de verwachte uren over de geselecteeerde periode van de medewerkers

Berekend het percentage ondernemingsraad uren t.o.v. het aantal verwachte uren van een gebied op basis van de gemiddelde uren registratie door medewerkers in de organisatorische eenheid / gebied

NietGeschrevenEenheid = 100 - [ClientTijdPercentageAvg] - [InternoverlegTijdPercentageAvg] - [OndernemingsraadTijdPercentageAvg]- [SuperuseractiviteitenTijdPercentageAvg]- [TrainingstudieTijdPercentageAvg] - [VakgroephouderschapTijdPercentageAvg]  - [SponsoringfondsenwerverTijdPercentageAvg]

100% minus de berekende percentages van de geschreven uren voor de eenheid.

Berekend het percentage niet geschreven uren t.o.v. het aantal verwachte uren van een gebied.
Doordat de gespecificeerde uren worden gemiddeld over de medewerkers van het gebied / organisatorische eenheid kunnen afrondingsverschillen optreden. Door de geschreven uren van de 100% af te trekken wordt ook het gemiddelde 'Niet geschreven' resultaat berekend.