Deze functie retourneert een jaar in vier cijfers als weergavewaarde met een onderliggende numerieke waarde die overeenkomt met een tijdstempel van de eerste milliseconde van de eerste dag van het jaar dat date bevat.
De functie yearname() is anders dan de functie year(), omdat u hiermee de datum die u wilt evalueren kunt verschuiven en de eerste maand van het jaar kunt instellen.
Als de eerste maand van het jaar niet januari is, retourneert de functie de twee viercijferige jaren over de periode van twaalf maanden die de datum bevatten. Als het begin van het jaar bijvoorbeeld april is en de datum die wordt geëvalueerd is 06/30/2020, zou het geretourneerde resultaat 2020-2021zijn.
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. De weergavewaarde is dan een tekenreeks die twee jaren toont.
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
Wanneer gebruiken
De functie yearname() is handig om aggregaties per jaar te vergelijken. Bijvoorbeeld als u de totale verkoop van producten per jaar wilt zien.
Deze dimensies kunnen in het load-script worden gemaakt door de functie te gebruiken om een veld in een masterkalendertabel te maken. Ze kunnen ook in een diagram worden gemaakt als berekende dimensies
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.
Deze functie retourneert een geheel getal dat het jaar representeert als de uitdrukking wordt geïnterpreteerd als een datum volgens de standaardinterpretatie van getallen.
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 gegevensset met een set transacties tussen 2020 en 2022 wordt geladen in een tabel met de naam 'Transactions'.
De systeemvariabele DateFormat die is ingesteld op 'MM/DD/YYYY'.
Een voorafgaande lading die de yearname() gebruikt en die is ingesteld als het veld year_name.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
date
year_name
Resultatentabel
date
year_name
01/13/2020
2020
02/26/2020
2020
03/27/2020
2020
04/16/2020
2020
05/21/2020
2020
08/14/2020
2020
10/07/2020
2020
12/05/2020
2020
01/22/2021
2021
02/03/2021
2021
03/17/2021
2021
04/23/2021
2021
05/04/2021
2021
06/30/2021
2021
07/26/2021
2021
12/27/2021
2021
06/06/2022
2022
07/18/2022
2022
11/14/2022
2022
12/12/2022
2022
Het veld 'year_name' wordt gemaakt in de voorafgaande load-instructie met behulp van de functie yearname() en geeft het datumveld door als het argument van de functie.
De functie yearname() identificeert in welk jaar de datumwaarde valt en retourneert dit als een viercijferige jaarwaarde.
Voorbeeld 2 – period_no
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 met een set transacties tussen 2020 en 2022 wordt geladen in een tabel met de naam 'Transacties'.
De systeemvariabele DateFormat die is ingesteld op ‘MM/DD/YYYY’.
Een voorafgaande lading die de yearname() gebruikt en die is ingesteld als het veld year_name.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
date
prior_year_name
Resultatentabel
date
prior_year_name
01/13/2020
2019
02/26/2020
2019
03/27/2020
2019
04/16/2020
2019
05/21/2020
2019
08/14/2020
2019
10/07/2020
2019
12/05/2020
2019
01/22/2021
2020
02/03/2021
2020
03/17/2021
2020
04/23/2021
2020
05/04/2021
2020
06/30/2021
2020
07/26/2021
2020
12/27/2021
2020
06/06/2022
2021
07/18/2022
2021
11/14/2022
2021
12/12/2022
2021
Omdat een period_no van -1 wordt gebruikt als het offset-argument in de functie yearname(), identificeert de functie eerst het jaar waarin de transacties plaatsvinden. De functie verschuift dan een jaar eerder en retourneert het resulterende jaar.
Voorbeeld 3 – first_month_of_year
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Dezelfde gegevensset als in het eerste voorbeeld.
De systeemvariabele DateFormat die is ingesteld op 'MM/DD/YYYY'.
Een voorafgaande lading die de yearname() gebruikt en die is ingesteld als het veld year_name.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
id
date
year_name
Resultatentabel
date
year_name
01/13/2020
2019-2020
02/26/2020
2019-2020
03/27/2020
2019-2020
04/16/2020
2020-2021
05/21/2020
2020-2021
08/14/2020
2020-2021
10/07/2020
2020-2021
12/05/2020
2020-2021
01/22/2021
2020-2021
02/03/2021
2020-2021
03/17/2021
2020-2021
04/23/2021
2021-2022
05/04/2021
2021-2022
06/30/2021
2021-2022
07/26/2021
2021-2022
12/27/2021
2021-2022
06/06/2022
2022-2023
07/18/2022
2022-2023
11/14/2022
2022-2023
12/12/2022
2022-2023
Omdat het argument [ first_month_of_year van 4 wordt gebruikt in de functie yearname(), verschuift het begin van het jaar van 1 januari naar 1 april. Daarom kruist elke periode van twaalf maanden twee kalenderjaren en retourneert de functie yearname() de twee viercijferige jaar voor geëvalueerde datums.
Transactie 8198 vindt plaats op 17 maart 2021. De functie yearname() stelt het begin van het jaar in op 1 april en het einde op 30 maart. Daarom vond transactie 8198 plaats in de jaarperiode van 1 april 2020 en 30 maart 2021. Als resultaat retourneert de functie yearname() de waarde 2020-2021.
Voorbeeld 4 – diagramobjectvoorbeeld
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Dezelfde gegevensset als in het eerste voorbeeld.
De systeemvariabele DateFormat die is ingesteld op 'MM/DD/YYYY'.
Het veld dat het jaar retourneert waarin de transactie heeft plaatsgevonden, wordt echter gemaakt als een meetwaarde in een grafiekobject.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:
date
Om het veld year_name te berekenen, maakt u deze meting:
=yearname(date)
Resultatentabel
date
=yearname(date)
01/13/2020
2020
02/26/2020
2020
03/27/2020
2020
04/16/2020
2020
05/21/2020
2020
08/14/2020
2020
10/07/2020
2020
12/05/2020
2020
01/22/2021
2021
02/03/2021
2021
03/17/2021
2021
04/23/2021
2021
05/04/2021
2021
06/30/2021
2021
07/26/2021
2021
12/27/2021
2021
06/06/2022
2022
07/18/2022
2022
11/14/2022
2022
12/12/2022
2022
De meting 'year_name' wordt gemaakt in het diagramobject met behulp van de functie yearname() en geeft het veld door als het argument van de functie.
De functie yearname() identificeert in welk jaar de datumwaarde valt en retourneert dit als een viercijferige jaarwaarde.
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:
Dezelfde gegevensset als in het eerste voorbeeld.
De systeemvariabele DateFormat die is ingesteld op 'MM/DD/YYYY'.
De eindgebruiker wil graag een diagram die de totale omzet per kwartaal voor de transacties weergeeft. Gebruik de functie yearname() als een berekende dimensie om dit diagram te maken wanneer de dimensie yearname() niet beschikbaar is in het gegevensmodel.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel.
Als u aggregaties per jaar wilt vergelijken, maakt u deze berekende dimensie:
=yearname(date)
Maak deze meting
=sum(amount)
Stel de Getalnotatie van de meting in op Geld.
Resultatentabel
yearname(date)
=sum(amount)
2020
$463.55
2021
$457.69
2022
$294.35
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!