In Qlik Sense wordt de booleaanse waarde Waar vertegenwoordigd door -1 en de waarde Onwaar door 0.
Met andere woorden: de inquarter()-functie verdeelt het jaar in vier gelijke kwartalen tussen 1 januari en 31 december. U kunt het first_month_of_year-argument gebruiken om te veranderen welke maand als de eerste maand wordt gezien in uw app. Op basis van dat argument veranderen ook de kwartalen. De base_date-functie identificeert welk kwartaal moet worden gebruikt als de vergelijkingsdatum voor de functie. Ten slotte retourneert de functie een booleaans resultaat wanneer de datumwaarden met dat segment worden vergeleken.
Wanneer gebruiken
De functie inquarter() retourneert een booleaanse waarde. Dit type functie wordt doorgaans gebruikt als voorwaarde in een if expression. Hierdoor wordt een aggregatie of berekening geretourneerd, afhankelijk van of een datum al dan niet in het geselecteerde kwartaal valt.
De inquarter()-functie kan bijvoorbeeld worden gebruikt om alle apparatuur te identificeren die in een kwartaalsegment is geproduceerd op basis van de datums waarop de apparatuur is geproduceerd.
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.
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. 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.
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 reeks transacties in 2022 die wordt geladen in de tabel Transactions.
Een voorafgaande lading met de inquarter()-functie die is ingesteld als het in_quarter-veld en die bepaalt welke transacties in hetzelfde kwartaal hebben plaatsgevonden als het kwartaal waarin 15 mei 2022 valt.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
date
in_quarter
Resultatentabel
date
in_quarter
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
-1
6/15/2022
-1
6/26/2022
-1
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 wordt gemaakt in de vorige load-instructie met behulp van de functie inquarter(). Het eerste argument identificeert welk veld wordt geëvalueerd. Het tweede argument is een vastgestelde datum voor 15 mei die identificeert welk kwartaal als de vergelijker moet worden gedefinieerd. Een period_no van 0 is het laatste argument en zorgt ervoor dat de inquarter()-functie geen kwartalen voor of na het gesegmenteerde kwartaal vergelijkt.
Elke transactie die tussen 1 april en het eind van 30 juni plaatsvindt, retourneert een booleaans resultaat TRUE.
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 reeks transacties in 2022 die wordt geladen in de tabel Transactions.
Een voorafgaande lading met de inquarter()-functie die is ingesteld als het previous_quarter-veld en die bepaalt welke transacties in het kwartaal hebben plaatsgevonden voorafgaand aan het kwartaal waarin 15 mei 2022 valt.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
date
previous_qtr
Resultatentabel
date
previous_qtr
1/7/2022
-1
1/19/2022
-1
2/5/2022
-1
2/28/2022
-1
3/16/2022
-1
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
Door -1 als het period_no-argument in de inquarter()-functie te gebruiken, verschuift de functie de grenzen van het vergelijkingskwartaal terug met een heel een kwartaal. 15 Mei valt in het tweede kwartaal van het jaar en dus komt het segment aanvankelijk overeen met de ingestelde periode tussen 1 april en 30 juni. De period_no compenseert dit segment vervolgens drie maanden eerder, waardoor de datumgrenzen van 1 januari tot 30 maart worden.
Daarom zal elke transactie die plaatsvindt tussen 1 januari en 30 maart een booleaans resultaat voor 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:
Een gegevensset met een reeks transacties in 2022 die wordt geladen in de tabel Transactions.
Een voorafgaande lading met de inquarter()-functie die is ingesteld als het in_quarter-veld en die bepaalt welke transacties in hetzelfde kwartaal hebben plaatsgevonden als het kwartaal waarin 15 mei 2022 valt.
In dit voorbeeld is maart volgens het organisatiebeleid echter de eerste maand van het boekjaar.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
date
previous_qtr
Resultatentabel
date
previous_qtr
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
-1
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 inquarter()-functie, wordt 1 maart ingesteld als het begin van het jaar en wordt het jaar vervolgens in kwartalen verdeeld. Daardoor zijn de kwartaalsegmenten maa-mei, jun-aug, sep-nov en dec-feb. De base_date van 15 mei stelt het maa-mei-kwartaal in als het vergelijkingskwartaal voor de functie.
Daarom zal elke transactie die plaatsvindt tussen 1 maart en 31 mei een booleaans resultaat voor TRUE 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:
Een gegevensset met een reeks transacties in 2022 die wordt geladen in de tabel Transactions.
Een voorafgaande lading met de inquarter()-functie die is ingesteld als het in_quarter-veld en die bepaalt welke transacties in hetzelfde kwartaal hebben plaatsgevonden als het kwartaal waarin 15 mei 2022 valt.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:
date
Om te berekenen of transacties in hetzelfde kwartaal hebben plaatsgevonden als het kwartaal waarin 15 mei valt, maakt u de volgende meting:
=inquarter(date,'05/15/2022', 0)
Resultatentabel
date
in_quarter
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
-1
6/15/2022
-1
6/26/2022
-1
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 wordt in het diagram gemaakt met behulp van de functie inquarter(). Het eerste argument identificeert welk veld wordt geëvalueerd. Het tweede argument is een vastgestelde datum voor 15 mei die identificeert welk kwartaal als de vergelijker moet worden gedefinieerd. Een period_no van 0 is het laatste argument en zorgt ervoor dat de inquarter()-functie geen kwartalen voor of na het gesegmenteerde kwartaal vergelijkt.
Elke transactie die tussen 1 april en het eind van 30 juni plaatsvindt, retourneert een booleaans resultaat TRUE.
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 in de tabel Products wordt geladen.
De tabel bevat de volgende velden:
product ID
producttype
productiedatum
cost price
Er is vastgesteld dat producten die in het kwartaal van 15 mei 2022 zijn geproduceerd, defect zijn vanwege een materieelfout. De eindgebruiker wil graag een diagram dat op kwartaalnaam de status toont van welke geproduceerde producten 'defect' of 'foutloos' zijn en de kosten van de producten die in die maand zijn geproduceerd.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:
=quartername(manufacture_date)
Maak de volgende metingen:
=if(only(InQuarter(manufacture_date,makedate(2022,05,15),0)),'Defective','Faultless'), om te identificeren welke van de producten defect zijn en welke foutloos zijn met behulp van de inquarter()-functie.
=sum(cost_price), om de som van de kosten van elk product te tonen.
De functie inquarter() retourneert een booleaanse waarde bij het evalueren van de productiedatums van elk product. Voor elk product dat in het kwartaal waarin 15 mei valt, wordt geproduceerd, retourneert de inquarter()-functie een booleaanse waarde TRUE en markeert het de producten als Defect. Voor elk product dat de waarde FALSE retourneert, en dus niet in dat kwartaal is geproduceerd, wordt het product als Foutloos gemarkeerd.
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!