Relatieve datum
Zoeken op een datum (bijv. een aanmaakdatum of reserveringsdatum) wordt veel gebruikt binnen filters. Vaak wordt er dan gezocht op een specifieke datum (bijv. alle reserveringen voor vandaag). Het nadeel hiervan is dat je als gebruiker iedere dag de datum van vandaag moet opgeven om de juiste informatie uit het systeem te verkrijgen.
Om dit eenvoudiger te maken, is er de mogelijkheid om gebruik te maken van "relatieve data". Relatief betekent "ten opzichte van". Een relatieve datum is een berekende datum ten opzichte van vandaag. Om de relatieve datum te berekenen kan er gebruik worden gemaakt van minuten, dagen, uren en weken, liggend voor of na de datum van vandaag. Bij het zoeken zijn er twee soorten velden: datum velden (zoals de reserverings vanaf datum) en datum-tijd velden (zoals het veld "Aangemaakt" en "Bijgewerkt"). Bij een datum veld wordt alleen vergeleken op dagen. Bij datum-tijd velden op dag en tijdscomponenten. In concreto een aantal vaste waarden bij datum velden:
- -2d betekent "Eergisteren"
- -1d betekent "Gisteren"
- 0d betekent "Vandaag"
- 1d betekent "Morgen"
- 2d betekent "Overmorgen"
Voorbeeld
Uitgaande van een filter op basis van alle reserveringen van vandaag.
Een relatieve datum zou dan zijn "startdatum >= 0d" (vandaag meegerekend) en "startdatum <= 0d" (vandaag gerekend)
Uitgaande van een filter op basis van alle reserveringen voor morgen.
Een relatieve datum zou dan zijn >= 1d en <= 1d.
Uitgaande van een filter op basis van alle reserveringen voor de 7 dagen, inclusief vandaag.
Een relatieve datum zou dan zijn 0d (vandaag meegerekend) en 7d (7 dagen vooruit vanaf de datum van vandaag)
Uitgaande van een filter op basis van alle reserveringen voor de 4 weken, exclusief deze week.
Een relatieve datum zou dan zijn 1w (toont reserveringen na 1 week vanaf de datum van vandaag) en 4w (tot 4 weken vooruit vanaf de datum van vandaag)
Uitgaande van een filter op basis van nieuwe klanten die zich de afgelopen 12 uur hebben aangemeld.
Een relatieve datum zou dan zijn -12h (12 uur terug ten opzichte van vandaag) en 0d (vandaag meegerekend tot 00:00 de volgende dag)
Als we dit voorbeeld via het simpele zoekscherm willen opgeven, dan gebruiken we het knopje "MEER" achter de relatieve datum.
In de onderstaande tabel staan de diverse codes die gebruikt kunnen worden voor het opgeven van relatieve waardes. Deze zijn tevens beschreven in het simpele zoekscherm.
| Code | Betekenis |
|---|---|
| m | Minuten |
| h | Uur |
| d | Dag |
| w | Week |
Hele kalenderperiodes
Met d, w, h, m en s geef je een afstand op: -30d betekent dertig dagen terug vanaf nu. Dat is een venster dat elke dag meeschuift, en dus niet hetzelfde als een kalendermaand. Wilde je "vorige maand", dan klopte -30d nooit precies.
Daarvoor zijn er vier ankers. Die geven geen afstand aan maar een vaste plek in de kalender:
| Letter | Betekenis |
|---|---|
b | eerste dag van de maand (begin) |
e | laatste dag van de maand (eind) |
j | eerste dag van het jaar (1 januari) |
y | laatste dag van het jaar (31 december, year) |
Het getal ervoor zegt hoeveel maanden of jaren je opschuift. 0 is de huidige, een minteken gaat terug in de tijd.
| Van | Tot | Levert op |
|---|---|---|
0b | 0e | deze maand, van de 1e tot en met de laatste dag |
-1b | -1e | vorige maand |
1b | 1e | volgende maand |
0j | 0y | dit jaar |
-1j | -1y | vorig jaar |
1j | 1y | volgend jaar |
In het datumfilter staat hiervoor de keuzelijst Hele kalenderperiode. Kies je daar bijvoorbeeld Vorige maand, dan worden de velden Vanaf en tot gevuld met -1b en -1e. Je ziet dus meteen welke syntax erbij hoort en kunt die daarna nog met de hand aanpassen.
Waarom je altijd een b of e nodig hebt
m betekent minuten, niet maanden. -1m is dus één minuut geleden. Er bestaat bewust geen kale maand-eenheid: maand en jaar spreek je altijd aan met een anker, dus met b, e, j of y. Tik je -1q of 1y zonder dat je een anker bedoelt, dan krijg je een foutmelding in plaats van een verkeerde datum.
Ankers zijn exact, ook op tijdstip
Een begin-anker staat op 00:00:00 en een eind-anker op 23:59:59. Dat is onafhankelijk van het moment waarop je zoekt. Bij een duurtijd is dat anders: -30d om 14:00 levert een datum op met 14:00 als tijd, waardoor je op een kolom mét tijd de ochtend van die dag mist. Bij ankers speelt dat niet.
Ankers rekenen bovendien altijd op echte maandgrenzen. Draai je een filter op 31 augustus, dan is -1b gewoon 1 juli en -1e 31 juli. En 0e in februari is 28 of 29, afhankelijk van het schrikkeljaar.
Een anker staat op zichzelf
Een anker combineer je niet met een andere eenheid. -1b is goed, -1b 2d niet — daar krijg je een foutmelding op. Wil je een periode die niet op een maandgrens ligt, gebruik dan gewoon de duurtijden.






