# monthsname Funzione per script e grafici

Questa funzione restituisce un valore di visualizzazione che rappresenta l'intervallo dei mesi del periodo (formattati in base alla variabile di script MonthNames) e l'anno. Il valore numerico sottostante corrisponde a un indicatore temporale recante il primo millisecondo del mese, del bimestre, del trimestre, del quadrimestre o del semestre contenente una data di base.

MonthsName(n\_months, date[, period\_no[, first\_month\_of\_year]])

Tipo di dati restituiti: Duale

Schema della funzione monthname

Schema della funzione monthname

Schema della funzione monthname ![Example diagram showing the range of months  returned by the monthsname function, given a specific input date.](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-general.png)

La funzione `monthsname()` divide l'anno in segmenti in base all'argomento `n_months` fornito. Quindi, valuta il segmento a cui appartiene ogni valore `date` fornito e restituisce i nomi del mese di inizio e di fine di quel segmento, nonché l'anno. La funzione offre anche la possibilità di restituire questi limiti dai segmenti precedenti o successivi, oltre a ridefinire quale è il primo mese dell'anno.

I seguenti segmenti dell'anno sono disponibili nella funzione come argomenti di `n_month` :

Possibili argomenti di `n_month`n\_month

| Periodi | Numero di mesi |
| --- | --- |
| mese | 1 |
| bimestre | 2 |
| trimestre | 3 |
| quattro mesi | 4 |
| semestre | 6 |

Argomenti

| Argomento | Descrizione |
| --- | --- |
| n\_months | Il numero di mesi che definisce il periodo. Un numero intero o un'espressione la cui risoluzione è un numero intero corrispondente a: 1 (equivalente alla funzione inmonth()), 2 (bimestre), 3 (equivalente alla funzione inquarter()), 4 (quadrimestre) o 6 (semestre). |
| date | La data o la data e ora da valutare. |
| period\_no | Il periodo può essere differito mediante period\_no, un numero intero, o un'espressione la cui risoluzione è un numero intero, in cui il valore 0 indica il periodo che contiene base\_date. I valori negativi di period\_no indicano i periodi precedenti, mentre i valori positivi indicano i periodi 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 `monthsname()` è utile quando si desidera fornire all'utente la funzionalità per confrontare le aggregazioni in base a un periodo di sua scelta. Ad esempio, è possibile fornire una variabile di input per consentire all'utente di visualizzare le vendite totali dei prodotti per mese, trimestre o semestre.

Queste dimensioni possono essere create nello script di caricamento aggiungendo la funzione come campo in una tabella Calendario principale o, in alternativa, creando la dimensione direttamente in un grafico come dimensione calcolata.

Esempi di funzioni

| Esempio | Risultato |
| --- | --- |
| `monthsname(4, '10/19/2013')` | Restituisce 'Sep-Dec 2013.' In questo e negli altri esempi, l' SETMonthnames istruzione è impostata su Jan;Feb;Mar, e così via. |
| `monthsname(4, '10/19/2013', -1)` | Restituisce 'May-Aug 2013'. |
| ` monthsname(4, '10/19/2013', 0, 2)  ` | Restituisce 'Oct-Jan 2014', poiché come mese di inizio anno è stato specificato 2. Quindi, il periodo di quattro mesi termina il primo mese dell'anno successivo. |

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

## Esempio 1 – Esempio di base

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsname.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, `bi_monthly_range`, che raggruppa le transazioni in segmenti bimestrali e restituisce i nomi limite di quel segmento per ogni transazione.

