Deze functie retourneert True als timestamp binnen het gedeelte van het jaar ligt dat base_date bevat tot en met de laatste milliseconde van base_date.
In Qlik Sense wordt de booleaanse waarde Waar vertegenwoordigd door -1 en de waarde Onwaar door 0.
De functie inyeartodate() segmenteert een bepaald gedeelte van het jaar met de base_date, waarbij de maximaal toegestane datum voor dat jaarsegment wordt aangegeven. De functie evalueert vervolgens of een datumveld of waarde in dit segment valt en retourneert een booleaans resultaat.
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.
Wanneer gebruiken
De functie inyeartodate() retourneert een booleaanse waarde. Dit type functie wordt doorgaans gebruikt als voorwaarde in een if-uitdrukking. Dit retourneert een aggregatie of berekening afhankelijk van of een geëvalueerde datum plaatsvond in het jaar tot en met de betreffende datum.
De functie inyeartodate() bijvoorbeeld kan worden gebruikt om alle materieel te identificeren die in een jaar tot en met een specifieke datum is geproduceerd.
Deze voorbeelden gebruiken de datumopmaak MM/DD/YYYY. De datumopmaak wordt opgegeven in de opdracht SET DateFormat boven aan uw load-script voor gegevens. Wijzig de opmaak in de voorbeelden zodat deze in uw behoeften voorziet.
Voorbeelden van functies
Voorbeeld
Resultaat
inyeartodate ('01/25/2013', '02/01/2013', 0)
Retourneert TRUE.
inyeartodate ('01/25/2012', '01/01/2013', 0)
Retourneert FALSE.
inyeartodate ('01/25/2012', '02/01/2013', -1)
Retourneert TRUE.
inyeartodate ('11/25/2012', '01/31/2013', 0, 4)
Retourneert TRUE. De waarde van timestamp valt binnen het fiscale jaar dat begint in de vierde maand en vóór de waarde van base_date.
inyeartodate ('3/31/2013', '01/31/2013', 0, 4 )
Retourneert FALSE. Retourneert Vergeleken met het voorafgaande voorbeeld ligt de waarde van nog steeds binnen het fiscale jaar, maar valt deze na de waarde van , dus valt deze buiten het gedeelte van het jaar.timestampbase_date
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. Ga voor meer informatie naar Regionale instellingen voor apps en scripts aanpassen.
Standaard landinstellingen van de app zijn gebaseerd op het gebruikersprofiel. Deze landinstellingen voor indelingen zijn niet gerelateerd aan de taal die wordt weergegeven in de gebruikersinterface van Qlik Cloud. Qlik Cloud wordt weergegeven in dezelfde taal als de browser die u gebruikt.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
date
in_year_to_date
Resultatentabel
date
in_year_to_date
01/13/2020
0
02/26/2020
0
03/27/2020
0
04/16/2020
0
05/21/2020
0
06/14/2020
0
08/07/2020
0
09/05/2020
0
01/22/2021
-1
02/03/2021
-1
03/17/2021
-1
04/23/2021
-1
05/04/2021
-1
06/30/2021
-1
07/26/2021
-1
07/27/2021
0
06/06/2022
0
07/18/2022
0
11/14/2022
0
12/12/2022
0
Het veld in_year_to_date wordt gemaakt in de vorige load-instructie met behulp van de functie inyeartodate(). Het eerste opgegeven argument geeft aan welk veld wordt geëvalueerd.
Het tweede argument is een vastgestelde datum voor 26 juli 2021, de base_date die de eindgrens van het jaarsegment aangeeft. Een period_no van 0 is het laatste argument, wat betekent dat de functie geen jaren voor of na het gesegmenteerde jaar vergelijkt.
Elke transactie die tussen 1 januari en 26 juli plaatsvindt, retourneert een booleaans resultaat van TRUE. Transactiedatums vóór 2021 en na 26 juli 2021 retourneren FALSE.
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:
Dezelfde gegevensset en het scenario uit het eerste voorbeeld.
Het aanmaken van een veld, previous_year_to_date, dat bepaalt welke transacties een volledig jaar voor het einde van het jaarsegment dat eindigt op 26 juli 2021 hebben plaatsgevonden.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
date
previous_year_to_date
Resultatentabel
date
previous_year_to_date
01/13/2020
-1
02/26/2020
-1
03/27/2020
-1
04/16/2020
-1
05/21/2020
-1
06/14/2020
-1
08/07/2020
0
09/05/2020
0
01/22/2021
0
02/03/2021
0
03/17/2021
0
04/23/2021
0
05/04/2021
0
06/30/2021
0
07/26/2021
0
07/27/2021
0
06/06/2022
0
07/18/2022
0
11/14/2022
0
12/12/2022
0
Een period_no-waarde van -1 geeft aan dat de functie inyeartodate () het invoerkwartaalsegment vergelijkt met het voorgaande jaar. Met een invoerdatum van 26 juli 2021, werd het segment van 1 januari 2021 tot 26 juli 2021 aanvankelijk geïdentificeerd als het jaar tot heden. De period_no compenseert dit segment vervolgens een volledig jaar eerder, waardoor de datumgrenzen van 1 januari tot 26 juli 2020 worden.
Daarom zal elke transactie die plaatsvindt tussen 1 januari en 26 juli 2020 een booleaans resultaat van TRUE retourneren.
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 en het scenario uit het eerste voorbeeld.
Het aanmaken van een veld, in_year_to_date, dat bepaalt welke transacties hebben plaatsgevonden in hetzelfde jaar tot 26 juli 2021.
In dit voorbeeld stellen we maart in als de eerste maand van het fiscale jaar.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
date
in_year_to_date
Resultatentabel
date
in_year_to_date
01/13/2020
0
02/26/2020
0
03/27/2020
0
04/16/2020
0
05/21/2020
0
06/14/2020
0
08/07/2020
0
09/05/2020
0
01/22/2021
0
02/03/2021
0
03/17/2021
-1
04/23/2021
-1
05/04/2021
-1
06/30/2021
-1
07/26/2021
-1
07/27/2021
0
06/06/2022
0
07/18/2022
0
11/14/2022
0
12/12/2022
0
Door 3 te gebruiken als het first_month_of_year-argument in de inyeartodate()-functie, begint de functie het jaar op 1 maart. De base_date van 26 juli 2021 stelt dan de einddatum in voor dat jaarsegment.
Daarom zal elke transactie die plaatsvindt tussen 1 maart en 26 juli 2021 een booleaans resultaat van TRUE retourneren, terwijl transacties met datums buiten deze grenzen een waarde van FALSE zullen retourneren.
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 en scenario als het eerste voorbeeld. In dit voorbeeld wordt de ongewijzigde gegevensset echter in de applicatie geladen. De berekening die bepaalt welke transacties plaatsvonden in hetzelfde jaar tot 26 juli 2021 is gemaakt als meting in een diagramobject van de toepassing.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:date.
Maak de volgende meting:
=inyeartodate(date,'07/26/2021', 0)
Resultatentabel
date
=inyeartodate(date,'07/26/2021', 0)
01/13/2020
0
02/26/2020
0
03/27/2020
0
04/16/2020
0
05/21/2020
0
06/14/2020
0
08/07/2020
0
09/05/2020
0
01/22/2021
-1
02/03/2021
-1
03/17/2021
-1
04/23/2021
-1
05/04/2021
-1
06/30/2021
-1
07/26/2021
-1
07/27/2021
0
06/06/2022
0
07/18/2022
0
11/14/2022
0
12/12/2022
0
De meting in_year_to_date wordt in het diagramobject gemaakt met behulp van de functie inyeartodate(). Het eerste opgegeven argument geeft aan welk veld wordt geëvalueerd. Het tweede argument is een vastgestelde datum voor 26 juli 2021, de base_date die de eindgrens van het vergelijkende jaarsegment aangeeft. Een period_no van 0 is het laatste argument, wat betekent dat de functie geen jaren voor of na het gesegmenteerde jaar vergelijkt.
Elke transactie die tussen 1 januari en 26 juli 2021 plaatsvindt, retourneert een booleaans resultaat van TRUE. Transactiedatums vóór 2021 en na 26 juli 2021 retourneren FALSE.
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 die wordt geladen in een tabel met de naam Products.
Informatie over product-id, producttype, productiedatum en kostprijs.
De eindgebruiker wil een diagramobject dat, per producttype, de kosten weergeeft van de producten die in 2021 tot 26 juli zijn geproduceerd.
De functie inyeartodate() retourneert een booleaanse waarde bij het evalueren van de productiedatums van elk product. Voor elk product dat in 2021 vóór 27 juli is geproduceerd, retourneert de functie inyeartodate() een booleaanse waarde van TRUE en telt de cost_price op.
Product D is het enige product dat in 2021 ook na 26 juli is geproduceerd. De vermelding met product_ID 8203 is geproduceerd op 27 december en kost $25.12. Daarom zijn deze kosten niet opgenomen in het totaal voor Product D in het diagramobject.
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!