# inquarter - funzione dello script e del grafico

Questa funzione restituisce True se timestamp ricade all'interno del trimestre contenente base\_date.

Sintassi:

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

Tipo di dati restituiti: Booleano

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

Schema dell'intervallo della funzione `inquarter()`

Schema dell'intervallo della funzione `inquarter()`

Schema dell'intervallo della funzione `inquarter()`inquarter() ![Schema che mostra l'intervallo di tempo valutato dalla funzione inquarter().](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-diagram1.png)

In altre parole, la funzione `inquarter()` divide l'anno in quattro trimestri uguali tra il 1° gennaio e il 31 dicembre. È possibile utilizzare l'argomento `first_month_of_year` per modificare il mese che viene considerato il primo nell'app e i trimestri cambieranno in base a tale argomento. `base_date`, la funzione identifica quale trimestre deve essere utilizzato come comparatore per la funzione. Infine, la funzione restituisce un risultato booleano quando si confrontano i valori della data con il segmento del trimestre.

Casi di utilizzo

La funzione `inquarter()` restituisce un risultato booleano. In genere, questo tipo di funzione viene utilizzato come condizione in un file `if expression`. Ciò restituisce un'aggregazione o un calcolo che dipende dalla presenza di una data nel trimestre selezionato.

Ad esempio, la funzione `inquarter()` può essere utilizzata per identificare tutte le apparecchiature prodotte in un segmento trimestrale in base alle date di produzione delle apparecchiature.

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

È possibile utilizzare i seguenti valori per impostare il primo mese dell'anno nell'argomento `first_month_of_year`:

valori first\_month\_of\_year

| Mese | Valore |
| --- | --- |
| Febbraio | 2 |
| Marzo | 3 |
| Aprile | 4 |
| Maggio | 5 |
| Giugno | 6 |
| Luglio | 7 |
| Agosto | 8 |
| Settembre | 9 |
| Ottobre | 10 |
| Novembre | 11 |
| Dicembre | 12 |

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

Esempi di funzioni

| Esempio | Risultato |
| --- | --- |
| inquarter ('01/25/2013', '01/01/2013', 0) | Restituisce TRUE |
| inquarter ('01/25/2013', '04/01/2013', 0) | Restituisce FALSE |
| inquarter ('01/25/2013', '01/01/2013', -1) | Restituisce FALSE |
| inquarter ('12/25/2012', '01/01/2013', -1) | Restituisce TRUE |
| inquarter ('01/25/2013', '03/01/2013', 0, 3) | Restituisce FALSE |
| inquarter ('03/25/2013', '03/01/2013', 0, 3) | Restituisce TRUE |

## Esempio 1 - Nessun argomento aggiuntivo

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquarter.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`'.

* Un caricamento precedente che contiene la funzione `inquarter()` impostata come campo '`in_quarter`' e determina quali transazioni hanno avuto luogo nello stesso trimestre del 15 maggio 2022.

Script di caricamento

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

Risultati

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

* `date`
* `in_quarter`

Tabella dei risultati

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

Il campo '`in_quarter`' viene creato nell'istruzione di caricamento precedente utilizzando la funzione `inquarter()`. Il primo argomento identifica il campo da valutare. Il secondo argomento è una data codificata per il 15 maggio che identifica il trimestre da definire come comparatore. Un `period_no` di `0` è l'argomento finale e garantisce che la funzione `inquarter()` non confronti i trimestri precedenti o successivi al trimestre segmentato.

Schema della funzione `inquarter()` con data base 15 maggio

Schema della funzione `inquarter()` con data base 15 maggio

Schema della funzione `inquarter()`inquarter() con data base 15 maggio![Schema che mostra l'intervallo di tempo valutato dalla funzione inquarter() con il 15 maggio come data base e l'anno diviso in segmenti trimestrali.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-example1-diagram.png)

Qualsiasi transazione che si verifica tra il 1° aprile e la fine del 30 giugno restituisce un risultato booleano pari a TRUE.

## Esempio 2 - period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquarter.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`'.

* Un caricamento precedente che contiene la funzione `inquarter()` impostata come campo '`previous_quarter`' e determina quali transazioni hanno avuto luogo nello trimestre precedente quello del 15 maggio 2022.

Script di caricamento

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

Risultati

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

* `date`
* `previous_qtr`

Tabella dei risultati

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

L'utilizzo di `-1` come argomento `period_no` nella funzione `inquarter()` sposta i confini del trimestre del comparatore indietro di un intero trimestre. Il 15 maggio cade nel secondo trimestre dell'anno e quindi il segmento equivale inizialmente al trimestre dal 1° aprile al 30 giugno. `period_no` compensa questo segmento con un valore negativo di tre mesi e fa sì che i confini della data diventino dal 1° gennaio al 30 marzo.

Schema della funzione `inquarter()` con data base 15 maggio

Schema della funzione `inquarter()` con data base 15 maggio