Script di caricamento

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        monthsname(2,date) as bi_monthly_range
        ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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`

* `bi_monthly_range`

Tabella dei risultati

| date | intervallo bimestrale |
| --- | --- |
| 2/19/2022 | Gen-Feb 2022 |
| 3/7/2022 | Mar-Apr 2022 |
| 3/30/2022 | Mar-Apr 2022 |
| 4/5/2022 | Mar-Apr 2022 |
| 4/16/2022 | Mar-Apr 2022 |
| 5/1/2022 | Mag-Giu 2022 |
| 5/7/2022 | Mag-Giu 2022 |
| 5/22/2022 | Mag-Giu 2022 |
| 6/15/2022 | Mag-Giu 2022 |
| 6/26/2022 | Mag-Giu 2022 |
| 7/9/2022 | Lug-Ago 2022 |
| 7/22/2022 | Lug-Ago 2022 |
| 7/23/2022 | Lug-Ago 2022 |
| 7/27/2022 | Lug-Ago 2022 |
| 8/2/2022 | Lug-Ago 2022 |
| 8/8/2022 | Lug-Ago 2022 |
| 8/19/2022 | Lug-Ago 2022 |
| 9/26/2022 | Set-Ott 2022 |
| 10/14/2022 | Set-Ott 2022 |
| 10/29/2022 | Set-Ott 2022 |

Il campo `bi_monthly_range` viene creato nell'istruzione caricamento precedente utilizzando la funzione `monthsname()`. Il primo argomento fornito è 2, dividendo l'anno in segmenti bimestrali. Il secondo argomento identifica il campo da valutare.

Schema della funzione monthsname, esempio di base

Schema della funzione monthsname, esempio di base

Schema della funzione monthsname, esempio di base ![Diagram showing the results of using the monthsname function to determine the range of months within which a transaction took place. In this case, it determines that transaction number 8195, which took place on May 22, will return the value indicating a range of May to June 2022.](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-basic-example.png)

La transazione 8195 avviene il 22 maggio. La funzione `monthsname()` divide inizialmente l'anno in segmenti bimestrali. La transazione 8195 rientra nel segmento tra il 1 maggio e il 30 giugno. Pertanto, la funzione restituisce questi mesi nel formato della variabile di sistema `MonthNames`, nonché l'anno, maggio-giugno 2022.

## Esempio 2 – period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsname.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 inline e lo stesso scenario del primo esempio.

* La creazione di un campo, `prev_bi_monthly_range`, che raggruppa le transazioni in segmenti bimestrali e restituisce i nomi limite del segmento precedente per ogni transazione.

Aggiungere qui altro testo, se necessario, con elenchi, ecc.

Script di caricamento

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        MonthsName(2,date,-1) as prev_bi_monthly_range
        ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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`

* `prev_bi_monthly_range`

Tabella dei risultati

| date | prev\_bi\_monthly\_range |
| --- | --- |
| 2/19/2022 | Nov-Dic 2021 |
| 3/7/2022 | Gen-Feb 2022 |
| 3/30/2022 | Gen-Feb 2022 |
| 4/5/2022 | Gen-Feb 2022 |
| 4/16/2022 | Gen-Feb 2022 |
| 5/1/2022 | Mar-Apr 2022 |
| 5/7/2022 | Mar-Apr 2022 |
| 5/22/2022 | Mar-Apr 2022 |
| 6/15/2022 | Mar-Apr 2022 |
| 6/26/2022 | Mar-Apr 2022 |
| 7/9/2022 | Mag-Giu 2022 |
| 7/22/2022 | Mag-Giu 2022 |
| 7/23/2022 | Mag-Giu 2022 |
| 7/27/2022 | Mag-Giu 2022 |
| 8/2/2022 | Mag-Giu 2022 |
| 8/8/2022 | Mag-Giu 2022 |
| 8/19/2022 | Mag-Giu 2022 |
| 9/26/2022 | Lug-Ago 2022 |
| 10/14/2022 | Lug-Ago 2022 |
| 10/29/2022 | Lug-Ago 2022 |

In questo esempio, -1 viene utilizzato come argomento `period_no` nella funzione `monthsname()`. Dopo aver inizialmente diviso un anno in segmenti bimestrali, la funzione restituisce quindi i limiti del segmento precedente per il momento in cui avviene una transazione.

Schema della funzione monthsname, esempio di period\_no

Schema della funzione monthsname, esempio di period\_no

Schema della funzione monthsname, esempio di period\_no ![Diagram showing the results of using the monthsname function to determine the range of months within which a transaction took place. The period_no is set at -1. Transaction number 8195, which took place between May and June, will return the value indicating a range of March to April 2022.](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-period-no.png)

