# inquartertodate - funzione dello script e del grafico

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

Sintassi:

InQuarterToDate (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 inquartertodate

Diagramma della funzione inquartertodate

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

La funzione `inquartertodate()` divide l'anno in quattro trimestri uguali tra il 1 gennaio e il 31 dicembre (o l'inizio dell'anno definito dall'utente e la data di fine corrispondente). Usando `base_date`, la funzione segmenterà quindi un particolare trimestre e `base_date` identificherà sia il trimestre che la data massima consentita per quel segmento di trimestre. Infine, la funzione restituisce un risultato booleano quando si confrontano i valori di data prescritti con quel segmento.

Argomenti

| Argomento | Descrizione |
| --- | --- |
| timestamp | La data da confrontare con base\_date. |
| base\_date | La data utilizzata per valutare il trimestre. |
| period\_no | Il trimestre può essere differito mediante period\_no. period\_no è un numero intero, in cui il valore 0 indica il trimestre che contiene base\_date. I valori negativi di period\_no indicano i trimestri precedenti, mentre i valori positivi indicano i trimestri 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 `inquartertodate()` restituisce un risultato booleano. In genere, questo tipo di funzione viene utilizzato come condizione in un'espressione `if`. La funzione `inquartertodate()` restituisce un'aggregazione o un calcolo che dipende dal fatto che una data valutata si sia verificata in un determinato trimestre fino a includere la data in questione.

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

Esempi di funzioni

