# inmonthtodate Funzione per script e grafici

Restituisce True se date ricade nella parte di mese contenente basedate fino a includere l'ultimo millisecondo di basedate.

InMonthToDate (timestamp, base\_date, period\_no)

Tipo di dati restituiti: Booleano

Schema della funzione `inmonthtodate`.

Schema della funzione `inmonthtodate`.

Schema della funzione `inmonthtodate`inmonthtodate. ![Diagram showing how inmonthtodate function can be used to identify if a timstamp falls within or outside of a set month.](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-diagram1.png)

La funzione `inmonthtodate()` identifica un mese selezionato come un segmento. Il limite di partenza è l'inizio del mese. Il limite finale può essere impostato come una data successiva del mese. Determina quindi se un insieme di date rientra o meno in questo segmento, restituendo un valore booleano TRUE o FALSE.

Argomenti

| Argomento | Descrizione |
| --- | --- |
| timestamp | La data da confrontare con base\_date. |
| base\_date | La data utilizzata per valutare il mese. |
| period\_no | Il mese può essere differito mediante period\_no. period\_no è un numero intero, in cui il valore 0 indica il mese che contiene base\_date. I valori negativi di period\_no indicano i mesi precedenti, mentre i valori positivi indicano i mesi successivi. |

Casi di utilizzo

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

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

## Impostazioni locali

Se non diversamente specificato, gli esempi di questo argomento utilizzano il seguente formato di data: MM/DD/YYYY. 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 nelle applicazioni 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'Qlik Sense interfaccia utente. Qlik Sense verrà visualizzato nella stessa lingua del browser che stai utilizzando.

Esempi di funzioni

| Esempio | Risultato |
| --- | --- |
| `inmonthtodate ('01/25/2013', '25/01/2013',<br>0)` | Restituisce True |
| `inmonthtodate ('01/25/2013', '24/01/2013',<br>0)` | Restituisce False |
| `inmonthtodate ('01/25/2013', '28/02/2013',<br>-1)` | Restituisce True |

## Esempio 1 – Nessun argomento aggiuntivo

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonthtodate.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 viene caricato in una tabella denominata ‘`Transactions`’.

* Un campo data è fornito nel formato (`MM/DD/YYYY`) della variabile del sistema `DateFormat`.

* Un'istruzione di caricamento precedente contenente:

  * La `inmonthtodate()` funzione impostata come campo, ‘`in_month_to_date`’. Ciò determina quali transazioni sono state effettuate tra il 1° luglio e il 26 luglio 2022.

Script di caricamento

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    inmonthtodate(date,'07/26/2022', 0) as in_month_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_month_to_date`

Tabella dei risultati

| date | in\_month\_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 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | -1 |
| 7/22/2022 | -1 |
| 7/23/2022 | -1 |
| 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_month_to_date`’ viene creato nell'istruzione LOAD precedente mediante l'uso della funzione `inmonthtodate()`.

Il primo argomento identifica il campo da valutare. Il secondo argomento è una data codificata, il 26 luglio, che è il `base_date`. Questo argomento `base_date` identifica quale mese è segmentato e il limite finale di tale segmento.

Un `period_no` di `0` è l'argomento finale, a significare che la funzione non confronta i mesi precedenti o successivi al mese segmentato.

Schema della funzione `inmonthtodate` senza argomenti aggiuntivi.

Schema della funzione `inmonthtodate` senza argomenti aggiuntivi.

Schema della funzione `inmonthtodate`inmonthtodate senza argomenti aggiuntivi. ![Diagram showing the range of transactions that are identified as TRUE by the inmonthtodate function.](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example1-diagram.png)

Di conseguenza, qualsiasi transazione effettuata tra il 1° e il 26 luglio restituisce un risultato booleano di TRUE. Qualsiasi transazione che si verifichi nel mese di luglio dopo il 26 luglio restituisce un risultato booleano di FALSE, così come qualsiasi transazione in qualsiasi altro mese dell'anno.

## Esempio 2 – period\_no

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

#### Script di caricamento e risultati

Panoramica

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

In questo esempio, il compito è quello di creare un campo, '`six_months_prior`', che determini quali transazioni hanno avuto luogo sei mesi prima del 1° luglio e del 26 luglio.