La transazione 8195 è stata effettuata nel segmento tra maggio e giugno. Pertanto, il segmento bimestrale precedente è compreso tra il 1 marzo e il 30 aprile, quindi la funzione restituisce Mar-Apr 2022.

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsname.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 inline e lo stesso scenario del primo esempio.

* La creazione di un campo differente, `bi_monthly_range`, che raggruppa le transazioni in segmenti bimestrali e restituisce i limiti del segmento per ogni transazione.

Tuttavia, in questo esempio, dobbiamo anche impostare aprile come primo mese dell'anno finanziario.

Script di caricamento

```
SET DateFormat='MM/DD/YYYY';
						
Transactions:
    Load
        *,
        MonthsName(2,date,0,4) as bi_monthly_range
        ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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`

* `bi_monthly_range`

Tabella dei risultati

| date | intervallo bimestrale |
| --- | --- |
| 2/19/2022 | Feb-Mar 2021 |
| 3/7/2022 | Feb-Mar 2021 |
| 3/30/2022 | Feb-Mar 2021 |
| 4/5/2022 | Apr-Mag 2022 |
| 4/16/2022 | Apr-Mag 2022 |
| 5/1/2022 | Apr-Mag 2022 |
| 5/7/2022 | Apr-Mag 2022 |
| 5/22/2022 | Apr-Mag 2022 |
| 6/15/2022 | Giu-Lug 2022 |
| 6/26/2022 | Giu-Lug 2022 |
| 7/9/2022 | Giu-Lug 2022 |
| 7/22/2022 | Giu-Lug 2022 |
| 7/23/2022 | Giu-Lug 2022 |
| 7/27/2022 | Giu-Lug 2022 |
| 8/2/2022 | Ago-Set 2022 |
| 8/8/2022 | Ago-Set 2022 |
| 8/19/2022 | Ago-Set 2022 |
| 9/26/2022 | Ago-Set 2022 |
| 10/14/2022 | Ott-Nov 2022 |
| 10/29/2022 | Ott-Nov 2022 |

Utilizzando 4 come argomento `first_month_of_year` nella funzione `monthsname()`, la funzione inizia l'anno il 1 aprile. Poi divide l'anno in segmenti bimestrali: Apr-Mag, Giu-Lug, Ago-Set, Ott-Nov, Dic-Gen, Feb-Mar.

Testo del paragrafo per i Risultati.

La transazione 8195 è avvenuta il 22 maggio e rientra nel segmento tra il 1 aprile e il 31 maggio. Pertanto, la funzione restituisce Apr-Mag 2022.

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

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

Diagramma della funzione monthsname, esempio di first\_month\_of\_year ![Diagram showing the results of using the monthsname function to determine the range of months within which a transaction took place. Since the year is set to begin on April 1, transaction number 8195 will return a value indicating a range of April to May 2022.](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-first-month-of-year.png)

## Esempio 4 - Esempio di oggetto grafico

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

#### Script di caricamento ed espressione del grafico

Panoramica

Aprire l'Editor caricamento dati e aggiungere il script di caricamento di seguito in una nuova scheda.

Lo script di caricamento utilizza lo stesso set di dati inline e lo stesso scenario del primo esempio. Tuttavia, in questo esempio, il set di dati invariato viene caricato nell'applicazione. Il calcolo che raggruppa le transazioni in segmenti bimestrali e restituisce i limiti del segmento per ogni transazione viene creato come una misura in un oggetto grafico dell'applicazione.

Script di caricamento

