# monthsname - script- en diagramfunctie

Deze functie retourneert een weergavewaarde die het bereik vertegenwoordigt van de maanden van de periode (geformatteerd volgens de scriptvariabele MonthNames) alsmede het jaar. De onderliggende numerieke waarde komt overeen met een tijdstempel van de eerste milliseconde van de periode van een maand, twee maanden, kwartaal, tertiaal of half jaar die een basisdatum bevat.

Syntaxis:

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

Retourgegevenstypen: dual

Diagram van functie monthsname

Diagram van functie monthsname

Diagram van functie monthsname ![Voorbeelddiagram dat het bereik van maanden toont dat wordt geretourneerd door de functie monthsname, gegeven een specifieke invoerdatum.](https://help.qlik.com/nl-NL/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-general.png)

De functie `monthsname()` verdeelt het jaar in segmenten op basis van het opgegeven `n_months`-argument. Het evalueert vervolgens het segment waartoe elke opgegeven `date` behoort, en retourneert de namen van de begin- en eindmaanden van dat segment, evenals het jaar. De functie biedt ook de mogelijkheid om deze grenzen van voorgaande of volgende segmenten te retourneren, en om opnieuw te definiëren wat de eerste maand van het jaar is.

De volgende segmenten van het jaar zijn beschikbaar in de functie als `n_month`-argumenten:

Mogelijke `n_month`n\_month-argumenten

| Perioden | Aantal maanden |
| --- | --- |
| maandelijks | 1 |
| tweemaandelijks | 2 |
| kwartaal | 3 |
| tertiaal | 4 |
| halfjaarlijks | 6 |

Argumenten

| Argument | Beschrijving |
| --- | --- |
| n\_months | Het aantal maanden dat de periode definieert. Een geheel getal of uitdrukking die wordt herleid tot een geheel getal dat een van de volgende waarden moet hebben: 1 (equivalent aan de functie inmonth()), 2 (2 maanden), 3 (equivalent aan de functie inquarter()), 4 (tertiaal) of 6 (half jaar). |
| date | De te evalueren datum of tijdstempel. |
| period\_no | De periode kan worden verschoven met period\_no, een geheel getal of een uitdrukking die wordt herleid tot een geheel getal, waarbij de waarde 0 de periode aangeeft die base\_date bevat. Negatieve waarden in period\_no geven voorafgaande perioden aan en positieve waarden geven volgende perioden aan. |
| first\_month\_of\_year | Als u wilt werken met (boek)jaren die niet in januari beginnen, geeft u een waarde op tussen 2 en 12 in first\_month\_of\_year. |

## Wanneer gebruiken

De functie `monthsname()` is handig wanneer u de gebruiker de functionaliteit wilt bieden om aggregaties te vergelijken op een periode naar keuze. U kunt bijvoorbeeld een invoervariabele opgeven om de gebruiker de totale verkoop van producten per maand, kwartaal of halfjaar te laten zien.

Deze dimensies kunnen worden gemaakt in het load-script door de functie toe te voegen als een veld in een masterkalendertabel, of door de dimensie rechtstreeks in een diagram te maken als een berekende dimensie.

Voorbeelden van functies

| Voorbeeld | Resultaat |
| --- | --- |
| `monthsname(4, '10/19/2013')` | Retourneert 'Sep-Dec 2013.' In dit en andere voorbeelden is de opdracht SET Monthnames ingesteld op Jan;Feb;Mar, enzovoort. |
| `monthsname(4, '10/19/2013', -1)` | Retourneert 'May-Aug 2013'. |
| ` monthsname(4, '10/19/2013', 0, 2)  ` | Retourneert 'Oct-Jan 2014', aangezien het jaar is opgegeven om te beginnen in maand 2. Daarom eindigt de periode van vier maanden in de eerste maand van het volgende jaar. |

## Landinstellingen

Tenzij anders aangegeven, wordt in de voorbeelden in dit onderwerp de volgende datumindeling gebruikt: MM/DD/JJJJ. De datumopmaak wordt opgegeven in de opdracht `SET DateFormat` in uw script voor het laden van gegevens. De standaard datumindeling is mogelijk anders op uw systeem vanwege landinstellingen en andere factoren. U kunt de indelingen in de voorbeelden wijzigen zodat deze aansluiten op uw behoeften. Of u kunt de indelingen in uw load-script wijzigen zodat ze overeenkomen met deze voorbeelden.

Standaard landinstellingen in apps zijn gebaseerd op de regionale systeeminstellingen van de computer of server waarop Qlik Sense is geïnstalleerd. Als de Qlik Sense-server die u gebruikt is ingesteld op Zweden, gebruikt de editor voor laden van gegevens de Zweedse landinstellingen voor datums, tijd en valuta. Deze landinstellingen voor indelingen zijn niet gerelateerd aan de taal die wordt weergegeven in de gebruikersinterface van Qlik Sense. Qlik Sense wordt weergegeven in dezelfde taal als de browser die u gebruikt.

## Voorbeeld 1 – Basisvoorbeeld

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

#### Load-script en resultaten

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

Het load-script bevat:

* Een gegevensverzameling met een set transacties voor 2022 die wordt geladen in de tabel `Transactions`.

* Het datumveld opgegeven in de `DateFormat`-systeemvariabele (MM/DD/YYYY) indeling.

* Het maken van een veld, `bi_monthly_range`, dat transacties groepeert in tweemaandelijkse segmenten en de grensnamen van dat segment voor elke transactie retourneert.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `date`

* `bi_monthly_range`

Resultatentabel

| date | bi\_monthly\_range |
| --- | --- |
| 2/19/2022 | jan-feb 2022 |
| 3/7/2022 | mrt-apr 2022 |
| 3/30/2022 | mrt-apr 2022 |
| 4/5/2022 | mrt-apr 2022 |
| 4/16/2022 | mrt-apr 2022 |
| 5/1/2022 | mei-juni 2022 |
| 5/7/2022 | mei-juni 2022 |
| 5/22/2022 | mei-juni 2022 |
| 6/15/2022 | mei-juni 2022 |
| 6/26/2022 | mei-juni 2022 |
| 7/9/2022 | juli-aug 2022 |
| 7/22/2022 | juli-aug 2022 |
| 7/23/2022 | juli-aug 2022 |
| 7/27/2022 | juli-aug 2022 |
| 8/2/2022 | juli-aug 2022 |
| 8/8/2022 | juli-aug 2022 |
| 8/19/2022 | juli-aug 2022 |
| 9/26/2022 | sep-okt 2022 |
| 10/14/2022 | sep-okt 2022 |
| 10/29/2022 | sep-okt 2022 |

Het veld `bi_monthly_range` wordt gemaakt in de vorige load-instructie met behulp van de functie `monthsname()`. Het eerste opgegeven argument is 2, waarbij het jaar wordt verdeeld in tweemaandelijkse segmenten. Het tweede argument geeft aan welk veld wordt geëvalueerd.

Diagram van functie monthsname, basisvoorbeeld

Diagram van functie monthsname, basisvoorbeeld

Diagram van functie monthsname, basisvoorbeeld![Diagram met de resultaten van het gebruik van de functie monthsname om het maandbereik te bepalen waarin een transactie heeft plaatsgevonden.](https://help.qlik.com/nl-NL/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-basic-example.png)

Transactie 8195 vindt plaats op 22 mei. De functie `monthsname()` verdeelt het jaar in eerste instantie in tweemaandelijkse segmenten. Transactie 8195 valt in het segment tussen 1 mei en 30 juni. Daarom retourneert de functie deze maanden in de systeemvariabele-indeling `MonthNames`, evenals het jaar, mei-juni 2022.

## Voorbeeld 2 – period\_no

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

#### Load-script en resultaten

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

Het load-script bevat:

* Dezelfde inline gegevensset en het scenario uit het eerste voorbeeld.

* Het maken van een veld, `prev_bi_monthly_range`, dat transacties groepeert in tweemaandelijkse segmenten en de grensnamen van het eerdere segment voor elke transactie retourneert.

Voeg hier uw andere tekst toe, indien nodig, met lijsten enz.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `date`

* `prev_bi_monthly_range`

Resultatentabel

| date | prev\_bi\_monthly\_range |
| --- | --- |
| 2/19/2022 | nov-dec 2021 |
| 3/7/2022 | jan-feb 2022 |
| 3/30/2022 | jan-feb 2022 |
| 4/5/2022 | jan-feb 2022 |
| 4/16/2022 | jan-feb 2022 |
| 5/1/2022 | mrt-apr 2022 |
| 5/7/2022 | mrt-apr 2022 |
| 5/22/2022 | mrt-apr 2022 |
| 6/15/2022 | mrt-apr 2022 |
| 6/26/2022 | mrt-apr 2022 |
| 7/9/2022 | mei-juni 2022 |
| 7/22/2022 | mei-juni 2022 |
| 7/23/2022 | mei-juni 2022 |
| 7/27/2022 | mei-juni 2022 |
| 8/2/2022 | mei-juni 2022 |
| 8/8/2022 | mei-juni 2022 |
| 8/19/2022 | mei-juni 2022 |
| 9/26/2022 | juli-aug 2022 |
| 10/14/2022 | juli-aug 2022 |
| 10/29/2022 | juli-aug 2022 |

In dit voorbeeld wordt -1 gebruikt als het `period_no`-argument in de `monthsname()`-functie. Na aanvankelijk een jaar in tweemaandelijkse segmenten te hebben verdeeld, retourneert de functie vervolgens de vorige segmentgrenzen voor wanneer een transactie plaatsvindt.

Diagram van functie monthsname, voorbeeld period\_no

Diagram van functie monthsname, voorbeeld period\_no

Diagram van functie monthsname, voorbeeld period\_no![Diagram met de resultaten van het gebruik van de functie monthsname om het maandbereik te bepalen waarin een transactie heeft plaatsgevonden.](https://help.qlik.com/nl-NL/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-period-no.png)

Transactie 8195 vindt plaats in het segment tussen mei en juni. Daarom was het vorige tweemaandelijkse segment tussen 1 maart en 30 april, en daarom retourneert de functie mrt-apr 2022.

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

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

#### Load-script en resultaten

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

Het load-script bevat:

* Dezelfde inline gegevensset en het scenario uit het eerste voorbeeld.

* Het maken van een ander veld, `bi_monthly_range`, dat transacties groepeert in tweemaandelijkse segmenten en de segmentgrenzen voor elke transactie retourneert.

In dit voorbeeld moeten we echter ook april instellen als de eerste maand van het boekjaar.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `date`

* `bi_monthly_range`

Resultatentabel

| date | bi\_monthly\_range |
| --- | --- |
| 2/19/2022 | feb-mrt 2021 |
| 3/7/2022 | feb-mrt 2021 |
| 3/30/2022 | feb-mrt 2021 |
| 4/5/2022 | apr-mei 2022 |
| 4/16/2022 | apr-mei 2022 |
| 5/1/2022 | apr-mei 2022 |
| 5/7/2022 | apr-mei 2022 |
| 5/22/2022 | apr-mei 2022 |
| 6/15/2022 | jun-jul 2022 |
| 6/26/2022 | jun-jul 2022 |
| 7/9/2022 | jun-jul 2022 |
| 7/22/2022 | jun-jul 2022 |
| 7/23/2022 | jun-jul 2022 |
| 7/27/2022 | jun-jul 2022 |
| 8/2/2022 | aug-sept 2022 |
| 8/8/2022 | aug-sept 2022 |
| 8/19/2022 | aug-sept 2022 |
| 9/26/2022 | aug-sept 2022 |
| 10/14/2022 | okt-nov 2022 |
| 10/29/2022 | okt-nov 2022 |

Door 4 te gebruiken als het `first_month_of_year`-argument in de `monthsname()`-functie, begint de functie het jaar op 1 april. Het verdeelt vervolgens het jaar in tweemaandelijkse segmenten: apr-mei,jun-jul,aug-sep,okt-nov,dec-jan,feb-mrt.

Alineatekst voor Resultaten.

Transactie 8195 vond plaats op 22 mei en valt in het segment tussen 1 april en 31 mei. Daarom retourneert de functie apr-mei 2022.

Diagram van functie monthsname, voorbeeld first\_month\_of\_year

Diagram van functie monthsname, voorbeeld first\_month\_of\_year

Diagram van functie monthsname, voorbeeld first\_month\_of\_year![Diagram met de resultaten van het gebruik van de functie monthsname om het maandbereik te bepalen waarin een transactie heeft plaatsgevonden.](https://help.qlik.com/nl-NL/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-first-month-of-year.png)

## Voorbeeld 4 – diagramobjectvoorbeeld

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

#### Load-script en diagramuitdrukking

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

Het load-script bevat dezelfde inline gegevensset en scenario als het eerste voorbeeld. In dit voorbeeld wordt de ongewijzigde gegevensset echter in de applicatie geladen. De berekening die transacties groepeert in tweemaandelijkse segmenten en de segmentgrenzen retourneert voor elke transactie wordt gemaakt als een meting in een diagramobject van de toepassing.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:date.

Maak de volgende meting:

=monthsname(2,date)

Resultatentabel

| date | =monthsname(2,date) |
| --- | --- |
| 2/19/2022 | jan-feb 2022 |
| 3/7/2022 | mrt-apr 2022 |
| 3/30/2022 | mrt-apr 2022 |
| 4/5/2022 | mrt-apr 2022 |
| 4/16/2022 | mrt-apr 2022 |
| 5/1/2022 | mei-juni 2022 |
| 5/7/2022 | mei-juni 2022 |
| 5/22/2022 | mei-juni 2022 |
| 6/15/2022 | mei-juni 2022 |
| 6/26/2022 | mei-juni 2022 |
| 7/9/2022 | juli-aug 2022 |
| 7/22/2022 | juli-aug 2022 |
| 7/23/2022 | juli-aug 2022 |
| 7/27/2022 | juli-aug 2022 |
| 8/2/2022 | juli-aug 2022 |
| 8/8/2022 | juli-aug 2022 |
| 8/19/2022 | juli-aug 2022 |
| 9/26/2022 | sep-okt 2022 |
| 10/14/2022 | sep-okt 2022 |
| 10/29/2022 | sep-okt 2022 |

Het veld bi\_monthly\_range wordt in een diagramobject gemaakt als een meting met behulp van de functie monthsname(). Het eerste opgegeven argument is 2, waarbij het jaar wordt verdeeld in tweemaandelijkse segmenten. Het tweede argument geeft aan welk veld wordt geëvalueerd.

Diagram van functie monthsname, diagramobjectvoorbeeld

Diagram van functie monthsname, diagramobjectvoorbeeld

Diagram van functie monthsname, diagramobjectvoorbeeld![Diagram met de resultaten van het gebruik van de functie monthsname met een diagramobject.](https://help.qlik.com/nl-NL/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-chart-object.png)

Transactie 8195 vindt plaats op 22 mei. De functie monthsname() verdeelt het jaar in eerste instantie in tweemaandelijkse segmenten. Transactie 8195 valt in het segment tussen 1 mei en 30 juni. Daarom retourneert de functie deze maanden in de systeemvariabele-indeling MonthNames, evenals het jaar, mei-juni 2022.

## Voorbeeld 5 – Scenario

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

#### Load-script en diagramuitdrukking

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.

Het load-script bevat:

* Een gegevensset met transacties voor 2022 die wordt geladen in een tabel met de naam Transactions.

* Het datumveld opgegeven in de DateFormat-systeemvariabele (MM/DD/YYYY) indeling.

De eindgebruiker wil graag een diagramobject dat de totale omzet per periode naar eigen keuze weergeeft. Dit kan zelfs worden bereikt als deze dimensie niet beschikbaar is in het gegevensmodel, door de functie monthsname() te gebruiken als een berekende dimensie die dynamisch wordt gewijzigd door een besturingselement voor variabeleninvoer.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad.

Aan het begin van het load-script is een variabele (vPeriod) gemaakt die wordt gekoppeld aan het besturingselement voor variabeleninvoer. Configureer vervolgens de variabele als een aangepast object in het werkblad.

Doe het volgende:

1. Klik in het bedrijfsmiddelenvenster op Aangepaste objecten.

2. Selecteer Qlik Dashboard-bundel en maak een object Variabeleninvoer.

3. Voer een titel in voor het diagramobject.

4. Selecteer onder Variabele de optie vPeriod als de naam en stel het object in om als een Vervolgkeuzelijst te worden weergegeven.

5. Configureer onder Waarden het object om dynamische waarden te gebruiken. Voer het volgende in:

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

Maak vervolgens de resultatentabel.

Doe het volgende:

1. Maak een nieuwe tabel en voeg de volgende berekende dimensie toe:

   =monthsname($(vPeriod),date)

2. Voeg deze meting toe om de totale verkoop te berekenen:

   =sum(amount)

3. Stel de Getalnotatie van de meting in op Geld. Klik op the Klaar met bewerken icon. U kunt nu de gegevens in de tabel wijzigen door het tijdsegment in het variabele-object aan te passen.

Dit is hoe de resultatentabel eruit zal zien als de optie tertial is geselecteerd:

Resultatentabel

| monthsname($(vPeriod),date) | =sum(amount) |
| --- | --- |
| jan-apr 2022 | 253.89 |
| Mei-aug 2022 | 713.58 |
| sep-dec 2022 | 248.12 |