# inquarter - skript- och diagramfunktion

Denna funktion returnerar True om timestamp ligger inom det kvartal som innehåller base\_date.

Syntax:

InQuarter (timestamp, base\_date, period\_no[, first\_month\_of\_year])

Returnerad datatyp: Boolesk

I Qlik Sense, representeras det booleska sanna värdet av -1, och det falska värdet representeras av 0.

Diagram för `inquarter()`-funktionens intervall

Diagram för `inquarter()`-funktionens intervall

Diagram för `inquarter()`inquarter()-funktionens intervall ![Diagram som visar tidsintervallet som utvärderas av inquarter()-funktionen.](https://help.qlik.com/sv-SE/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-diagram1.png)

Med andra ord delar `inquarter()`-funktionen in året i fyra kvartal mellan 1 januari och 31 december. Du kan använda `first_month_of_year`-argumentet för att ändra vilken månad som anges som första i din app. Kvartalen ändras då baserat på det argumentet. `base_date`-function identifierar vilket kvartal som ska användas som jämförelse för funktionen. Slutligen returnerar funktionen ett booleskt resultat när du jämför datumvärdena med det kvartalsegmentet.

Användning

Funktionen `inquarter()` returnerar ett booleskt resultat. Vanligtvis kommer denna typ av funktion att användas som ett villkor i en `if expression`. Detta returnerar en aggregering eller beräkning som beror på om ett datum inträffade under det valda kvartalet.

`inquarter()`-funktionen kan användas för att identifiera all utrustning som tillverkatas under ett kvartalssegment, baserat på de datum när utrustningen tillverkades.

Argument

| Argument | Beskrivning |
| --- | --- |
| timestamp | Det datum du vill jämföra mot base\_date. |
| base\_date | Datum som används för att utvärdera kvartalet. |
| period\_no | Kvartalets startpunkt kan flyttas med period\_no. period\_no är ett heltal där värdet 0 anger det kvartal som innehåller base\_date. Negativa värden i period\_no anger föregående kvartal och positiva värden anger efterföljande kvartal. |
| first\_month\_of\_year | Om du vill arbeta med (budget)år som inte börjar i januari kan du ange ett värde mellan 2 och 12 i first\_month\_of\_year. |

Du kan använda följande värden för att ställa in den första månaden på året i argumentet `first_month_of_year`:

first\_month\_of\_year values

| Månad | Värde |
| --- | --- |
| februari | 2 |
| mars | 3 |
| april | 4 |
| Maj | 5 |
| juni | 6 |
| juli | 7 |
| augusti | 8 |
| september | 9 |
| oktober | 10 |
| november | 11 |
| december | 12 |

## Lokala inställningar

Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/ÅÅÅÅ. Datumformatet anges i `SET DateFormat`-satsen i datainläsningsskriptet. Förvald datumformatering kan vara annorlunda i ditt system, på grund av dina regionala inställningar och andra faktorer. Du kan ändra formaten i exemplen nedan så att det passar dina krav. Eller så kan du ändra formaten i ditt laddningsskript så att de matchar dessa exempel.

Standardregionalinställningar i appar baseras på de regionala systeminställningarna för datorn eller servern där Qlik Sense är installerad. Om Qlik Sense-servern du ansluter till är inställd på Sverige så kommer skriptredigeraren använda regionala inställningar för Sverige för datum, tid och valuta. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Sense användargränssnittet. Qlik Sense kommer att visas på samma språk som webbläsaren du använder.

Exempel på funktioner

| Exempel | Resultat |
| --- | --- |
| inquarter ('01/25/2013', '01/01/2013', 0) | Returnerar TRUE |
| inquarter ('01/25/2013', '04/01/2013', 0) | Returnerar FALSE |
| inquarter ('01/25/2013', '01/01/2013', -1) | Returnerar FALSE |
| inquarter ('12/25/2012', '01/01/2013', -1) | Returnerar TRUE |
| inquarter ('01/25/2013', '03/01/2013', 0, 3) | Returnerar FALSE |
| inquarter ('03/25/2013', '03/01/2013', 0, 3) | Returnerar TRUE |

## Exempel 1 – inga ytterligare argument

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquarter.htm)

#### Laddningsskript och resultat

Översikt

Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.

Laddningsskriptet innehåller:

* En datauppsättning som innehåller en uppsättning transaktioner från 2022 som laddas i en tabell som heter `Transactions`.

* En föregående laddning som innehåller `inquarter()`-funktionen som ställs in som `in_quarter`-fältet och avgör vilka transaktioner som ägde rum under samma kvartal som 15 maj 2022.

Laddningsskript

```
SET DateFormat='MM/DD/YYYY'; 

Transactions: 
    Load 
       *, 
       inquarter (date,'05/15/2022', 0) as in_quarter 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77 
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23 
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
]; 
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`
* `in_quarter`