```
SET DateFormat='MM/DD/YYYY';

Transactions:
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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:

=monthsname(2,date)

Tabella dei risultati

| date | =monthsname(2,date) |
| --- | --- |
| 2/19/2022 | Gen-Feb 2022 |
| 3/7/2022 | Mar-Apr 2022 |
| 3/30/2022 | Mar-Apr 2022 |
| 4/5/2022 | Mar-Apr 2022 |
| 4/16/2022 | Mar-Apr 2022 |
| 5/1/2022 | Mag-Giu 2022 |
| 5/7/2022 | Mag-Giu 2022 |
| 5/22/2022 | Mag-Giu 2022 |
| 6/15/2022 | Mag-Giu 2022 |
| 6/26/2022 | Mag-Giu 2022 |
| 7/9/2022 | Lug-Ago 2022 |
| 7/22/2022 | Lug-Ago 2022 |
| 7/23/2022 | Lug-Ago 2022 |
| 7/27/2022 | Lug-Ago 2022 |
| 8/2/2022 | Lug-Ago 2022 |
| 8/8/2022 | Lug-Ago 2022 |
| 8/19/2022 | Lug-Ago 2022 |
| 9/26/2022 | Set-Ott 2022 |
| 10/14/2022 | Set-Ott 2022 |
| 10/29/2022 | Set-Ott 2022 |

Il campo bi\_monthly\_range viene creato come misura nell'oggetto grafico mediante l'utilizzo della funzione monthsname(). Il primo argomento fornito è 2, dividendo l'anno in segmenti bimestrali. Il secondo argomento identifica il campo da valutare.

Schema della funzione monthsname, esempio di oggetto grafico

Schema della funzione monthsname, esempio di oggetto grafico

Schema della funzione monthsname, esempio di oggetto grafico ![Diagram showing the results of using the monthsname function with a chart object. Like the other examples, the function is used to determine the range of months within which a transaction took place. Transaction number 8195 returns a value of May-Jun 2022.](https://help.qlik.com/it-IT/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-chart-object.png)

La transazione 8195 avviene il 22 maggio. La funzione monthsname() divide inizialmente l'anno in segmenti bimestrali. La transazione 8195 rientra nel segmento tra il 1 maggio e il 30 giugno. Pertanto, la funzione restituisce questi mesi nel formato della variabile di sistema MonthNames, nonché l'anno, maggio-giugno 2022.

## Esempio 5 – Scenario

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

L'utente finale vuole creare un oggetto grafico che visualizzi le vendite totali per un periodo selezionato. Questo può essere ottenuto anche quando questa dimensione non è disponibile nel modello dati, utilizzando la monthsname() funzione come dimensione calcolata che viene modificata dinamicamente da un controllo di input variabile.

Script di caricamento

```
SET vPeriod = 1;
SET DateFormat='MM/DD/YYYY';

Transactions:
Load
*
Inline
[
id,date,amount
8188,'1/7/2022',17.17
8189,'1/19/2022',37.23
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.

All'inizio dello script di caricamento, viene creata una variabile (vPeriod) che sarà collegata al controllo di input della variabile. Quindi, configurare la variabile come oggetto personalizzato nel foglio.

Procedere come indicato di seguito:

1. Nel pannello risorse, fare clic su Grafici.

2. Sotto Oggetti dashboard, trascinare un Input variabile sul foglio.

3. Immettere un titolo per l'oggetto grafico.

4. In Variabile, selezionare vPeriod come Nome e impostare l'oggetto in modo che venga visualizzato come elenco a discesa.

5. In Valori, configurare l'oggetto in modo che utilizzi valori dinamici. Inserire la seguente funzione:

   ='1~month|2~bi-month|3~quarter|4~tertial|6~half-year'

Quindi, creare la tabella dei risultati.

Procedere come indicato di seguito:

1. Creare una nuova tabella e aggiungere la seguente dimensione calcolata:

   =monthsname($(vPeriod),date)

2. Aggiungere questa misura per calcolare le vendite totali:

   =sum(amount)

3. Impostare la Formattazione numero della misura su Denaro. Fare clic su the Termina modifica icon. È ora possibile modificare i dati mostrati nella tabella regolando il segmento temporale nell'oggetto della variabile.

Ecco come apparirà la tabella dei risultati quando l'opzione tertial è selezionata:

Tabella dei risultati

| monthsname($(vPeriod),date) | sum(amount) |
| --- | --- |
| Gen-Apr 2022 | 253.89 |
| Mag-ago 2022 | 713.58 |
| Set-Dic 2022 | 248.12 |