| Esempio | Risultato |
| --- | --- |
| `inquartertodate('01/25/2013', '03/25/2013', 0)` | Restituisce`TRUE`, poiché il valore di `timestamp`, 25/01/2013, rientra nel periodo di tre mesi dal giorno 01/01/2013 al giorno 25/03/2013, in cui il valore di `base_date`, 25/03/2013, è incluso. |
| `inquartertodate('04/26/2013', '03/25/2013', 0)` | Restituisce `FALSE`, poiché la data 26/04/2013 non ricade nello stesso periodo dell'esempio precedente. |
| `inquartertodate('02/25/2013', '06/09/2013', -1)` | Restituisce `TRUE`, poiché il valore di `period_no`, -1, sposta il periodo di ricerca indietro per un intervallo di tempo di tre mesi (un quarto dell'anno). Questo include il periodo di ricerca tra le date 01/01/2013 e 09/03/2013. |
| `inquartertodate('03/25/2006', '04/15/2006', 0, 2)` | Restituisce `TRUE`, poiché il valore di `first_month_of_year` è impostato su 2, che fa rientrare il periodo di ricerca tra il 01/02/2006 e il 15/04/2006 anziché dal 01/04/2006 al 15/04/2006. |

## 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/inquartertodate.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 per 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_quarter_to_date `, che determina quali transazioni sono avvenute nel trimestre fino al 15 maggio 2022.

Script di caricamento

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

Risultati

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

* `date`

* `in_quarter_to_date`

Tabella dei risultati

| data | in\_quarter\_to\_date |
| --- | --- |
| 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 |

Il campo `in_quarter_to_date` viene creato nell'istruzione caricamento precedente utilizzando la funzione `inquartertodate()`. Il primo argomento fornito identifica il campo da valutare. Il secondo argomento è una data codificata per il 15 maggio, che è il `base_date` che identifica il trimestre da segmentare e definisce il limite finale di quel segmento. Un `period_no` di 0 è l'argomento finale, il che significa che la funzione non confronta i trimestri precedenti o successivi al trimestre segmentato.

Diagramma della funzione inquartertodate, senza argomenti aggiuntivi

Diagramma della funzione inquartertodate, senza argomenti aggiuntivi

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

Qualsiasi transazione avvenuta tra il 1 aprile e il 15 maggio restituisce il risultato booleano `TRUE`. Le date delle transazioni del 16 maggio e successive restituiranno `FALSE`, così come tutte le transazioni precedenti al 1 aprile.

## Esempio 2 – period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquartertodate.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_qtr_to_date`, che determina quali transazioni sono avvenute nel trimestre precendente al segmento del trimestre che termina il 16 maggio 2022.

Script di caricamento

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

Risultati

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

* `date`

* `previous_qtr_to_date`

Tabella dei risultati

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

Un valore `period_no` di -1 indica che la funzione `inquartertodate ()` confronta il segmento del trimestre di input con il trimestre precedente. Il 15 maggio rientra nel secondo trimestre dell'anno, quindi il segmento inizialmente corrisponde al periodo compreso tra il 1 aprile e il 15 maggio. `period_no` quindi compensa questo segmento di tre mesi prima, facendo sì che i limiti della data diventino dal 1 gennaio al 15 febbraio.

Diagramma della funzione inquartertodate, esempio di period\_no

Diagramma della funzione inquartertodate, esempio di period\_no

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

Pertanto, qualsiasi transazione che si verifichi tra il 1 gennaio e il 15 febbraio restituirà il risultato booleano `TRUE`.

## FirstMonthOfYear

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquartertodate.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_quarter_to_date`, che determina quali transazioni sono avvenute nello stesso trimestre fino al 15 maggio 2022.

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

Script di caricamento

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

Risultati

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

* `date`

* `in_quarter_to_date`

Tabella dei risultati

| data | in\_quarter\_to\_date |
| --- | --- |
| 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 |

Utilizzando 3 come argomento `first_month_of_year` nella funzione `inquartertodate()`, la funzione inizia l'anno il 1 marzo, quindi divide l'anno in trimestri. Pertanto, i segmenti del trimestre sono:

* Da marzo a maggio

* Da giugno ad agosto

* Da settembre a novembre

* Da dicembre a febbraio

Il `base_date` del 15 maggio segmenta quindi il trimestre da marzo a maggio impostando il limite finale al 15 maggio.

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

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

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

Pertanto, qualsiasi transazione che si verifichi tra il 1 marzo e il 15 maggio 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/inquartertodate.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 lo stesso trimestre del 15 maggi viene creato come misura in un oggetto grafico.

Script di caricamento

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

Risultati

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

Creare la seguente misura:

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

Tabella dei risultati

| data | =inquartertodate(date,'15/05/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 |

La misura in\_quarter\_to\_date viene creata in un oggetto grafico utilizzando la funzione inquartertodate(). Il primo argomento è il campo della data da valutare. Il secondo argomento è una data codificata per il 15 maggio, che è il valore base\_date che identifica il trimestre da segmentare e definisce il limite finale di quel segmento. Un period\_no uguale a 0 è l'argomento finale, il che significa che la funzione non confronta i trimestri precedenti o successivi al trimestre segmentato.

Diagramma della funzione inquartertodate, esempio di oggetto grafico

Diagramma della funzione inquartertodate, esempio di oggetto grafico

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

Qualsiasi transazione avvenuta tra il 1 aprile e il 15 maggio restituisce il risultato booleano TRUE. Le transazioni del 16 maggio e successive restituiranno FALSE, così come tutte le transazioni precedenti al 1 aprile.

## Esempio 5 – Scenario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquartertodate.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, alla data di produzione e al prezzo di costo.

Il 15 maggio 2022, un errore dell'attrezzatura è stato identificato nel processo di produzione e risolto. I prodotti fabbricati in quel trimestre fino a questa data saranno difettosi. L'utente finale desidera un oggetto grafico che visualizzi, in base al nome del trimestre, se lo stato dei prodotti è "difettoso" o "senza difetti" e il costo dei prodotti fabbricati in quel trimestre fino a quella data.

Script di caricamento

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

Risultati

Procedere come indicato di seguito:

1. Caricare i dati e aprire un foglio. Creare una nuova tabella. Creare una dimensione per mostrare i nomi dei trimestri:

   =quartername(manufacture\_date)

2. Quindi, creare una dimensione per identificare quali prodotti sono difettosi e quali senza difetti:

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

3. Creare una misura per sommare il valore cost\_price dei prodotti:

   =sum(cost\_price)

4. Impostare la Formattazione numero della misura su Denaro.

Tabella dei risultati

| quartername(manufacture\_date) | if(inquartertodate(manufacture\_date,makedate(2022,05,15),0),'Defective','Faultless') | =sum(cost\_price) |
| --- | --- | --- |
| gen-mar 2022 | Non difettoso | $253.89 |
| A`p-giugno 2022 | Non difettoso | $229.03 |
| apr-giu 2022 | Difettoso | $122.45 |
| lug-set 2022 | Non difettoso | $446.31 |
| ott-dic 2022 | Non difettoso | $163.91 |

La funzione inquartertodate() restituisce un valore booleano quando valuta le date di produzione di ciascun prodotto. Per coloro che restituiscono il valore booleano TRUE, contrassegna i prodotti come ‘Defective’. Per qualsiasi prodotto che restituisce il valore FALSE, e quindi non realizzato nel trimestre fino al 15 maggio incluso, contrassegna i prodotti come ‘Faultless’.