# inyeartodate - funzione dello script e del grafico

Questa funzione restituisce True se timestamp ricade all'interno della parte dell'anno contenente base\_date fino a includere l'ultimo millisecondo di base\_date.

Sintassi:

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

Tipo di dati restituiti: Booleano

Nota informatica

In Qlik Sense, il valore booleano vero è rappresentato da -1 e il valore falso è rappresentato da 0.

Diagramma della funzione inyeartodate

Diagramma della funzione inyeartodate

Diagramma della funzione inyeartodate ![Diagramma di esempio dell'intervallo di date entro il quale la funzione inyeartodate restituirà il valore TRUE.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-general.png)

La funzione `inyeartodate()` segmenterà una particolare parte dell'anno con `base_date`, identificando la data massima consentita per quel segmento di anno. La funzione valuta quindi se un campo data o un valore rientrano in tale segmento e restituisce un risultato booleano.

Argomenti

| Argomento | Descrizione |
| --- | --- |
| timestamp | La data da confrontare con base\_date. |
| base\_date | La data utilizzata per valutare l'anno. |
| period\_no | L'anno può essere differito mediante period\_no. period\_no è un numero intero, in cui il valore 0 indica l'anno che contiene base\_date. I valori negativi di period\_no indicano gli anni precedenti, mentre i valori positivi indicano gli anni successivi. |
| first\_month\_of\_year | Se si intende utilizzare anni (fiscali) che non iniziano a gennaio, indicare un valore compreso tra 2 e 12 in first\_month\_of\_year. |

## Casi di utilizzo

La funzione `inyeartodate()` restituisce un risultato booleano. In genere, questo tipo di funzione viene utilizzato come condizione in un'espressione `if`. Questa restituisce un'aggregazione o un calcolo che dipende dal fatto che una data valutata si sia verificata in quell'anno fino a includere la data in questione.

Ad esempio, la funzione `inyeartodate()` può essere utilizzata per identificare tutte le apparecchiature prodotte in un in un determinato anno fino a una data specifica.

In questi esempi viene utilizzato il formato della data (MM/GG/AAAA). Il formato della data viene specificato nell'istruzione `SET DateFormat` sopra lo script di caricamento dei dati. Modificare il formato negli esempi in base alle proprie necessità.

Esempi di funzioni

| Esempio | Risultato |
| --- | --- |
| `inyeartodate ('01/25/2013', '02/01/2013', 0)` | Restituisce `TRUE`. |
| `inyeartodate ('01/25/2012', '01/01/2013', 0)` | Restituisce `FALSE`. |
| `inyeartodate ('01/25/2012', '02/01/2013', -1)` | Restituisce `TRUE`. |
| `inyeartodate ('11/25/2012', '01/31/2013', 0, 4)` | Restituisce `TRUE`.<br>Il valore di `timestamp` ricade nell'anno fiscale che inizia nel quarto mese e prima del valore di `base_date`. |
| `inyeartodate ('3/31/2013', '01/31/2013', 0, 4 )` | Restituisce `FALSE`.<br>Rispetto all'esempio precedente, il valore di `timestamp` ricade ancora nell'anno fiscale, ma viene dopo il valore di`base_date`, pertanto ricade fuori dalla parte dell'anno. |

## Impostazioni locali

Se non diversamente specificato, gli esempi di questo argomento utilizzano il seguente formato di data: MM/GG/AAAA. Il formato della data viene specificato nell'istruzione `SET DateFormat` nello script di caricamento dei dati. La formattazione predefinita della data potrebbe essere diversa nel proprio sistema, a causa delle impostazioni regionali e di altri fattori. È possibile modificare i formati degli esempi seguenti in base alle proprie esigenze. In alternativa, è possibile modificare i formati nel proprio script di caricamento per adattarli a questi esempi.

Le impostazioni regionali predefinite delle app si basano sulle impostazioni regionali del sistema del computer o del server in cui risulta installato Qlik Sense. Se il server Qlik Sense a cui si accede è impostato in Svezia, l'editor caricamento dati utilizzerà le impostazioni regionali svedesi per date, ora e valuta. Queste impostazioni di formato regionale non riguardano la lingua visualizzata nell'interfaccia utente Qlik Sense. Qlik Sense verrà visualizzato nella stessa lingua del browser utilizzato.

## Esempio 1 - Nessun argomento aggiuntivo

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

#### Script di caricamento e risultati

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati contenente un insieme di transazioni tra il 2020 e il 2022, caricato in una tabella denominata `Transactions`.

* Il campo della data fornito nel formato della variabile di sistema `DateFormat` (MM/GG/AAAA).

* La creazione di un campo, `in_year_to_date`, che determina quali transazioni sono avvenute durante l'anno fino al 26 luglio 2021.

Script di caricamento

```
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
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `date`

* `in_year_to_date`

Tabella dei risultati

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

Il campo `in_year_to_date` viene creato nell'istruzione caricamento precedente utilizzando la funzione `inyeartodate()`. Il primo argomento fornito identifica il campo da valutare.

Il secondo argomento è una data codificata per il 26 luglio 2021, che è il valore `base_date` che identifica il limite finale del segmento di anno. Un valore `period_no` uguale a 0 è l'argomento finale, il che significa che la funzione non confronta gli anni precedenti o successivi all'anno segmentato.

Diagramma della funzione inyeartodate, senza argomenti aggiuntivi

Diagramma della funzione inyeartodate, senza argomenti aggiuntivi

Diagramma della funzione inyeartodate, senza argomenti aggiuntivi![Diagramma con l'intervallo di date entro il quale la funzione inyeartodate restituirà il valore TRUE.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-no-additional-arguments.png)

Qualsiasi transazione avvenuta tra il 1 gennaio e il 26 luglio restituisce il risultato booleano `TRUE`. Le date delle transazioni anteriori al 2021 e successive al 26 luglio 2021 restituiscono il valore `FALSE`.

## Esempio 2 – period\_no

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

#### Script di caricamento e risultati

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.

* La creazione di un campo, `previous_year_to_date`, che determina quali transazioni sono avvenute un anno prima del segmento di anno che termina il 26 luglio 2021.

Script di caricamento

```
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
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `date`

* `previous_year_to_date`

Tabella dei risultati

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

Il valore `period_no` di -1 indica che la funzione `inyeartodate ()` confronta il segmento del trimestre di input con l'anno precedente. Con la data di input del 26 luglio 2021, il segmento dal 1 gennaio 2021 al 26 luglio 2021 è stato inizialmente identificato come year-to-date. `period_no` quindi compensa questo segmento facendolo precedere di un intero anno, facendo sì che i limiti della data diventino dal 1 gennaio al 26 luglio 2020.

Diagramma della funzione inyeartodate, esempio di period\_no

Diagramma della funzione inyeartodate, esempio di period\_no

Diagramma della funzione inyeartodate, esempio di period\_no![Diagramma con l'intervallo di date entro il quale la funzione inyeartodate restituirà il valore TRUE.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-period-no.png)

Pertanto, qualsiasi transazione che si verifichi tra il 1 gennaio e il 26 luglio 2020 restituirà il risultato booleano `TRUE`.

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

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

#### Script di caricamento e risultati

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.

* La creazione di un campo, `in_year_to_date`, che determina quali transazioni sono avvenute nello stesso anno fino al 26 luglio 2021.

In questo esempio, marzo è stato impostato come primo mese dell'anno fiscale.

Script di caricamento

```
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
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `date`

* `in_year_to_date`

Tabella dei risultati

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

Utilizzando 3 come argomento `first_month_of_year` nella funzione `inyeartodate()`, la funzione fa iniziare l'anno il 1 marzo. Il valore `base_date` del 26 luglio 2021 imposta quindi la data di fine per quel segmento di anno.

Diagramma della funzione inyeartodate, esempio di first\_month\_of\_year

Diagramma della funzione inyeartodate, esempio di first\_month\_of\_year

Diagramma della funzione inyeartodate, esempio di first\_month\_of\_year![Diagramma con l'intervallo di date entro il quale la funzione inyeartodate restituirà il valore TRUE.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-first-mth-yr.png)

Pertanto, qualsiasi transazione che si verifichi tra il 1 marzo e il 26 luglio 2001 restituirà un risultato booleano `TRUE`, mentre le transazioni con una data che non rientra in questi limiti restituiranno il valore `FALSE`.

## Esempio 4 - Esempio di oggetto grafico

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

#### Script di caricamento ed espressione del grafico

Panoramica

Aprire l'Editor di caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.

Lo script di caricamento contiene lo stesso set di dati e lo stesso scenario del primo esempio. Tuttavia, in questo esempio, il set di dati invariato viene caricato nell'applicazione. Il calcolo che determina quali transazioni sono avvenute nello stesso anno fino al 26 luglio 2021 viene creato come misura in un oggetto grafico dell'applicazione.

Script di caricamento

```
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
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione:date.

Creare la seguente misura:

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

Tabella dei risultati

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

La misura in\_year\_to\_date viene creata nell'oggetto grafico utilizzando la funzione inyeartodate(). Il primo argomento fornito identifica il campo da valutare. Il secondo argomento è una data codificata per il 26 luglio 2021, che è il valore base\_date che identifica il limite finale del segmento di anno di confronto. Un valore period\_no uguale a 0 è l'argomento finale, il che significa che la funzione non confronta gli anni precedenti o successivi all'anno segmentato.

Diagramma della funzione inyeartodate, esempio di oggetto grafico

Diagramma della funzione inyeartodate, esempio di oggetto grafico

Diagramma della funzione inyeartodate, esempio di oggetto grafico![Diagramma con l'intervallo di date entro il quale la funzione inyeartodate restituirà il valore TRUE.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inyeartodate-examples-chart-object.png)

Qualsiasi transazione avvenuta tra il 1 gennaio e il 26 luglio 2021 restituisce il risultato booleano TRUE. Le date delle transazioni anteriori al 2021 e successive al 26 luglio 2021 restituiscono il valore FALSE.

## Esempio 5 – Scenario

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

#### Script di caricamento ed espressione del grafico

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella chiamata Products.

* Informazioni relative all'ID prodotto, al tipo di prodotto, alla data di produzione e al prezzo di costo.

L'utente finale vuole un oggetto grafico che mostri, per tipo di prodotto, il costo dei prodotti fabbricati nel 2021 fino al 26 luglio.

Script di caricamento

```
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
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione:product\_type.

Creare una misura che calcoli la somma di ogni prodotto che è stato prodotto nel 2021 prima del 27 luglio:

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

Impostare la Formattazione numero della misura su Denaro.

Tabella dei risultati

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

La funzione inyeartodate() restituisce un valore booleano quando valuta le date di produzione di ciascun prodotto. Per qualsiasi prodotto fabbricato nel 2021 prima del 27 luglio, la funzione inyeartodate() restituisce un valore booleano TRUE e somma il valore cost\_price.

Il prodotto D è l'unico prodotto fabbricato anche dopo il 26 luglio 2021. La voce con product\_ID 8203 è stata prodotta il 27 dicembre e costa $25.12. Pertanto, questo costo non è stato incluso nel totale del Prodotto D nell'oggetto grafico.