# inyeartodate Skript- och diagramfunktion

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

Syntax:

InYearToDate (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 inyeartodate-funktionen

Diagram för inyeartodate-funktionen

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

`inyeartodate()`-funktionen kommer sedan att segmentera en viss del av året med `base_date` som identifierar både kvartal och det högsta tillåtna datumet för det kvartalssegmentet. Funktionen utvärderar sedan om ett datumfält eller värde faller in i detta segment och returnerar ett booleskt resultat.

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 året. |
| period\_no | Årets startpunkt kan flyttas med period\_no. period\_no är ett heltal där värdet 0 anger året som innehåller base\_date. Negativa värden i period\_no anger föregående år och positiva värden anger efterföljande år. |
| 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 inyeartodate

Funktionen `inyeartodate()` returnerar ett booleskt resultat. Vanligtvis kommer denna typ av funktion att användas som ett villkor i ett `if`-uttryck. Detta 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 `inyeartodate()`-funktionen användas för att identifiera all utrustning som tillverkats under ett år fram till ett specifikt datum.

I de här exemplen används datumformatet MM/DD/ÅÅÅÅ. Datumformatet anges i `SET DateFormat`-satsen längst upp i dataladdningsskriptet. Ändra formatet i exemplen så att det passar dina krav.

Exempel på funktioner

| Exempel | Resultat |
| --- | --- |
| `inyeartodate ('01/25/2013', '02/01/2013', 0)` | Returnerar `TRUE`. |
| `inyeartodate ('01/25/2012', '01/01/2013', 0)` | Returnerar `FALSE`. |
| `inyeartodate ('01/25/2012', '02/01/2013', -1)` | Returnerar `TRUE`. |
| `inyeartodate ('11/25/2012', '01/31/2013', 0, 4)` | Returnerar `TRUE`.<br>Värdet för `timestamp` infaller under budgetåret som börjar i den fjärde månaden och innan värdet för `base_date`. |
| `inyeartodate ('3/31/2013', '01/31/2013', 0, 4 )` | Returnerar `FALSE`.<br>Jämfört med det förra exemplet är värdet för `timestamp` fortfarande inom budgetåret, men efter datumet för `base_date`, så det infaller utanför delen av året. |

## 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/inyeartodate.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 en uppsättning transaktioner mellan 2020 och 2022 som laddas i en tabell som heter `Transactions`.

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

* Skapandet av ett fält, `in_year_to_date`, som bestämmer vilka transaktioner som ägde rum under kvartalet fram till den 26 juli 2021.

Laddningsskript

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

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', 0) as in_year_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'01/13/2020',37.23
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27
8191,'04/16/2020',57.42
8192,'05/21/2020',53.80
8193,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/05/2020',87.21
8196,'01/22/2021',95.93
8197,'02/03/2021',45.89
8198,'03/17/2021',36.23
8199,'04/23/2021',25.66
8200,'05/04/2021',82.77
8201,'06/30/2021',69.98
8202,'07/26/2021',76.11
8203,'07/27/2021',25.12
8204,'06/06/2022',46.23
8205,'07/18/2022',84.21
8206,'11/14/2022',96.24
8207,'12/12/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_year_to_date`

Resultattabell

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

`in_year_to_date`-fältet skapas i föregående LOAD-sats med hjälp av funktionen `inyeartodate()`. Det första argumentet som anges identifierar vilket fält som utvärderas.

Det andra argumentet är ett hårdkodat datum för den 26 juli 2021, vilket är `base_date` som identifierar vilken vecka 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 åren före eller efter det segmenterade året.

Diagram för inyeartodate -funktionen, inga ytterligare argument

Diagram för inyeartodate -funktionen, inga ytterligare argument

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

Alla transaktioner som sker mellan 1 januari och 26 juli returnerar det booleska resultatet `TRUE`. Transaktionsdatum före 2021 och efter den 26 juli 2021 returnerar `FALSE`.

## Exampel 2 – period\_no

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyeartodate.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_year_to_date`, som bestämmer vilka transaktioner som ägde rum ett helt år innan årssegmentet som avslutas den 26 juli 2021.

Laddningsskript

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

Transactions:
    Load
        *,
        inyeartodate(date,'07/26/2021', -1) as previous_year_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'01/13/2020',37.23
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27
8191,'04/16/2020',57.42
8192,'05/21/2020',53.80
8193,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/05/2020',87.21
8196,'01/22/2021',95.93
8197,'02/03/2021',45.89
8198,'03/17/2021',36.23
8199,'04/23/2021',25.66
8200,'05/04/2021',82.77
8201,'06/30/2021',69.98
8202,'07/26/2021',76.11
8203,'07/27/2021',25.12
8204,'06/06/2022',46.23
8205,'07/18/2022',84.21
8206,'11/14/2022',96.24
8207,'12/12/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_year_to_date`

Resultattabell

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

`period_no`-värdet -1 indikerar att `inyeartodate ()`-funktionen jämför det ingående kvartalssegmentet med föregående året. Med ett inmatningsdatum 26 juli 2021 identifierades segmentet från 1 januari 2021 till 26 juli 2021 initialt som år till datum. `period_no` skjuter sedan bak detta segment till tre månader tidigare, vilket gör att datumgränserna blir 1 januari till 26 juli 2020.

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

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

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

Därför kommer alla transaktioner som sker mellan 1 januari och 26 juli 2020 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/inyeartodate.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_year_to_date`, som bestämmer vilka transaktioner som ägde rum samma år fram till 26 juli.

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
        *,
        inyeartodate(date,'07/26/2021', 0,3) as in_year_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'01/13/2020',37.23
8189,'02/26/2020',17.17
8190,'03/27/2020',88.27
8191,'04/16/2020',57.42
8192,'05/21/2020',53.80
8193,'06/14/2020',82.06
8194,'08/07/2020',40.39
8195,'09/05/2020',87.21
8196,'01/22/2021',95.93
8197,'02/03/2021',45.89
8198,'03/17/2021',36.23
8199,'04/23/2021',25.66
8200,'05/04/2021',82.77
8201,'06/30/2021',69.98
8202,'07/26/2021',76.11
8203,'07/27/2021',25.12
8204,'06/06/2022',46.23
8205,'07/18/2022',84.21
8206,'11/14/2022',96.24
8207,'12/12/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_year_to_date`

Resultattabell

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

Genom att använda 3 som `first_month_of_year`-argument i `inyeartodate()`-funktionen, börjar funktionen året den 1 mars. `base_date` den 26 juli 2021 anger sedan slutdatumet för det årsegmentet.

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

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

Exempel på diagram för inyeartodate-funktionen, first\_month\_of\_year ![Diagram som visar datumintervall inom vilket inyeartodate -funktionen returnerar värdet TRUE.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-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/inyeartodate.htm)

#### Laddningsskript och diagramuttryck

Översikt

Öppna skriptredigeraren och lägg till laddningsskriptet nedan i 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 mellan 1 juli och 26 juli skapas som ett mått i ett diagramobjekt i programmet.

Laddningsskript

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

Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'01/13/2020',37.23 
8189,'02/26/2020',17.17 
8190,'03/27/2020',88.27 
8191,'04/16/2020',57.42 
8192,'05/21/2020',53.80 
8193,'06/14/2020',82.06 
8194,'08/07/2020',40.39 
8195,'09/05/2020',87.21 
8196,'01/22/2021',95.93 
8197,'02/03/2021',45.89 
8198,'03/17/2021',36.23 
8199,'04/23/2021',25.66 
8200,'05/04/2021',82.77 
8201,'06/30/2021',69.98 
8202,'07/26/2021',76.11 
8203,'07/27/2021',25.12 
8204,'06/06/2022',46.23 
8205,'07/18/2022',84.21 
8206,'11/14/2022',96.24 
8207,'12/12/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:

=inyeartodate(date,'07/26/2021', 0)

Resultattabell

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

in\_year\_to\_date-måttet skapas i ett diagramobjekt med hjälp av inyeartodate()-funktionen. Det första argumentet som anges identifierar vilket fält som utvärderas. Det andra argumentet är ett hårdkodat datum för den 26 juli 2021, vilket är base\_date som identifierar vilken vecka 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 åren före eller efter det segmenterade året.

Exempel på diagram för inyeartodate-funktionen, diagramobjekt

Exempel på diagram för inyeartodate-funktionen, diagramobjekt

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

Alla transaktioner som sker mellan 1 januari och 26 juli 2021 returnerar det booleska resultatet TRUE. Transaktionsdatum före 2021 och efter den 26 juli 2021 returnerar FALSE.

## Exempel 5 – Scenario

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inyeartodate.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, produkttyp, tillverkningsdatum och självkostnadspris.

Slutanvändaren vill ha ett diagramobjekt som visar, per produkttyp, kostnaden för produkterna tillverkade år 2021 fram till den 26 juli.

Laddningsskript

```
Products:
Load
*
Inline
[
product_id,product_type,manufacture_date,cost_price
8188,product A,'01/13/2020',37.23
8189,product B,'02/26/2020',17.17
8190,product B,'03/27/2020',88.27
8191,product C,'04/16/2020',57.42
8192,product D,'05/21/2020',53.80
8193,product D,'08/14/2020',82.06
8194,product C,'10/07/2020',40.39
8195,product B,'12/05/2020',87.21
8196,product A,'01/22/2021',95.93
8197,product B,'02/03/2021',45.89
8198,product C,'03/17/2021',36.23
8199,product C,'04/23/2021',25.66
8200,product B,'05/04/2021',82.77
8201,product D,'06/30/2021',69.98
8202,product D,'07/26/2021',76.11
8203,product D,'12/27/2021',25.12
8204,product C,'06/06/2022',46.23
8205,product C,'07/18/2022',84.21
8206,product A,'11/14/2022',96.24
8207,product B,'12/12/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:product\_type.

Skapa ett mått som beräknar summan av varje produkt som tillverkades år 2021 före den 27 juli:

=sum(if(inyeartodate(manufacture\_date,makedate(2021,07,26),0),cost\_price,0))

Ange måttens Nummerformatering till Pengar.

Resultattabell

| product\_type | =sum(if(inyeartodate(manufacture\_date,makedate(2021,07,26),0),cost\_price,0)) |
| --- | --- |
| produkt A | $95.93 |
| produkt B | $128.66 |
| produkt C | $61.89 |
| produkt D | $146.09 |

Funktionen inyeartodate() returnerar ett booleskt värde vid utvärdering av tillverkningsdatumen för var och en av produkterna. För alla produkter som tillverkats år 2021 före den 27 juli returnerar inyeartodate()-funktionen det booleska värdet TRUE och summerar cost\_price.

Produkt D är den enda produkten som också tillverkades efter den 26 juli 2021. Posten med product\_ID 8203 tillverkades den 27 december och kostade $25.12. Därför ingick inte denna kostnad i summan för Produkt D i diagramobjektet.