Script di caricamento

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    inmonthtodate(date,'07/26/2022', -6) as six_months_prior 
    ; 
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`

* `six_months_prior`

Tabella dei risultati

| date | six\_months\_prior |
| --- | --- |
| 1/7/2022 | -1 |
| 1/19/2022 | -1 |
| 2/5/2022 | 0 |
| 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 |

Utilizzando `-6` come argomento `period_no` nella funzione `inmonthtodate()`, i confini del segmento del mese di confronto si spostano di sei mesi. Inizialmente il segmento del mese corrisponde a un periodo compreso tra il 1° e il 26 luglio. `period_no` viene quindi compensato con un valore negativo di sei mesi e i confini della data vengono spostati e cadono tra il 1° e il 26 gennaio.

Schema della funzione `inmonthtodate` con un valore period\_no impostato a -6.

Schema della funzione `inmonthtodate` con un valore period\_no impostato a -6.

Schema della funzione `inmonthtodate`inmonthtodate con un valore period\_no impostato a -6. ![Diagram showing the range of transactions with the period_no argument set to -6.](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example2-diagram.png)

Di conseguenza, qualsiasi transazione effettuata tra il 1° e il 26 gennaio restituirà un risultato booleano di TRUE.

## Esempio 3 - Esempio di grafico

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

#### Carica script ed espressione del grafico

Panoramica

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

In questo esempio, il set di dati è invariato e viene caricato nell'applicazione. L'attività consiste nel creare un calcolo che determina se le transazioni sono avvenute tra il 1° luglio e il 26 luglio come misura in un grafico dell'applicazione.

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`

Per calcolare se le transazioni sono avvenute tra il 1° luglio e il 26 luglio, creare la seguente misura:

`=inmonthtodate(date,'07/26/2022', 0)`

Tabella dei risultati

| date | =inmonthtodate(date,'07/26/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 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | -1 |
| 7/22/2022 | -1 |
| 7/23/2022 | -1 |
| 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 del campo '`in_month_to_date`' viene creata nel grafico mediante l'utilizzo della funzione `inmonthtodate()`.

Il primo argomento identifica il campo da valutare. Il secondo argomento è una data codificata, il 26 luglio, che è il `base_date`. Questo argomento base\_date identifica quale mese è segmentato e il limite finale di tale segmento. Un `period_no` di 0 rappresenta l'argomento finale. Ciò significa che la funzione non confronta i mesi precedenti o successivi al mese segmentato.

Schema della funzione `inmonthtodate` senza argomenti aggiuntivi.

Schema della funzione `inmonthtodate` senza argomenti aggiuntivi.

Schema della funzione `inmonthtodate`inmonthtodate senza argomenti aggiuntivi. ![Diagram showing the range of transactions with between July 1 and July 26.](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example3-diagram.png)

Di conseguenza, qualsiasi transazione effettuata tra il 1° e il 26 luglio restituisce un risultato booleano di TRUE. Qualsiasi transazione che si verifichi nel mese di luglio dopo il 26 luglio restituisce un risultato booleano di FALSE, così come qualsiasi transazione in qualsiasi altro mese dell'anno.

## Esempio 4 – Scenario

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

#### Script di caricamento e risultati

Panoramica

In questo esempio, un set di dati è caricato in una tabella denominata "`Products`". La tabella contiene i seguenti campi:

* ID prodotto

* Data di produzione

* Prezzo di costo

A causa di un errore dell'attrezzatura, i prodotti fabbricati nel mese di luglio 2022 erano difettosi. Il problema è stato risolto il 27 luglio 2022.

L'utente finale desidera un grafico che visualizzi, per mese, lo stato dei prodotti fabbricati "difettosi" (valore booleano TRUE) o "non difettosi" (valore booleano FALSE), oltre al il costo dei prodotti fabbricati quel mese.

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 tali campi come dimensioni:

* `=monthname(manufacture_date)`
* `=if(Inmonthtodate(manufacture_date,makedate(2022,07,26),0),'Defective','Faultless')`

Per calcolare la somma dei costi dei prodotti, creare questa misura:

`=sum(cost_price)`

Impostare la misura Formattazione numero su Denaro.

Tabella dei risultati

| monthname(manufacture\_date) | if(Inmonthtodate(manufacture\_date,makedate(2022,07,26),0),'Defective','Faultless') | =sum(cost\_price) |
| --- | --- | --- |
| Gen 2022 | Non difettoso | $54.40 |
| Feb 2022 | Non difettoso | $145.69 |
| Mar 2022 | Non difettoso | $53.80 |
| Apr 2022 | Non difettoso | $82.06 |
| Maggio 2022 | Non difettoso | $127.60 |
| Giu 2022 | Non difettoso | $141.82 |
| Lug 2022 | Difettoso | $144.66 |
| Lug 2022 | Non difettoso | $69.98 |
| Ago 2022 | Non difettoso | $147.46 |
| Set 2022 | Non difettoso | $84.21 |
| Ott 2022 | Non difettoso | 163.91 $ |

La funzione `inmonthtodate()` restituisce un valore booleano quando valuta le date di produzione di ciascun prodotto.

Per le date che restituiscono un valore booleano di TRUE, il prodotto è contrassegnato come 'difettoso'. Tutti i prodotti che restituiscono un valore di FALSE, e che quindi non sono stati realizzati nel mese fino al 26 luglio compreso, vengono contrassegnati come 'non difettosi'.