Deze functie retourneert een waarde die overeenkomt met een tijdstempel van de laatste milliseconde van de laatste dag van het jaar dat date bevat. De standaarduitvoernotatie is de DateFormat die is ingesteld in het script.
Met andere woorden, de functie yearend() bepaalt in welk jaar de datum valt. Het retourneert vervolgens een tijdstempel, in datumnotatie, voor de laatste milliseconde van dat jaar. De eerste maand van het jaar is standaard januari. U kunt echter ook wijzigen welke maand als eerste wordt ingesteld met behulp van het argument first_month_of_year in de functie yearend() te gebruiken.
Informatie De yearend()-functie houdt geen rekening met de systeemvariabele FirstMonthOfYear. Het jaar begint op 1 januari, tenzij het argument first_month_of_year wordt gebruikt om het te wijzigen.
Wanneer gebruiken
De functie yearend() wordt gebruikt als onderdeel van een uitdrukking als u wilt dat in de berekening een deel van het jaar wordt gebruikt dat nog niet heeft plaatsgevonden. Bijvoorbeeld als u de totale rente wilt berekenen die nog niet is berekend gedurende het jaar.
Retourgegevenstypen: dual
Argumenten
Argument
Beschrijving
date
De te evalueren datum of tijdstempel.
period_no
period_no is een geheel getal, waarbij de waarde 0 het jaar aangeeft dat date bevat. Negatieve waarden in period_no geven voorgaande 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.
U kunt de volgende waarden gebruiken om de eerste maand van het jaar in te stellen in het argument first_month_of_year:
waarden first_month_of_year
Month
Waarde
Februari
2
Maart
3
April
4
May
5
Juni
6
Juli
7
Augustus
8
September
9
Oktober
10
November
11
December
12
Landinstellingen
Tenzij anders aangegeven, wordt in de voorbeelden in dit onderwerp de volgende datumindeling gebruikt: MM/DD/JJJJ. De datumopmaak wordt opgegeven in de opdracht SET DateFormat in uw script voor het laden van gegevens. De standaard datumindeling is mogelijk anders op uw systeem vanwege landinstellingen en andere factoren. U kunt de indelingen in de voorbeelden wijzigen zodat deze aansluiten op uw behoeften. Of u kunt de indelingen in uw load-script wijzigen zodat ze overeenkomen met deze voorbeelden.
Standaard landinstellingen in apps zijn gebaseerd op de regionale systeeminstellingen van de computer of server waarop Qlik Sense is geïnstalleerd. Als de Qlik Sense-server die u gebruikt is ingesteld op Zweden, gebruikt de editor voor laden van gegevens de Zweedse landinstellingen voor datums, tijd en valuta. Deze landinstellingen voor indelingen zijn niet gerelateerd aan de taal die wordt weergegeven in de gebruikersinterface van Qlik Sense. Qlik Sense wordt weergegeven in dezelfde taal als de browser die u gebruikt.
Voorbeelden van functies
Voorbeeld
Resultaat
yearend('10/19/2001')
Retourneert 12/31/2001 23:59:59.
yearend('10/19/2001', -1)
Retourneert 12/31/2000 23:59:59.
yearend('10/19/2001', 0, 4)
Retourneert 03/31/2002 23:59:59.
Voorbeeld 1 – geen aanvullende argumenten
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een gegevensverzameling met een set transacties tussen 2020 en 2022 wordt geladen in een tabel met de naam 'Transactions'.
Het datumveld is opgegeven in de systeemvariabele DateFormat, indeling ((MM/DD/YYYY)).
Een voorgaande load-instructie die het volgende bevat:
Functie yearend() die is ingesteld als het veld year_end.
Functie Timestamp() die is ingesteld als het veld year_end_timestamp.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
id
date
year_end
year_end_timestamp
Resultatentabel
id
date
year_end
year_end_timestamp
8188
01/13/2020
12/31/2020
12/31/2020 11:59:59 PM
8189
02/26/2020
12/31/2020
12/31/2020 11:59:59 PM
8190
03/27/2020
12/31/2020
12/31/2020 11:59:59 PM
8191
04/16/2020
12/31/2020
12/31/2020 11:59:59 PM
8192
05/21/2020
12/31/2020
12/31/2020 11:59:59 PM
8193
08/14/2020
12/31/2020
12/31/2020 11:59:59 PM
8194
10/07/2020
12/31/2020
12/31/2020 11:59:59 PM
8195
12/05/2020
12/31/2020
12/31/2020 11:59:59 PM
8196
01/22/2021
12/31/2021
12/31/2021 11:59:59 PM
8197
02/03/2021
12/31/2021
12/31/2021 11:59:59 PM
8198
03/17/2021
12/31/2021
12/31/2021 11:59:59 PM
8199
04/23/2021
12/31/2021
12/31/2021 11:59:59 PM
8200
05/04/2021
12/31/2021
12/31/2021 11:59:59 PM
8201
06/30/2021
12/31/2021
12/31/2021 11:59:59 PM
8202
07/26/2021
12/31/2021
12/31/2021 11:59:59 PM
8203
12/27/2021
12/31/2021
12/31/2021 11:59:59 PM
8204
06/06/2022
12/31/2022
12/31/2022 11:59:59 PM
8205
07/18/2022
12/31/2022
12/31/2022 11:59:59 PM
8206
11/14/2022
12/31/2022
12/31/2022 11:59:59 PM
8207
12/12/2022
12/31/2022
12/31/2022 11:59:59 PM
Het veld 'year_end' wordt gemaakt in de voorafgaande load-instructie met behulp van de functie yearend() en geeft het datumveld door als het argument van de functie.
De functie yearend() identificeert aanvankelijk in welk jaar de datumwaarde valt en retourneert een tijdstempel voor de laatste milliseconde van dat jaar.
Transactie 8199 vond plaats op 23 april 2021. De functie yearend() retourneert de laatste milliseconde van dat jaar, namelijk 31 december om 11:59:59 P.M.
Voorbeeld 2 – period_no
Overzicht
Dezelfde gegevensverzameling en het scenario uit het eerste voorbeeld worden gebruikt.
In dit voorbeeld is het echter de taak om een veld te maken, 'previous_year_end', dat de tijdstempel van de einddatum van het jaar voorafgaand aan het jaar waarin de transactie plaatsvond, retourneert.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
id
date
previous_year_end
previous_ year_end_timestamp
Resultatentabel
id
date
previous_year_end
previous_year_end_timestamp
8188
01/13/2020
12/31/2019
12/31/2019 11:59:59 PM
8189
02/26/2020
12/31/2019
12/31/2019 11:59:59 PM
8190
03/27/2020
12/31/2019
12/31/2019 11:59:59 PM
8191
04/16/2020
12/31/2019
12/31/2019 11:59:59 PM
8192
05/21/2020
12/31/2019
12/31/2019 11:59:59 PM
8193
08/14/2020
12/31/2019
12/31/2019 11:59:59 PM
8194
10/07/2020
12/31/2019
12/31/2019 11:59:59 PM
8195
12/05/2020
12/31/2019
12/31/2019 11:59:59 PM
8196
01/22/2021
12/31/2020
12/31/2020 11:59:59 PM
8197
02/03/2021
12/31/2020
12/31/2020 11:59:59 PM
8198
03/17/2021
12/31/2020
12/31/2020 11:59:59 PM
8199
04/23/2021
12/31/2020
12/31/2020 11:59:59 PM
8200
05/04/2021
12/31/2020
12/31/2020 11:59:59 PM
8201
06/30/2021
12/31/2020
12/31/2020 11:59:59 PM
8202
07/26/2021
12/31/2020
12/31/2020 11:59:59 PM
8203
12/27/2021
12/31/2020
12/31/2020 11:59:59 PM
8204
06/06/2022
12/31/2021
12/31/2021 11:59:59 PM
8205
07/18/2022
12/31/2021
12/31/2021 11:59:59 PM
8206
11/14/2022
12/31/2021
12/31/2021 11:59:59 PM
8207
12/12/2022
12/31/2021
12/31/2021 11:59:59 PM
Omdat een period_no van -1 werd gebruikt als het offset-argument in de functie yearend(), identificeert de functie eerst het jaar waarin de transacties plaatsvinden. Het kijkt dan een jaar eerder en identificeert de laatste milliseconde van dat jaar.
Transactie 8199 vindt plaats op 23 april 2021. De functie yearend() retourneert de laatste milliseconde van het voorgaande jaar, 31 december 2020 om 11:59:59 PM, voor het veld ‘previous_year_end’.
Voorbeeld 3 – first_month_of_year
Overzicht
Dezelfde gegevensverzameling en het scenario uit het eerste voorbeeld worden gebruikt.
In dit voorbeeld is het bedrijfsbeleid echter dat het jaar op 1 april begint.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
id
date
year_end
year_end_timestamp
Resultatentabel
id
date
year_end
year_end_timestamp
8188
01/13/2020
03/31/2020
3/31/2020 11:59:59 PM
8189
02/26/2020
03/31/2020
3/31/2020 11:59:59 PM
8190
03/27/2020
03/31/2020
3/31/2020 11:59:59 PM
8191
04/16/2020
03/31/2021
3/31/2021 11:59:59 PM
8192
05/21/2020
03/31/2021
3/31/2021 11:59:59 PM
8193
08/14/2020
03/31/2021
3/31/2021 11:59:59 PM
8194
10/07/2020
03/31/2021
3/31/2021 11:59:59 PM
8195
12/05/2020
03/31/2021
3/31/2021 11:59:59 PM
8196
01/22/2021
03/31/2021
3/31/2021 11:59:59 PM
8197
02/03/2021
03/31/2021
3/31/2021 11:59:59 PM
8198
03/17/2021
03/31/2021
3/31/2021 11:59:59 PM
8199
04/23/2021
03/31/2022
3/31/2022 11:59:59 PM
8200
05/04/2021
03/31/2022
3/31/2022 11:59:59 PM
8201
06/30/2021
03/31/2022
3/31/2022 11:59:59 PM
8202
07/26/2021
03/31/2022
3/31/2022 11:59:59 PM
8203
12/27/2021
03/31/2022
3/31/2022 11:59:59 PM
8204
06/06/2022
03/31/2023
3/31/2023 11:59:59 PM
8205
07/18/2022
03/31/2023
3/31/2023 11:59:59 PM
8206
11/14/2022
03/31/2023
3/31/2023 11:59:59 PM
8207
12/12/2022
03/31/2023
3/31/2023 11:59:59 PM
Omdat het argument first_month_of_year van 4 wordt gebruikt in de functie yearend(), stelt het de eerste dag van het jaar in op 1 april en de laatste dag van het jaar op 31 maart.
Transactie 8199 vindt plaats op 23 april 2021. Omdat de functie yearend() het begin van het jaar instelt op 1 april, wordt 31 maart 2022 geretourneerd als de waarde 'year_end' voor de transactie.
Voorbeeld 4 – diagramobjectvoorbeeld
Overzicht
Dezelfde gegevensverzameling en het scenario uit het eerste voorbeeld worden gebruikt.
In dit voorbeeld is de gegevensverzameling echter niet gewijzigd en wordt in de applicatie geladen. De berekening die een einddatumtijdstempel retourneert van het jaar waarin de transactie plaatsvond is gemaakt als meting in een diagramobject van de toepassing.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
id
date
Maak de volgende metingen om te berekenen in welk jaar een transactie plaatsvond:
=yearend(date)
=timestamp(yearend(date))
Resultatentabel
id
date
=yearend(date)
=timestamp(yearend(date))
8188
01/13/2020
12/31/2020
12/31/2020 11:59:59 PM
8189
02/26/2020
12/31/2020
12/31/2020 11:59:59 PM
8190
03/27/2020
12/31/2020
12/31/2020 11:59:59 PM
8191
04/16/2020
12/31/2020
12/31/2020 11:59:59 PM
8192
05/21/2020
12/31/2020
12/31/2020 11:59:59 PM
8193
08/14/2020
12/31/2020
12/31/2020 11:59:59 PM
8194
10/07/2020
12/31/2020
12/31/2020 11:59:59 PM
8195
12/05/2020
12/31/2020
12/31/2020 11:59:59 PM
8196
01/22/2021
12/31/2021
12/31/2021 11:59:59 PM
8197
02/03/2021
12/31/2021
12/31/2021 11:59:59 PM
8198
03/17/2021
12/31/2021
12/31/2021 11:59:59 PM
8199
04/23/2021
12/31/2021
12/31/2021 11:59:59 PM
8200
05/04/2021
12/31/2021
12/31/2021 11:59:59 PM
8201
06/30/2021
12/31/2021
12/31/2021 11:59:59 PM
8202
07/26/2021
12/31/2021
12/31/2021 11:59:59 PM
8203
12/27/2021
12/31/2021
12/31/2021 11:59:59 PM
8204
06/06/2022
12/31/2022
12/31/2022 11:59:59 PM
8205
07/18/2022
12/31/2022
12/31/2022 11:59:59 PM
8206
11/14/2022
12/31/2022
12/31/2022 11:59:59 PM
8207
12/12/2022
12/31/2022
12/31/2022 11:59:59 PM
De meting 'end_of_year' wordt gemaakt in het diagramobject met behulp van de functie yearend() en geeft het veld door als het argument van de functie.
De functie yearend() identificeert aanvankelijk in welk jaar de datumwaarde valt en retourneert een tijdstempel voor de laatste milliseconde van dat jaar.
Transactie 8199 vindt plaats op 23 april 2021. De functie yearend() retourneert de laatste milliseconde van dat jaar, namelijk 31 december om 11:59:59 P.M.
Voorbeeld 5 – Scenario
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een gegevensset wordt geladen in een tabel met de naam 'Employee_Expenses'. De tabel bevat de volgende velden:
werknemers-id's
naam werknemer
gemiddelde dagelijkse onkostendeclaraties van elke werknemer
De eindgebruiker wil graag een diagramobject dat per werknemer-id en werknemernaam de geschatte nog te maken onkostendeclaraties voor de rest van het jaar weergeeft. Het boekjaar begint in januari.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
employee_id
employee_name
Maak de volgende meting om de verwachte onkostendeclaraties te berekenen:
=(yearend(today(1))-today(1))*avg_daily_claim
Stel de Getalnotatie van de meting in op Geld.
Resultatentabel
employee_id
employee_name
=(yearend(today(1))-today(1))*avg_daily_claim
182
Mark
$3240.00
183
Deryck
$2700.00
184
Dexter
$2700.00
185
Sydney
$5832.00
186
Agatha
$3888.00
Door de datum van vandaag als enig argument te gebruiken, retourneert de functie yearend() de einddatum van het huidige jaar. Door vervolgens de datum van vandaag af te trekken van de einddatum van het jaar, retourneert de uitdrukking het aantal resterende dagen in dit jaar.
Deze waarde wordt vervolgens vermenigvuldigd met de gemiddelde dagelijkse onkostendeclaratie van elke werknemer om de geschatte waarde te berekenen van de declaraties die elke werknemer naar verwachting in het resterende jaar zal indienen.
Was deze pagina nuttig?
Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!