Resultattabell

| 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 |

`in_quarter`-fältet skapas i föregående LOAD-sats med hjälp av funktionen `inquarter()`. Det första argumentet anger vilket fält som utvärderas. Det andra argumentet är ett hårdkodat datum för 15 maj som identifierar vilket kvartal som ska definieras som komparator. `period_no`-värdet `0` är det sista argumentet, och säkerställer att `inquarter()`-funktionen inte jämför kvartalen före eller efter det segmenterade kvartalet.

Diagram för `inquarter()`-funktionen med 15 maj som basdatum

Diagram för `inquarter()`-funktionen med 15 maj som basdatum

Diagram för `inquarter()`inquarter()-funktionen med 15 maj som basdatum![Diagram som visar det tidsintervall som utvärderas av inquarter()-funktionen med 15 maj som basdatum, och året indelat i kvartalsegment.](https://help.qlik.com/sv-SE/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-example1-diagram.png)

Alla transaktioner som sker mellan 1 april och slutet av 30 juni returnerar det booleska resultatet TRUE.

## Exempel 2 – period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquarter.htm)

#### Laddningsskript och resultat

Översikt

Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.

Laddningsskriptet innehåller:

* En datauppsättning som innehåller en uppsättning transaktioner från 2022 som laddas i en tabell som heter `Transactions`.

* En föregående laddning som innehåller `inquarter()`-funktionen som ställs in som `previous_quarter`-fältet och avgör vilka transaktioner som ägde rum under det kvartal som föregick kvartalet innehållande 15 maj 2022.

Laddningsskript

```
SET DateFormat='MM/DD/YYYY'; 

Transactions: 
    Load 
       *, 
       inquarter (date,'05/15/2022', -1) as previous_qtr 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77 
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23 
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
]; 
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`
* `previous_qtr`

Resultattabell

| 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 |

Genom att använda `-1` som `period_no`-argument i `inquarter()`-funktionen skiftas gränserna för i jämförelsekvartalet bakåt med ett helt kvartal. 15 maj infaller under årets andra kvartal och därför motsvarar segmentet initialt kvartalet mellan 1 april och 30 juni. `period_no` förskjuter sedan detta segment tre månader bakåt, vilket medför att datumgränserna blir 1 januari till 30 mars.

Diagram för `inquarter()`-funktionen med 15 maj som basdatum

Diagram för `inquarter()`-funktionen med 15 maj som basdatum

Diagram för `inquarter()`inquarter()-funktionen med 15 maj som basdatum![Diagram som visar det tidsintervall som utvärderas av inquarter()-funktionen med 15 maj som basdatum, och period_no inställt till -1, vilket flyttar datumgränserna tillbaka ett kvartal.](https://help.qlik.com/sv-SE/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-example2-diagram.png)

Därför kommer alla transaktioner som sker mellan 1 januari och 30 mars returnera det booleska resultatet TRUE.

## Exempel 3 – first\_month\_of\_year

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquarter.htm)

#### Laddningsskript och resultat

Översikt

Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.

Laddningsskriptet innehåller:

* En datauppsättning som innehåller en uppsättning transaktioner från 2022 som laddas i en tabell som heter `Transactions`.

* En föregående laddning som innehåller `inquarter()`-funktionen som ställs in som `in_quarter`-fältet och avgör vilka transaktioner som ägde rum under samma kvartal som 15 maj 2022.

I det här exemplet är dock organisationspolicyn att mars är den första månaden i räkenskapsåret.

Laddningsskript

```
SET DateFormat='MM/DD/YYYY'; 

Transactions: 
    Load 
       *, 
       inquarter (date,'05/15/2022', 0, 3) as in_quarter 
       ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77 
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23 
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
]; 
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`
* `previous_qtr`

Resultattabell

| 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 |

Genom att använda `3` som `first_month_of_year`-argument i `inquarter()`-funktionen ställs 1 mars in som årets början och delas sedan året upp i kvartal. Därför är kvartalssegmenten mar-maj, jun-aug, sep-nov och dec-feb. `base_date` som 15 maj ställer in kvartalet mar-maj som jämförande kvartal för funktionen.

Diagram för `inquarter()`-funktionen med mars inställt som årets första månad.

Diagram för `inquarter()`-funktionen med mars inställt som årets första månad.

Diagram för `inquarter()`inquarter()-funktionen med mars inställt som årets första månad.![Diagram som visar det tidsintervall som utvärderas av inquarter()-funktionen med 15 maj som basdatum och mars inställt som årets första månad.](https://help.qlik.com/sv-SE/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-example3-diagram.png)

Därför kommer alla transaktioner som sker mellan 1 mars och 31 maj returnera det booleska resultatet TRUE.

## Exempel 4 – Diagramobjektexempel

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquarter.htm)

#### Laddningsskript och diagramuttryck

Översikt

Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.

Laddningsskriptet innehåller:

* En datauppsättning som innehåller en uppsättning transaktioner från 2022 som laddas i en tabell som heter `Transactions`.

* En föregående laddning som innehåller `inquarter()`-funktionen som ställs in som `in_quarter`-fältet och avgör vilka transaktioner som ägde rum under samma kvartal som 15 maj 2022.

Laddningsskript

```
SET DateFormat='MM/DD/YYYY'; 

Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77 
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23 
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
]; 
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

* `date`

Skapa följande mått för att beräkna om transaktioner ägde rum under samma kvartal som 15 maj:

`=inquarter(date,'05/15/2022', 0)`

Resultattabell

| 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 |

`in_quarter`-måttet skapas i diagrammet med hjälp av `inquarter()`-funktionen. Det första argumentet anger vilket fält som utvärderas. Det andra argumentet är ett hårdkodat datum för 15 maj som identifierar vilket kvartal som ska definieras som komparator. `period_no`-värdet `0` är det sista argumentet, och säkerställer att `inquarter()`-funktionen inte jämför kvartalen före eller efter det segmenterade kvartalet.

Diagram för `inquarter()`-funktionen med 15 maj som basdatum

Diagram för `inquarter()`-funktionen med 15 maj som basdatum

Diagram för `inquarter()`inquarter()-funktionen med 15 maj som basdatum![Diagram som visar det tidsintervall som utvärderas av inquarter()-funktionen med 15 maj som basdatum, och året indelat i kvartalsegment.](https://help.qlik.com/sv-SE/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-example1-diagram.png)

Alla transaktioner som sker mellan 1 april och slutet av 30 juni returnerar det booleska resultatet TRUE.

## Exempel 5 – Scenario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquarter.htm)

#### Laddningsskript och resultat

Översikt

Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.

Laddningsskriptet innehåller:

* En datauppsättning laddas i en tabell som heter Products.

* Tabellen innehåller följande fält:

  * produkt-ID

  * produkttyp

  * tillverkningsdatum

  * kostnadspris

I det här exemplet har man identifierat att utrustningsfel var orsaken till att produkter som tillverkades under kvartalet den 15 maj, 2022 var defekta. Slutanvändaren vill ha ett diagram som visar, efter kvartalsnamn, status för vilka produkter som tillverkades som var "defekta" eller "felfria", samt kostnaden för de produkter som tillverkades det kvartalet.

Laddningsskript

```
Products: 
Load 
* 
Inline  
[ 
product_id,manufacture_date,cost_price 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
8190,'2/28/2022',88.27 
8191,'2/5/2022',57.42 
8192,'3/16/2022',53.80 
8193,'4/1/2022',82.06 
8194,'5/7/2022',40.39 
8195,'5/16/2022',87.21 
8196,'6/15/2022',95.93 
8197,'6/26/2022',45.89 
8198,'7/9/2022',36.23 
8199,'7/22/2022',25.66 
8200,'7/23/2022',82.77 
8201,'7/27/2022',69.98 
8202,'8/2/2022',76.11 
8203,'8/8/2022',25.12 
8204,'8/19/2022',46.23
8205,'9/26/2022',84.21 
8206,'10/14/2022',96.24 
8207,'10/29/2022',67.67 
]; 
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

=quartername(manufacture\_date)

Skapa följande mått:

* =if(only(InQuarter(manufacture\_date,makedate(2022,05,15),0)),'Defective','Faultless'), för att identifiera vilka av produkterna som är defekta och vilka som är felfria med inquarter()-funktionen:

* =sum(cost\_price), för att visa den sammanlagda kostnaden för varje produkt.

Gör följande:

1. Ange måttens Nummerformatering till Pengar.

2. Under Utseende, stänger du av Total.

Resultattabell

| quartername(manufacture\_date) | =if(only(InQuarter(manufacture\_date,makedate(2022,05,15),0)),'Defective','Faultless') | Sum(cost\_price) |
| --- | --- | --- |
| Jan-mars 2022 | Felfri | 253.89 |
| Apr-jun 2022 | Defekt | 351.48 |
| Jul-sep 2022 | Felfri | 446.31 |
| Okt-dec 2022 | Felfri | 163.91 |

Funktionen inquarter() returnerar ett booleskt värde vid utvärdering av tillverkningsdatumen för var och en av produkterna. För alla produkter som tillverkats under det kvartal där 15 maj ingår returnerar funktionen inquarter() det booleska värdet TRUE och markerar produkterna som "Defekta". För alla produkter som returnerar ett värde på FALSE, och därför inte tillverkats under detta kvartal, markerar den produkterna som "Felfria".