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

Sintassi:

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

Tipo di dati restituiti: Boolean

Schema della funzione `inmonthtodate`.

Schema della funzione `inmonthtodate`.

Schema della funzione `inmonthtodate`inmonthtodate. ![Schema che mostra come la funzione inmonthtodate possa essere utilizzata per identificare se un timestamp cade all'interno o all'esterno di un mese impostato.](https://help.qlik.com/it-IT/cloud-services/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. |

Quando usare inmonthtodate

La funzione `inmonthtodate()` restituisce un risultato booleano. In genere, questo tipo di funzione viene utilizzato come condizione in un file `if expression`. La funzione `inmonthtodate()` restituisce un'aggregazione o un calcolo che dipende dal fatto che una data valutata si sia verificata in un determinato 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. Per ulteriori informazioni, vedere [Modifica delle impostazioni internazionali per applicazioni e script](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Le impostazioni regionali predefinite nelle applicazioni si basano sul profilo utente. Queste impostazioni di formato regionale non riguardano la lingua visualizzata nell'interfaccia utente Qlik Cloud. Qlik Cloud verrà visualizzato nella stessa lingua del browser utilizzato.

Se si è un creatore di applicazioni, è possibile impostare la regione predefinita per le applicazioni che si creano. Per ulteriori informazioni, vedere [Regolazione delle impostazioni internazionali preferite per la creazione di app e script in Qlik Cloud Analytics](https://help.qlik.com/it-IT/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

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/cloud-services/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 viene fornito nel formato `DateFormat` della variabile di sistema (`MM/DD/YYYY`).

* Un'istruzione di caricamento precedente contenente:

  * La funzione `inmonthtodate()` 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 utilizzando la 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. ![Schema che mostra l'intervallo di transazioni identificate come TRUE dalla funzione inmonthtodate.](https://help.qlik.com/it-IT/cloud-services/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/cloud-services/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. ![Schema che mostra la gamma di transazioni con l'argomento period_no impostato a -6.](https://help.qlik.com/it-IT/cloud-services/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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonthtodate.htm)

#### Script di caricamento ed espressione del

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. ![Schema che mostra la gamma di transazioni effettuate tra il 1° e il 26 luglio.](https://help.qlik.com/it-IT/cloud-services/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/cloud-services/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 |
| Mag 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 | USD 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'.