Binnen HRM tabellen heb je de mogelijkheid om gebruik te maken van berekeningen.
Dit is mogelijk in velden die zijn aangeduid als rekenveld bij het aanmaken van de tabel. Het veld dat uiteindelijk in het scherm getoond wordt, is in dat geval geen invul- of keuzeveld.
De waarde die in het veld getoond wordt, is het resultaat van een berekening die je kunt vormgeven binnen het wizardscherm "Tabel toevoegen/wijzigen" - "Berekende velden".

Binnen dit scherm worden de velden getoond, die zijn aangeduid als rekenvelden. Rechts van de veldnamen wordt voor elk veld een formuleveld getoond. Als je op een formuleveld dubbelklikt, wordt een venster getoond, waarin je de formule kunt samenstellen.

Het scherm is opgebouwd uit vier delen: bovenaan in scherm staat het veld waarin de formule komt te staan, daaronder staan drie kolommen.
In de linker kolom worden de velden getoond, die je kunt gebruiken in uw berekening, in de middelste kolom tref je een aantal zgn. "operatoren" aan, in de rechtse kolom vindt je een aantal functies.
Door te dubbelklikken op een van de elementen in elk van de kolommen, wordt dit element toegevoegd aan de formule, rechts naast de elementen die er eventueel al staan.
Operatoren
De volgende operatoren staan jou ter beschikking:
|
"(" en ")" |
Haakjes openen en sluiten |
Omsluiten van deel van berekening dat eerst uitgevoerd moet worden |
(A+B)/C |
|
"+" |
Plusteken |
Sommeren van (veld)waarden van het type aantal, bedrag of nummer. Samenvoegen van (veld)waarden van het type tekst |
A+B Tekst1+Tekst2= Tekst1Tekst2 |
|
"-" |
Minteken |
Aftrekken van (veld)waarden van het type aantal, bedrag of nummer. Verschil tussen (veld)waarden van het type datum(uitkomst is getal, geen datum) |
A-B Datum1-Datum2 |
|
"*" |
Asterisk |
Vermenigvuldigen van (veld)waarden van het type aantal, bedrag of nummer. |
A*B |
|
"/" |
Forward slash |
Delen van (veld)waarden van het type aantal, bedrag of nummer. |
A/B |
|
"||" |
Dubbel pipelinesymbool |
Samenvoegen (aan elkaar knopen) van (veld)waarden van het type aantal, bedrag of nummer. Samenvoegen (aan elkaar knopen) van (veld)waarden van het type tekst. |
A||B= AB Tekst1||Tekst2= Tekst1Tekst2 |
|
"," |
Komma |
Scheiden van (veld)waarden in berekeningen |
(A,B) |
Functies
De volgende functies staan jouw ter beschikking:
|
Huidige datum |
Zet huidige datum in veld |
CURRENT DATE |
yyyymmdd |
|
|
|
|
|
|
Datum toevoegen |
Hoogt datumelement op in veld |
DATEADD(xxxxxx, yyyyyy, zzzzzz) xxxx kan de volgende waarden hebben: DAY:het dag-element van de datum wordt opgehoogd MONTH:het maand-element van de datum wordt opgehoogd YEAR:het jaar-element van de datum wordt opgehoogd yyyyy is de waarde waarmee wordt opgehoogd zzzzz is de (veld)waarde welke wordt opgehoogd |
DATEADD(DAY, 10, 06-12-2006) -->16122006 DATEADD(MONTH, 1, 06-12-2006) -->06012007 DATEADD(YEAR, 1, 06-12-2006) -->06122007 |
|
|
|
|
|
|
Verschil in datum |
Zet verschil tussen twee datums in veld |
DATEDIFF(xxxxxxx, yyyyyyyy,zzzzzzzz) yyyyyyy en zzzzzzz zijn de twee datums die vergeleken worden xxxxxx kan de volgende waarden hebben: DAY: geeft het verschil uitgedrukt in dagen WEEK: geeft het verschil uitgedrukt in weken MONTH: geeft het verschil uitgedrukt in maanden QUARTER: geeft het verschil uitgedrukt in kwartalen YEAR: geeft het verschil uitgedrukt in jaren DAYOFYEAR: geeft het verschil tussen dagnummers |
DATEDIFF (DAY,05-12-2006,06-12-2006) --> 1
(DATEDIFF(DAY, Geboortedatum, CURRENT DATE)/365 --> Leeftijd in jaren |
|
|
|
|
|
|
Dag |
Zet weekdagnummer van datum in veld |
DAY(xxxxxxxx) xxxxxx is een datum of een datumveld |
Geeft een getal van 1 t/m 7 in het veld, dat de weekdag van de datum aanduidt |
|
|
|
|
|
|
Maand |
Zet maandnummer van datum in veld |
MONTH(xxxxxxxx) xxxxxx is een datum of een datumveld |
Geeft een getal van 1 t/m 12 in het veld, dat het maandnummer van de datum aanduidt |
|
|
|
|
|
|
Jaar |
Zet jaartal van datum in veld |
YEAR(xxxxxxxx) xxxxxx is een datum of een datumveld |
Geeft het jaartal van de datum |
|
|
|
|
|
|
Omzetten |
Zet waarde of expressie om in gewenst datatype |
CAST(xxxxx as yyyyyy) xxxxxx is de waarde of expressie die omgezet wordt yyyyyy is het datatype waarnaar wordt omgezet |
CAST(06122006 as DATE) --> 06-12-2006 CAST(Organisatie as CHAR(4)) --> 'Orga' CAST(1+2 as CHAR) --> 3(tekst) |
|
Converteren |
Zet datumformaat om naar ander datumformaat (in tekst) |
CONVERT(char(xx), ddmmyyyy, zzz) xx is de lengte van de karakterstring die gevormd wordt ddmmyyyy is de datum of het datumveld waarvan de waarde moet worden omgezet zzz is een code, die bepaalt hoe de omzetting er uit komt te zien: 1 = mm/dd/yy 101 = mm/dd/yyyy 2 = yy/mm/dd 102 = yyyy/mm/dd 3 = dd/mm/yy 103 = dd/mm/yyyy 4 = yy.mm.dd 104 = yyyy.mm.dd 5 = dd-mm-yy 105 = dd-mm-yyyy 6 = dd Mon yy 106 = dd Mon yyyy 7 = Mon dd, yy 107 = Mon dd, yyyy |
CONVERT (char(12), 06-12-2006,107) --> Dec 6, 2006 |
|
Decimaal |
Wordt in combinatie met "converteren" gebruikt voor omzetting naar decimalen |
CONVERT(DECIMAL(x,y), zzz) x is de totale lengte, inclusief decimalen y is het aantal decimalen zzz is het getal dat moet worden omgezet
Indien x te krap wordt ingesteld, volgt een foutmelding indien de waarde niet meer in het veld past. |
CONVERT(DECIMAL(5,2), 25) --> 25,00
|
|
|
|
|
|
|
Modulo |
Berekent de rest van een deling van hele getallen |
Mod(A,B) |
Mod (7,3) --> 1 |