# inquartertodate Skript- och diagramfunktion

Denna funktion returnerar True om timestamp ligger inom den del av det kvartal som innehåller base\_date fram till och inklusive den sista millisekunden av base\_date.

Syntax:

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

Returnerad datatyp: Booleansk

Anteckning om information

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

Diagram för inquartertodate-funktionen

Diagram för inquartertodate-funktionen

Diagram för inquartertodate-funktionen ![Exempeldiagram över det datumintervall inom vilket funktionen inquartertodate returnerar ett värde på TRUE.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-general.png)

Funktionen `inquartertodate()` delar upp året i fyra lika stora kvartal mellan 1 januari och 31 december (eller den användardefinierade början på året och dess motsvarande slutdatum). Med hjälp av `base_date`kommer funktionen sedan att segmentera ett visst kvartal, med `base_date` som identifierar både kvartal och det högsta tillåtna datumet för det kvartalssegmentet. Slutligen returnerar funktionen ett booleskt resultat när du jämför de föreskrivna datumvärdena med det segmentet.

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

## När ska du använda inquartertodate

Funktionen `inquartertodate()` returnerar ett booleskt resultat. Vanligtvis kommer denna typ av funktion att användas som ett villkor i ett `if`-uttryck. `inquartertodate()`-funktionen returnerar en aggregering eller beräkning beroende på om ett utvärderat datum inträffade i kvartalet till och med datumet i fråga.

Till exempel kan `inquartertodate()`-funktionen användas för att identifiera all utrustning som tillverkats under ett kvartal fram till ett specifikt datum.

Exempel på funktioner

