Mijn Communities
Help

Rekenen met Datumvelden!

09-07-2024 14:57 (Bijgewerkt op 09-07-2024)
  • 0 Antwoorden
  • 3 kudos
  • 225 Weergaven

Hoe kun je op een goede manier rekenen met datumvelden in Reporting Pro? Waar moet je op letten en welke functies kun je gebruiken? Al deze vragen behandel ik in bovenstaande tutorial.


In deze tutorial leg ik de volgende situaties uit die ik ook verder toelicht in dit artikel. Ook de gebruikte expressies kun je per situatie terugvinden en eventueel hergebruiken in je eigen rapportages:

  1. Rekenen met dagen/weken
  2. Rekenen met maanden
  3. Rekenen met jaren
  4. Rekenen met 2 datumvelden
  5. Opmaak van datumvelden

 

1. Rekenen met dagen/weken

De volgende expressie is een voorbeeld van hoe je x aantal dagen kunt optellen bij een datumveld. Hier kun je uiteraard ook dagen van aftrekken door het '+' te vervangen met '-'

 

'Sickness case'[Date begin] + 294

 

2. Rekenen met maanden

Het tellen met maanden werkt anders dan met dagen. Hiervoor bestaat een specifieke functi genaamd EDATE. Zie hieronder de expressie die wordt gebruikt in de tutorial:

 

EDATE('Sickness case'[Date begin],10)

 

3. Rekenen met jaren

Voor het rekenen met jaren moeten we een andere aanpak kiezen. Hiervoor gebruiken we de DATE functie. Met deze functie kun je een datumwaarde samenstellen door het jaar, maand en de dag te definieren. Door te verwijzen naar een bestaande kolom met de functies YEAR, MONTH en DAY kun je hier makkelijk mee rekenen. Zie onderstaande expressie die ook in de tutorial wordt gebruikt:

 

DATE(
YEAR('Sickness case'[Date begin])+2,
MONTH('Sickness case'[Date begin]),
DAY('Sickness case'[Date begin])
)

 

4. Rekenen met 2 datumvelden

Hoe bereken je de periode tussen twee datumvelden? Daar gebruik je de functie DATEDIFF voor. In deze functie kun je naar twee datumvelden verwijzen en aangeven in welke eenheid je het verschil wil aangeven. In onderstaande voorbeeld tellen we het aantal dagen van een verzuimgeval.

DATEDIFF(
'Sickness case'[Date begin],
'Sickness case'[Date end],
DAY
)

 

Bovenstaande expressie zorgt er alleen wel voor dat de rijen zonder einddatum (omdat het verzuimgeval nog actief is) geen waarde laten zien. Hij kan het verschillen niet berekenen. Om dit op te lossen kunnen we gebruik maken van de datum van vandaag. Dat zou je als volgt kunnen doen:

 

DATEDIFF(
'Sickness case'[Date begin],
IF(
ISBLANK('Sickness case'[Date end]),
TODAY(),
'Sickness case'[Date end]
)
DAY
)

 

5. Opmaak van datumvelden

In sommige gevallen wil je het resultaat van je berekening ook op een juiste manier weergeven in je rapportage. Daarvoor moet je een extra stap toevoegen aan de expressie. Dat kun je het best doen met de functie FORMAT. Met deze functie kun je datumvelden (ook text en andere type velden) formatteren zoals je dat wil. Zie hieronder een voorbeeld:

 

FORMAT(
DATE( YEAR('Sickness case'[Date begin])+2, MONTH('Sickness case'[Date begin]), DAY('Sickness case'[Date begin]) ),
"dd-mm-yyy"
)