inyear - script- en grafiekfunctie
Deze functie retourneert True als timestamp binnen het jaar valt dat base_date bevat.
Syntaxis:
InYear (timestamp, base_date, period_no [, first_month_of_year])
Retourgegevenstype: Booleaanse waarde
Argumenten:
Argument | Beschrijving |
---|---|
timestamp | De datum die u wilt vergelijken met base_date. |
base_date | Datum op basis waarvan het jaar wordt geëvalueerd. |
period_no | Het jaar kan worden verschoven met period_no. period_no is een geheel getal, waarbij de waarde 0 het jaar aangeeft dat base_date bevat. Negatieve waarden in period_no geven voorafgaande jaren aan en positieve waarden geven volgende jaren aan. |
first_month_of_year | Als u wilt werken met (boek)jaren die niet in januari beginnen, geeft u een waarde op tussen 2 en 12 in first_month_of_year. |
Voorbeelden en resultaten:
Deze voorbeelden gebruiken de datumopmaak DD/MM/YYYY. De datumopmaak wordt opgegeven in de opdracht SET DateFormat boven aan uw load-script. Wijzig de opmaak in de voorbeelden zodat deze in uw behoeften voorziet.
Voorbeeld 1:
inyear ('25/01/2013', '01/01/2013', 0 )
Retourneert True
Voorbeeld 2:
inyear ('25/01/2012', '01/01/2013', 0)
Retourneert False
Voorbeeld 3:
inyear ('25/01/2013', '01/01/2013', -1)
Retourneert False
Voorbeeld 4:
inyear ('25/01/2012', '01/01/2013', -1 )
Retourneert True
Voorbeeld 5:
inyear ('25/01/2013', '01/01/2013', 0, 3)
Retourneert True
Voorbeeld 6:
inyear ('25/03/2013', '01/07/2013', 0, 3 )
Retourneert False. De waarde van base_date en first_month_of_year bepalen dat timestamp moet vallen tussen 01/03/2012 en 28/02/2013
Voorbeeld 7:
Voeg het voorbeeldscript toe aan uw document en voer dit uit. Voeg vervolgens ten minste de velden die in de resultatenkolom staan aan een werkblad in uw document toe om het resultaat te bekijken.
In dit voorbeeld wordt gecontroleerd of een factuurdatum in het fiscale jaar valt dat is opgegeven door de waarde van first_month_of_year in te stellen op 4 en door base_date tussen 1/4/2012 en 31/03/2013 te laten vallen.
TempTable:
LOAD RecNo() as InvID, * Inline [
InvDate
28/03/2012
10/12/2012
5/2/2013
31/3/2013
19/5/2013
15/9/2013
11/12/2013
2/3/2014
14/5/2014
13/6/2014
7/7/2014
4/8/2014
];
Test of InvDate in het fiscale jaar 1/04/2012 t/m 31/03/2013 ligt:
InvoiceData:
LOAD *,
InYear(InvDate, '31/01/2013', 0, 4) AS FinYr1213
Resident TempTable;
Drop table TempTable;
De resulterende tabel bevat de oorspronkelijke datums en een kolom met de retourwaarde van de functie inyear().
InvDate | FinYr1213 |
---|---|
28/03/2012 | 0 (False) |
10/12/2012 | -1 (True) |
5/2/2013 | -1 (True) |
31/3/2013 | -1 (True) |
19/5/2013 | 0 (False) |
15/9/2013 | 0 (False) |
11/12/2013 | 0 (False) |
2/3/2014 | 0 (False) |
14/5/2014 | 0 (False) |
13/6/2014 | 0 (False) |
7/7/2014 | 0 (False) |
4/8/2014 | 0 (False) |