Schema della funzione `inquarter()`inquarter() con data base 15 maggio![Schema che mostra l'intervallo di tempo che la funzione inquarter() valuta con il 15 maggio come data base e period_no impostato a -1, spostando i confini della data indietro di un trimestre.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-example2-diagram.png)

Pertanto, qualsiasi transazione che si verifichi tra il 1° gennaio e il 30 marzo restituirà un risultato booleano di TRUE.

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquarter.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`'.

* Un caricamento precedente che contiene la funzione `inquarter()` impostata come campo '`in_quarter`' e determina quali transazioni hanno avuto luogo nello stesso trimestre del 15 maggio 2022.

Tuttavia, in questo esempio, il criterio organizzativo prevede che marzo sia il primo mese dell'anno finanziario.

Script di caricamento

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

Risultati

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

* `date`
* `previous_qtr`

Tabella dei risultati

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

Utilizzando `3` come argomento `first_month_of_year` nella funzione `inquarter()`, si imposta il 1° marzo come inizio dell'anno e poi si divide l'anno in trimestri. Pertanto, i segmenti trimestrali sono marzo-maggio, giugno-agosto, settembre-novembre, dicembre-febbraio. `base_date` del 15 maggio stabilisce il trimestre marzo-maggio come trimestre di confronto per la funzione.

Lo schema della funzione `inquarter()` con marzo impostato come primo mese dell'anno

Lo schema della funzione `inquarter()` con marzo impostato come primo mese dell'anno

Lo schema della funzione `inquarter()`inquarter() con marzo impostato come primo mese dell'anno![Schema che mostra l'intervallo di tempo valutato dalla funzione inquarter() con il 15 maggio come data base e marzo impostato come primo mese dell'anno.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-example3-diagram.png)

Pertanto, qualsiasi transazione che si verifichi tra il 1° marzo e il 31 marzo restituirà un risultato booleano di TRUE.

## Esempio 4 – Esempio di oggetto grafico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquarter.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 contenente un insieme di transazioni per il 2022, caricato in una tabella denominata '`Transactions`'.

* Un caricamento precedente che contiene la funzione `inquarter()` impostata come campo '`in_quarter`' e determina quali transazioni hanno avuto luogo nello stesso trimestre del 15 maggio 2022.

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 per calcolare se le transazioni sono avvenute nello stesso trimestre del 15 maggio:

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

Tabella dei risultati

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

La misura '`in_quarter`' viene creata nell'oggetto grafico utilizzando la funzione `inquarter()`. Il primo argomento identifica il campo da valutare. Il secondo argomento è una data codificata per il 15 maggio che identifica il trimestre da definire come comparatore. Un `period_no` di `0` è l'argomento finale e garantisce che la funzione `inquarter()` non confronti i trimestri precedenti o successivi al trimestre segmentato.

Schema della funzione `inquarter()` con data base 15 maggio

Schema della funzione `inquarter()` con data base 15 maggio

Schema della funzione `inquarter()`inquarter() con data base 15 maggio![Schema che mostra l'intervallo di tempo valutato dalla funzione inquarter() con il 15 maggio come data base e l'anno diviso in segmenti trimestrali.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-example1-diagram.png)

Qualsiasi transazione che si verifica tra il 1° aprile e la fine del 30 giugno restituisce un risultato booleano pari a TRUE.

## Esempio 5 - Scenario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inquarter.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 che viene caricato in una tabella chiamata 'Products'.

* La tabella contiene i seguenti campi:

  * ID prodotto

  * tipo di prodotto

  * data di produzione

  * prezzo di costo

Si è determinato che, a causa di un errore delle apparecchiature, i prodotti fabbricati nella settimana nel trimestre del 15 maggio 2022 erano difettosi. L'utente finale vorrebbe un grafico che visualizzi, per nome del trimestre, lo stato dei prodotti fabbricati "difettosi" o "non difettosi" e il costo dei prodotti fabbricati in quel trimestre.

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

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

=quartername(manufacture\_date)

Creare le seguenti misure:

* =if(only(InQuarter(manufacture\_date,makedate(2022,05,15),0)),'Defective','Faultless'), per identificare quali prodotti sono difettosi e quali non lo sono utilizzando la funzione inquarter().

* =sum(cost\_price), per mostrare la somma dei costi di ciascun prodotto.

Procedere come indicato di seguito:

1. Impostare la misura Formattazione numero su Denaro.

2. In Aspetto, disattivare Totals.

Tabella dei risultati

| quartername(manufacture\_date) | =if(only(InQuarter(manufacture\_date,makedate(2022,05,15),0)),'Defective','Faultless') | =sum(cost\_price) |
| --- | --- | --- |
| gen-mar 2022 | Non difettoso | 253.89 |
| apr-giu 2022 | Difettoso | 351.48 |
| lug-set 2022 | Non difettoso | 446.31 |
| ott-dic 2022 | Non difettoso | 163.91 |

La funzione inquarter() restituisce un valore booleano quando valuta le date di produzione di ciascun prodotto. Per qualsiasi prodotto fabbricato nel trimestre che contiene il 15 maggio, la funzione inquarter() restituisce un valore booleano di TRUE e contrassegna i prodotti come 'difettosi'. Qualsiasi prodotto che restituisce un valore di FALSE, e che quindi non è stato fabbricato nel trimestre, viene contrassegnato come "non difettoso".