| Exempel | Resultat |
| --- | --- |
| `inquartertodate('01/25/2013', '03/25/2013', 0)` | Returnerar `TRUE`, eftersom värdet för `timestamp`, 01/25/2013, ligger inom tremånadersperioden från 01/01/2013 till 03/25/2013, där värdet för `base_date` 03/25/2013. |
| `inquartertodate('04/26/2013', '03/25/2013', 0)` | Returnerar `FALSE` eftersom 04/26/2013 är utanför samma period som i förra exemplet. |
| `inquartertodate('02/25/2013', '06/09/2013', -1)` | Returnerar`TRUE` eftersom värdet för `period_no`, som är -1, flyttar sökperioden en tremånadersperiod bakåt (ett kvartal av året. Detta innebär att sökperioden är 01/01/2013 till 03/09/2013. |
| `inquartertodate('03/25/2006', '04/15/2006', 0, 2)` | Returnerar `TRUE` eftersom värdet för `first_month_of_year` är inställt på 2, vilket gör sökperioden till 2006-02-01 till 2006-04-15 istället för 2006- 04-01 till 2006-04-15. |

## Lokala inställningar

Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/YYYY. 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. Mer information finns i [Ändra regioninställningar för applikationer och skript](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Standardinställningar för region i applikationer baseras på användarprofilen. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Cloud användargränssnittet. Qlik Cloud kommer att visas på samma språk som webbläsaren du använder.

Om du är en applikationsskapare kan du ange standardregionen för applikationer du skapar. Mer information finns i [Ställa in önskade regioninställningar för att skapa appar och skript i Qlik Cloud-analys](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

## Exempel 1 – inga ytterligare argument

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

#### Laddningsskript och resultat

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som innehåller transaktioner för 2022 som läses in i en tabell som heter `Transactions`.

* Datumfältet tillhandahålls i formatet (ÅÅÅÅ-MM-DD) i `DateFormat`-systemvariabeln.

* Skapandet av ett fält, `  in_quarter_to_date `, som bestämmer vilka transaktioner som ägde rum under kvartalet fram till den 15 maj 2022.

Laddningsskript

```
SET DateFormat='MM/DD/YYYY';
						
Transactions:
    Load
        *,
        inquartertodate(date,'05/15/2022', 0) as in_quarter_to_date
        ;
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_to_date`

Resultattabell

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

`in_quarter_to_date`-fältet skapas i föregående LOAD-sats med hjälp av funktionen `inquartertodate()`. Det första argumentet som anges identifierar vilket fält som utvärderas. Det andra argumentet är ett hårdkodat datum för den 15 maj, vilket är `base_date` som identifierar vilket kvartal som ska segmenteras och definierar slutgränsen för det segmentet. `period_no`-värdet 0 är det sista argumentet, vilket betyder att funktionen inte jämför kvartalen före eller efter det segmenterade kvartalet.

Diagram för inquartertodate-funktionen, inga ytterligare argument

Diagram för inquartertodate-funktionen, inga ytterligare argument

Diagram för inquartertodate-funktionen, inga ytterligare argument ![Diagram som visar datumintervall inom vilket inquartertodate-funktionen returnerar värdet TRUE.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-example-no-additional-arguments.png)

Alla transaktioner som sker mellan 1 april och 15 maj returnerar det booleska resultatet `TRUE`. Transaktionsdatum som är 16 maj och senare kommer att returneras `FALSE`, liksom alla transaktioner före 1 april.

## Exampel 2 – period\_no

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

#### Laddningsskript och resultat

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* Samma datauppsättning och scenario som i det första exemplet.

* Skapandet av ett fält, `previous_qtr_to_date`, som bestämmer vilka transaktioner som ägde rum ett helt kvartal innan den 15 maj 2022.

Laddningsskript

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

Transactions:
    Load
        *,
        inquartertodate(date,'05/15/2022', -1) as previous_qtr_to_date
        ;
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_to_date`

Resultattabell

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

`period_no`-värdet på -1 indikerar att `inquartertodate ()`-funktionen jämför det ingående kvartalssegmentet med föregående kvartal. 15 maj infaller under årets andra kvartal, så segmentet motsvarar initialt mellan 1 april och 15 maj. `period_no` skjuter sedan bak detta segment till tre månader tidigare, vilket gör att datumgränserna blir 1 januari till 15 februari.

Exempel på diagram för inquartertodate-funktionen, period\_no

Exempel på diagram för inquartertodate-funktionen, period\_no

Exempel på diagram för inquartertodate-funktionen, period\_no ![Diagram som visar datumintervall inom vilket inquartertodate-funktionen returnerar värdet TRUE.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-example-period-no.png)

Därför kommer alla transaktioner som sker mellan 1 januari och 15 februari att returnera ett booleskt resultat som är `TRUE`.

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

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

#### Laddningsskript och resultat

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* Samma datauppsättning och scenario som i det första exemplet.

* Skapandet av ett fält, `in_quarter_to_date`, som bestämmer vilka transaktioner som ägde rum under kvartalet fram till den 15 maj 2022.

I det här exemplet anger vi mars som den första månaden av räkenskapsåret.

Laddningsskript

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

Transactions:
    Load
        *,
        inquartertodate(date,'05/15/2022', 0,3) as in_quarter_to_date
        ;
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_to_date`

Resultattabell

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

Genom att använda 3 som `first_month_of_year`-argument i `inquartertodate()`-funktionen startar funktionen året den 1 mars och delar sedan upp året i kvartal. Därför är kvartalssegmenten:

* Mars till maj

* Juni till augusti

* September till november

* December till februari

`base_date` den 15 maj segmenterar då kvartalet mars till maj genom att ställa in slutdatum på 15 maj.

Exempel på diagram för inquartertodate-funktionen, first\_month\_of\_year

Exempel på diagram för inquartertodate-funktionen, first\_month\_of\_year

Exempel på diagram för inquartertodate-funktionen, first\_month\_of\_year ![Diagram som visar datumintervall inom vilket inquartertodate-funktionen returnerar värdet TRUE.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-example-first-mth-yr.png)

Därför kommer alla transaktioner som sker mellan 1 mars och 15 maj att returnera det booleska resultatet `TRUE`, medan transaktioner med datum utanför dessa gränser kommer att returnera värdet `FALSE`.

## Exempel 4 – Diagramobjektexempel

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

#### Laddningsskript och diagramuttryck

Översikt

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

Laddningsskriptet innehåller samma datauppsättning och scenario som i det första exemplet. I det här exemplet har dock den oförändrade datauppsättningen laddats till programmet. Beräkningen som avgör om transaktioner har skett i samma kvartal som den 15 maj skapas som ett mått i diagramobjektet.

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:

=inquartertodate(date,'05/15/2022', 0)

Resultattabell

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

in\_quarter\_to\_date-måttet skapas i ett diagramobjekt med hjälp av inquartertodate()-funktionen. Det första argumentet är datumfältet som utvärderas. Det andra argumentet är ett hårdkodat datum för den 15 maj, vilket är base\_date som identifierar vilket kvartal som ska segmenteras samt definierar slutgränsen för det segmentet. period\_no-värdet 0 är det sista argumentet, vilket betyder att funktionen inte jämför kvartalen före eller efter det segmenterade kvartalet.

Exempel på diagram för inquartertodate-funktionen diagramobjekt

Exempel på diagram för inquartertodate-funktionen diagramobjekt

Exempel på diagram för inquartertodate-funktionen diagramobjekt ![Diagram som visar datumintervall inom vilket inquartertodate-funktionen returnerar värdet TRUE.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-example-chart-object.png)

Alla transaktioner som sker mellan 1 april och 15 maj returnerar det boolesk resultatet TRUE. Transaktionsdatum som är 16 maj och senare kommer att returneras som FALSE, liksom alla transaktioner före 1 april.

## Exempel 5 – Scenario

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

#### Laddningsskript och diagramuttryck

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning läses in i en tabell som heter Products.

* Information om produkt-ID, tillverkningsdatum och självkostnadspris.

Den 15 maj 2022 identifierades ett utrustningsfel i tillverkningsprocessen och åtgärdades. Produkter som tillverkats under det kvartalet fram till detta datum kommer att vara defekta. Slutanvändaren vill ha ett diagramobjekt som visar, efter kvartalsnamn, status för tillverkade produkter som var "defekta" eller "felfria", samt kostnaden för de produkter som tillverkades i kvartalet fram till det datumet.

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

Gör följande:

1. Ladda data och öppna ett ark. Skapa en ny tabell. Skapa en dimension för att visa kvartalsnamnen:

   =quartername(manufacture\_date)

2. Skapa sedan en dimension för att identifiera vilka av produkterna som är defekta och vilka som är felfria:

   =if(inquartertodate(manufacture\_date,makedate(2022,05,15),0),'Defective','Faultless')

3. Skapa ett mått för att summera cost\_price av produkterna:

   =sum(cost\_price)

4. Ange måttens Nummerformatering till Pengar.

Resultattabell

| quartername(manufacture\_date) | if(inquartertodate(manufacture\_date,makedate(2022,05,15),0),'Defective','Faultless') | =sum(cost\_price) |
| --- | --- | --- |
| Jan-mars 2022 | Felfri | $253.89 |
| Apr-jun 2022 | Felfri | $229.03 |
| Apr-jun 2022 | Defekt | $122.45 |
| Jul-sep 2022 | Felfri | $446.31 |
| Okt-dec 2022 | Felfri | $163.91 |

Funktionen inquartertodate() returnerar ett booleskt värde vid utvärdering av tillverkningsdatumen för var och en av produkterna. För de som returnerar ett booleskt värde på TRUE, markerar det produkterna som ‘Defective’. För alla produkter som returnerar värdet FALSE, och därför inte tillverkas under kvartalet fram till och med den 15 maj, markeras produkterna som ‘Faultless’.