Deze functie retourneert True als timestamp binnen het gedeelte van het kwartaal 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 inquartertodate() verdeelt het jaar in vier gelijke kwartalen tussen 1 januari en 31 december (of het door de gebruiker gedefinieerde begin van het jaar en de bijbehorende einddatum). Met de base_date zal de functie dan een bepaald kwartaal segmenteren, waarbij de base_date zowel welk kwartaal als de maximaal toegestane datum voor dat kwartaalsegment aangeeft. Ten slotte retourneert de functie een booleaans resultaat bij het vergelijken van de voorgeschreven datumwaarden met dat segment.
Argumenten
Argument
Beschrijving
timestamp
De datum die u wilt vergelijken met base_date.
base_date
Datum op basis waarvan het kwartaal wordt geëvalueerd.
period_no
Het kwartaal kan worden verschoven met period_no. period_no is een geheel getal, waarbij de waarde 0 het kwartaal aangeeft dat base_date bevat. Negatieve waarden in period_no geven voorafgaande kwartalen aan en positieve waarden geven volgende kwartalen 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 inquartertodate() retourneert een booleaanse waarde. Dit type functie wordt doorgaans gebruikt als voorwaarde in een if-uitdrukking. De inquartertodate()-functie wordt gebruikt om een aggregatie of berekening te retourneren afhankelijk van of een geëvalueerde datum plaatsvond in het kwartaal tot en met de betreffende datum.
De functie inquartertodate() bijvoorbeeld kan worden gebruikt om alle materieel te identificeren die in een kwartaal tot en met een specifieke datum is geproduceerd.
Voorbeelden van functies
Voorbeeld
Resultaat
inquartertodate('01/25/2013', '03/25/2013', 0)
RetourneertTRUE, aangezien de waarde van timestamp, 01/25/2013, binnen de periode ligt van drie maanden vanaf 01/01/2013 tot 03/25/2013, waarin de waarde van base_date, 03/25/2013, ligt.
inquartertodate('04/26/2013', '03/25/2013', 0)
Retourneert FALSE, aangezien 04/26/2013 buiten dezelfde periode als het vorige voorbeeld ligt.
inquartertodate('02/25/2013', '06/09/2013', -1)
Retourneert TRUE, aangezien de waarde van period_no, -1, de zoekperiode één periode van drie maanden terugschuift (een kwartaal van het jaar). Dit maakt de zoekperiode 01/01/2013 tot 03/09/2013.
inquartertodate('03/25/2006', '04/15/2006', 0, 2)
Retourneert TRUE, aangezien de waarde van first_month_of_year is ingesteld op 2, waardoor de zoekperiode 02/01/2006 tot 04/15/2006 wordt in plaats van 04/01/2006 tot 04/15/2006.
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_quarter_to_date
Resultatentabel
date
in_quarter_to_date
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
0
4/1/2022
-1
5/7/2022
-1
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Het veld in_quarter_to_date wordt gemaakt in de vorige load-instructie met behulp van de functie inquartertodate(). Het eerste opgegeven argument geeft aan welk veld wordt geëvalueerd. Het tweede argument is een vastgestelde datum voor 15 mei, de base_date die aangeeft welk kwartaal moet worden gesegmenteerd en de eindgrens van dat segment definieert. Een period_no van 0 is het laatste argument, wat betekent dat de functie geen kwartalen voor of na het gesegmenteerde kwartaal vergelijkt.
Elke transactie die tussen 1 april en 15 mei plaatsvindt, retourneert een booleaans resultaat van TRUE. Transactiedatums van 16 mei en later zullen FALSE retourneren, net als alle transacties vóór 1 april.
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_qtr_to_date, dat bepaalt welke transacties een volledig kwartaal voor het einde van het kwartaalsegment op 15 mei 2022 hebben plaatsgevonden.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
date
previous_qtr_to_date
Resultatentabel
date
previous_qtr_to_date
1/7/2022
-1
1/19/2022
-1
2/5/2022
-1
2/28/2022
0
3/16/2022
0
4/1/2022
0
5/7/2022
0
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Een period_no-waarde van -1 geeft aan dat de functie inquartertodate () het invoerkwartaalsegment vergelijkt met het voorgaande kwartaal. 15 mei valt in het tweede kwartaal van het jaar, dus het segment komt aanvankelijk overeen met tussen 1 april en 15 mei. De period_no compenseert dit segment vervolgens drie maanden eerder, waardoor de datumgrenzen van 1 januari tot 15 februari worden.
Daarom zal elke transactie die plaatsvindt tussen 1 januari en 15 februari 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_quarter_to_date, dat bepaalt welke transacties hebben plaatsgevonden in hetzelfde kwartaal tot en met 15 mei 2022.
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_quarter_to_date
Resultatentabel
date
in_quarter_to_date
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
-1
4/1/2022
-1
5/7/2022
-1
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Door 3 te gebruiken als het first_month_of_year-argument in de inquartertodate()-functie, begint de functie het jaar op 1 maart en verdeelt het jaar vervolgens in kwartalen. Daarom zijn de kwartaalsegmenten:
maart tot mei
juni tot augustus
september tot november
December tot februari
De base_date van 15 mei segmenteert vervolgens het kwartaal van maart tot mei door de eindgrens in te stellen op 15 mei.
Daarom zal elke transactie die plaatsvindt tussen 1 maart en 15 mei een booleaans resultaat van TRUEretourneren, 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 kwartaal als 15 mei is gemaakt als een meting in het diagramobject.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:date.
Maak de volgende meting:
=inquartertodate(date,'05/15/2022', 0)
Resultatentabel
date
=inquartertodate(date,'05/15/2022', 0)
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
0
4/1/2022
-1
5/7/2022
-1
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
De meting in_quarter_to_date wordt in een diagramobject gemaakt met behulp van de functie inquartertodate(). Het eerste argument is het datumveld dat wordt geëvalueerd. Het tweede argument is een vastgestelde datum voor 15 mei, de base_date die aangeeft welk kwartaal moet worden gesegmenteerd en de eindgrens van dat segment definieert. Een van 0 is het laatste argument, wat betekent dat de functie geen kwartalen voor of na het gesegmenteerde kwartaal vergelijkt.period_no
Elke transactie die tussen 1 april en 15 mei plaatsvindt, retourneert een booleaans resultaat van TRUE. Transacties op 16 mei en later zullen FALSE retourneren, net als alle transacties vóór 1 april.
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, productiedatum en kostprijs.
Op 15 mei 2022 werd tijdens het productieproces een fout in de apparatuur vastgesteld en opgelost. Producten die tot die datum in dat kwartaal zijn geproduceerd, zullen defect zijn. De eindgebruiker wil graag een diagramobject dat op kwartaalnaam de status toont of het product 'defect' of 'foutloos' is en de kosten van producten die zijn geproduceerd in dat kwartaal.
De functie inquartertodate() retourneert een booleaanse waarde bij het evalueren van de productiedatums van elk product. Voor degenen die een booleaanse waarde van TRUE retourneren, markeert het de producten als ‘Defective’. Voor elk product dat een waarde retourneert van FALSE, en dus niet gemaakt in het kwartaal tot en met 15 mei, markeert het de producten als ‘Faultless’.
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!