EmployeeLeaveBalances exporteren

Is het toevallig ook mogelijk om de EmployeeLeaveBalances-tabel in z’n geheel (op medewerker-niveau) te exporteren? (Dus een overzicht waarin voor iedere employee het verlofsaldo wordt weergegeven, waarbij iedere regel het verlofsaldo voor het betreffende verloftype bevat).

De view EmployeeLeaveBalances kan net zoals iedere andere tabel geexporteerd worden. Treden er problemen op hierbij?

In deze tabel is alleen het huidge verlofsaldo waar te nemen.

We hebben de verlofregistraties per medewerker per verloftype (met begin/einddatum of aantal roosterdagen) nodig.

Ditzelfde hebben wij ook nodig voor het Verzuim.

De EmployeeLeaveBalances bevat uitsluitend het saldo (vandaar “Balance”).

Advies is om (binnen de meestgebruikte V2 driver van NMBRS) te kijken of een query zinvol is op bijvoorbeeld EmployeeLeavesV2ByEmployeeYearLeaveTypeLeaveUsageType of EmployeeLeavesByEmployeeYearLeaveTypeLeaveUsageType. Deze kan later toegevoegd worden als een view, omgevingsspecifiek of indien haalbaar standaard.

Kan deze view uiteindelijk ook automatisch worden overgehaald naar Azure Data Factory m.b.v. OData?

Meer informatie over de werking van views is te vinden in:

Na juiste configuratie zal de view ook zichtbaar zijn voor Azure Data Factory.

1 like

Ik lees dat de gemaakte view maar een bepaalde tijd ‘geldig’ of gecachet is.

Dit zou betekenen dat we iedere dag de view handmatig in Universal SQL moeten runnen, zodat we deze vervolgens in Data Factory kunnen inladen, klopt dit?

Nee, een view uitgevoerd in de UniversalSQL-editor van Invantive Cloud zal nooit zichtbaar worden in Invantive Bridge Online.

Om de viewdefinitie blijvend vast te leggen kunt u gebruik maken van de Startup SQL bij de database. De aldaar vastgelegde SQL-batch wordt bij iedere opening van de database uitgevoerd.

Nog fraaier zou zijn als dergelijke “stored logic” ook echt opgeslagen kan worden door Invantive UniversalSQL, maar dat is momenteel niet mogelijk.

1 like

Als in de huidige situatie use <divisie nummer>@eol wordt gebruikt. Moet dit dan vervangen worden met de query die de desbetreffende view ‘opzet’? Zorgt dit ervoor dat de andere tabellen van Exact Online nog beschikbaar zijn, of is dan alléén deze view beschikbaar?

Het betreft een SQL-batch, zie Invantive UniversalSQL Grammar 23.0.

Er kunnen dus meerdere statements in staan, gescheiden door puntkomma en eventueel witregel(s).

1 like

Wanneer triggert/launcht deze startup-SQL in Invantive? Gebeurt dit automatisch bij het opvragen van data via OData?

Zie voor meer informatie:

1 like

Als ik in dit geval een NMBRS view wil maken van een tabel met een parameter (EmployeeId), hoe zorg ik er dan voor dat ik meerdere EmployeeIds kan gebruiken in de () achter de tabelnaam in de FROM statement?

Bijvoorbeeld het ophalen van meerdere employee functions, maar dan voor meerdere Employees (dus meerdere IDs).

select *
from   Nmbrs.Employees.EmployeeFunctionsCurrentByEmployee(<EmployeeId>)
limit  1000

Dit kan alleen als er een (aftelbare) reeks van EmployeeIDs is. Meestal krijgt dit zijn beslag in een query zoals:

select ...
from   Employees e1
join   EmployeeFunctionsCurrentByEmployee(e1.Id) e2

Een on-clause is niet vereist binnen Invantive’s UniversalSQL met een join.

1 like

Het is ons gelukt! Dankjewel voor de support!

Nu nog een poging doen om hier daadwerkelijk een view van te maken in de Startup-SQL en deze over te halen d.m.v. Azure Data Factory.

Gefeliciteerd met resultaat en nieuwe kennis!

1 like

Het lukt om een view aan te maken en deze mee te geven aan de Startup-SQL. Het enige wat nog niet lukt is om deze view op te halen in Azure Data Factory (via OData), terwijl wel de juiste naam wordt gebruikt in Azure Data Factory.

Wat mis ik hier nog?

Update:

Een van de views verschijnt nu wel in Data Factory, de andere (die nèt is toegevoegd) nog niet. Ook niet na het resetten van de cache (meerdere malen) en het verkleinen van de levensduur van beide OData en HTTP cache.

Het lijkt erop alsof er een ‘grote’ delay zit?

Correct. Custom views kunnen geruime tijd (levensduur van de cache) duren vooraleer zichtbaar. Reset cache zou in principe dit moeten oplossen, maar lijkt niet altijd te werken. Het probleem treedt incidenteel op, maar is tot op heden niet opgelost.

1 like

De cache resetten lostte het probleem niet op, maar na de duur van het verlopen van de cache is de tweede custom view is nu ook zichtbaar in Data Factory! :slight_smile:

Dankjewel!