# monthsname Skript- och diagramfunktion

Denna funktion returnerar ett visningsvärde som representerar månadsintervallet i perioden (formaterat enligt skriptvariabeln MonthNames) liksom året. Det underliggande numeriska värdet motsvarar en tidsmarkör för den första millisekunden i månaden, tvåmånadersperioden, kvartalet, fyramånadersperioden eller halvåret som innehåller ett basdatum.

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

Returnerad datatyp: Dual

Diagram för monthsname-funktionen

Diagram för monthsname-funktionen

Diagram för monthsname-funktionen ![Example diagram showing the range of months  returned by the monthsname function, given a specific input date.](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-general.png)

`monthsname()`-funktionen delar upp året i segment baserat på det angivna `n_months`-argumentet. Den utvärderar sedan segmentet som varje tillhandahållen `date` tillhör, och returnerar start- och slutmånadsnamnen för det segmentet, såväl som året. Funktionen ger också möjligheten att returnera dessa gränser från föregående eller efterföljande segment, samt omdefiniera vilket som är årets första månad.

Följande segment av året är tillgängliga i funktionen som `n_month`-argument:

Möjliga `n_month`n\_month-argument

| Perioder | Antal månader |
| --- | --- |
| månad | 1 |
| två månader | 2 |
| kvartal | 3 |
| fyra månader | 4 |
| halvår | 6 |

Argument

| Argument | Beskrivning |
| --- | --- |
| n\_months | Antalet månader som definierar perioden. Ett heltal eller uttryck vars resultat blir ett heltal som ska vara antingen: 1 (motsvaras av inmonth()-funktionen), 2 (tvåmånadersperiod), 3 (motsvaras av inquarter()-funktionen), 4 (fyramånadersperiod) eller 6 (halvår). |
| date | Det datum eller den tidsmarkör som ska utvärderas. |
| period\_no | Periodens startpunkt kan flyttas med period\_no, ett heltal, eller ett uttryck som resulterar i ett heltal, där värdet 0 anger den period som innehåller base\_date. Negativa värden i period\_no anger föregående perioder och positiva värden anger efterföljande perioder. |
| first\_month\_of\_year | Om du vill arbeta med (budget)år som inte börjar i januari kan du ange ett värde mellan 2 och 12 i first\_month\_of\_year. |

## Användning

`monthsname()`-funktionen är användbar när du vill ge användaren funktionalitet för att jämföra aggregationer efter en valfri period. Du kan till exempel ange en indatavariabel för att låta användaren se den totala försäljningen av produkter per månad, kvartal eller halvår.

Dessa dimensioner kan skapas antingen i laddningsskriptet genom att lägga till funktionen som ett fält i en Master Calendar-tabell, eller alternativt genom att skapa dimensionen direkt i ett diagram som en beräknad dimension.

Exempel på funktioner

| Exempel | Resultat |
| --- | --- |
| `monthsname(4, '10/19/2013')` | Returnerar 'Sep-Dec 2013.' I detta och de andra exemplen är SETMonthnames uttrycket inställt på Jan;Feb;Mar, och så vidare. |
| `monthsname(4, '10/19/2013', -1)` | Returnerar 'May-Aug 2013'. |
| ` monthsname(4, '10/19/2013', 0, 2)  ` | Returnerar Oct-Jan 2014, eftersom året är specificerat att börja i månaden 2. Därför slutar fyramånadersperioden med den första månaden av nästföljande år. |

## Lokala inställningar

Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/YYYY. Datumformatet anges i `SET DateFormat`-satsen i datainläsningsskriptet. Förvald datumformatering kan vara annorlunda i ditt system, på grund av dina regionala inställningar och andra faktorer. Du kan ändra formaten i exemplen nedan så att det passar dina krav. Eller så kan du ändra formaten i ditt laddningsskript så att de matchar dessa exempel.

Standardregionalinställningar i program baseras på de regionala systeminställningarna för datorn eller servern där Qlik Sense är installerad. Om Qlik Senseservern du ansluter till är inställd på Sverige så kommer Dataladdningsredigeraren att använda svenska regionala inställningar för datum, tid och valuta. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Sense användargränssnittet. Qlik Sense kommer att visas på samma språk som webbläsaren du använder.

## Exempel 1 – Grundläggande exempel

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

#### Laddningsskript och resultat

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som innehåller en uppsättning transaktioner för 2022, som läses in i en tabell som heter `Transactions`.

* Datumfältet tillhandahålls i formatet (MM/DD/YYYY) i `DateFormat` systemvariabeln.

* Skapandet av ett fält, `bi_monthly_range`, som grupperar transaktioner i tvåmånaderssegment och returnerar gränsnamnen för det segmentet för varje transaktion.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`

* `bi_monthly_range`

Resultattabell

| datum | tvåmånadersintervall |
| --- | --- |
| 2022-02-19 | Jan-feb 2022 |
| 2022-03-07 | Mar-apr 2022 |
| 2022-03-30 | Mar-apr 2022 |
| 5/4/2022 | Mar-apr 2022 |
| 16/4/2022 | Mar-apr 2022 |
| 2022-05-01 | Maj-jun 2022 |
| 5/7/2022 | Maj-jun 2022 |
| 2022-05-22 | Maj-jun 2022 |
| 6/15/2022 | Maj-jun 2022 |
| 6/26/2022 | Maj-jun 2022 |
| 7/9/2022 | Jul-aug 2022 |
| 7/22/2022 | Jul-aug 2022 |
| 7/23/2022 | Jul-aug 2022 |
| 7/27/2022 | Jul-aug 2022 |
| 8/2/2022 | Jul-aug 2022 |
| 8/8/2022 | Jul-aug 2022 |
| 8/19/2022 | Jul-aug 2022 |
| 9/26/2022 | Sep-okt 2022 |
| 10/14/2022 | Sep-okt 2022 |
| 10/29/2022 | Sep-okt 2022 |

`bi_monthly_range`-fältet skapas i föregående LOAD-sats med hjälp av funktionen `monthsname()`. Det första argumentet som tillhandahålls är 2, som delar upp året i tvåmånaderssegment. Det andra argumentet anger vilket fält som utvärderas.

Diagram för monthsname-funktionen, grundexempel

Diagram för monthsname-funktionen, grundexempel

Diagram för monthsname-funktionen, grundexempel ![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/sv-SE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-basic-example.png)

Transaktion 8195 äger rum den 22 maj. `monthsname()`-funktionen delar initialt upp året i tvåmånaderssegment. Transaktion 8195 infaller i segmentet mellan 1 maj och 30 juni. Därför returnerar funktionen dessa månader i systemvariabelformatet `MonthNames`, såväl som året, maj-juni 2022.

## Exampel 2 – period\_no

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

#### Laddningsskript och resultat

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* Samma inline-datauppsättning och scenario som det första exemplet används.

* Skapandet av ett fält, `prev_bi_monthly_range`, som grupperar transaktioner i tvåmånaderssegment och returnerar föregående segmentgränsnamn för varje transaktion.

Lägg till din andra text här, efter behov, med listor mm.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`

* `prev_bi_monthly_range`

Resultattabell

| datum | föregående\_tvåmånadersintervall |
| --- | --- |
| 2022-02-19 | Nov-dec 2021 |
| 2022-03-07 | Jan-feb 2022 |
| 2022-03-30 | Jan-feb 2022 |
| 5/4/2022 | Jan-feb 2022 |
| 16/4/2022 | Jan-feb 2022 |
| 2022-05-01 | Mar-apr 2022 |
| 5/7/2022 | Mar-apr 2022 |
| 2022-05-22 | Mar-apr 2022 |
| 6/15/2022 | Mar-apr 2022 |
| 6/26/2022 | Mar-apr 2022 |
| 7/9/2022 | Maj-jun 2022 |
| 7/22/2022 | Maj-jun 2022 |
| 7/23/2022 | Maj-jun 2022 |
| 7/27/2022 | Maj-jun 2022 |
| 8/2/2022 | Maj-jun 2022 |
| 8/8/2022 | Maj-jun 2022 |
| 8/19/2022 | Maj-jun 2022 |
| 9/26/2022 | Jul-aug 2022 |
| 10/14/2022 | Jul-aug 2022 |
| 10/29/2022 | Jul-aug 2022 |

I det här exemplet används -1 som `period_no`-argumentet i `monthsname()`-funktionen. Efter att initialt ha delat upp ett år i tvåmånaderssegment, returnerar funktionen sedan tidigare segmentgränser för när en transaktion äger rum.

Exempel på diagram för monthsname-funktionen, period\_no

Exempel på diagram för monthsname-funktionen, period\_no

Exempel på diagram för monthsname-funktionen, 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/sv-SE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-period-no.png)

Transaktion 8195 faller in i segmentet mellan maj och juni. Detta innebär att det föregående tvåmånaderssegmentet var mellan 1 mars och 30 april, och därför returnerar funktionen mars-april 2022.

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

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

#### Laddningsskript och resultat

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* Samma inline-datauppsättning och scenario som det första exemplet används.

* Skapandet av ett annat fält, `bi_monthly_range`, som grupperar transaktioner i tvåmånaderssegment och returnerar segmentgränsnamn för varje transaktion.

Men i det här exemplet måste vi också ställa in april som den första månaden i räkenskapsåret.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`

* `bi_monthly_range`

Resultattabell

| datum | tvåmånadersintervall |
| --- | --- |
| 2022-02-19 | Feb-mar 2021 |
| 2022-03-07 | Feb-mar 2021 |
| 2022-03-30 | Feb-mar 2021 |
| 5/4/2022 | Apr-maj 2022 |
| 16/4/2022 | Apr-maj 2022 |
| 2022-05-01 | Apr-maj 2022 |
| 5/7/2022 | Apr-maj 2022 |
| 2022-05-22 | Apr-maj 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-sep 2022 |
| 8/8/2022 | Aug-sep 2022 |
| 8/19/2022 | Aug-sep 2022 |
| 9/26/2022 | Aug-sep 2022 |
| 10/14/2022 | Okt-nov 2022 |
| 10/29/2022 | Okt-nov 2022 |

Genom att använda 4 som `first_month_of_year`-argument i `monthsname()`-funktionen, startar funktionen året den 1 april. Den delar sedan upp året i tvåmånaderssegment: Apr-Maj,Jun-Jul,Aug-Sep,Okt-Nov,Dec-Jan,Feb-Mar.

Stycketext för resultat.

Transaktion 8195 ägde rum den 22 maj och faller in i segmentet mellan 1 april och 31 maj. Därför returnerar funktionen april-maj 2022.

Exempel på diagram för monthsname-funktionen, first\_month\_of\_year

Exempel på diagram för monthsname-funktionen, first\_month\_of\_year

Exempel på diagram för monthsname-funktionen, 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/sv-SE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-first-month-of-year.png)

## Exempel 4 – Diagramobjektexempel

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

#### Laddningsskript och diagramuttryck

Översikt

Öppna Dataladdningsredigeraren och lägg till laddningsskriptet nedan i en ny flik.

Laddningsskriptet innehåller samma datauppsättning och scenario som i det första exemplet. I det här exemplet har dock den oförändrade datauppsättningen laddats till programmet. Beräkningen som grupperar transaktioner i tvåmånaderssegment och returnerar segmentgränserna för varje transaktion skapas som ett mått i ett diagramobjekt för programmet.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:date.

Skapa följande mått:

=monthsname(2,date)

Resultattabell

| datum | =månadsnamn(2,datum) |
| --- | --- |
| 2022-02-19 | Jan-feb 2022 |
| 2022-03-07 | Mar-apr 2022 |
| 2022-03-30 | Mar-apr 2022 |
| 5/4/2022 | Mar-apr 2022 |
| 16/4/2022 | Mar-apr 2022 |
| 2022-05-01 | Maj-jun 2022 |
| 5/7/2022 | Maj-jun 2022 |
| 2022-05-22 | Maj-jun 2022 |
| 6/15/2022 | Maj-jun 2022 |
| 6/26/2022 | Maj-jun 2022 |
| 7/9/2022 | Jul-aug 2022 |
| 7/22/2022 | Jul-aug 2022 |
| 7/23/2022 | Jul-aug 2022 |
| 7/27/2022 | Jul-aug 2022 |
| 8/2/2022 | Jul-aug 2022 |
| 8/8/2022 | Jul-aug 2022 |
| 8/19/2022 | Jul-aug 2022 |
| 9/26/2022 | Sep-okt 2022 |
| 10/14/2022 | Sep-okt 2022 |
| 10/29/2022 | Sep-okt 2022 |

bi\_monthly\_range-fältet skapas som ett mått i diagramobjektet med hjälp av monthsname()-funktionen. Det första argumentet som tillhandahålls är 2, som delar upp året i tvåmånaderssegment. Det andra argumentet anger vilket fält som utvärderas.

Exempel på diagram för monthsname-funktionen, diagramobjekt

Exempel på diagram för monthsname-funktionen, diagramobjekt

Exempel på diagram för monthsname-funktionen, diagramobjekt ![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/sv-SE/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-chart-object.png)

Transaktion 8195 äger rum den 22 maj. monthsname()-funktionen delar initialt upp året i tvåmånaderssegment. Transaktion 8195 infaller i segmentet mellan 1 maj och 30 juni. Därför returnerar funktionen dessa månader i systemvariabelformatet MonthNames, såväl som året, maj-juni 2022.

## Exempel 5 – Scenario

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

#### Laddningsskript och diagramuttryck

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som innehåller transaktioner efter tidsmarkör som läses in i en tabell som heter Transactions.

* Datumfältet tillhandahålls i formatet (MM/DD/YYYY) i DateFormat-systemvariabeln.

Slutanvändaren vill ha ett diagramobjekt som visar den totala försäljningen efter en valfri period. Detta kan uppnås även när denna dimension inte är tillgänglig i datamodellen, med hjälp av monthsname()-funktionen som en beräknad dimension som modifieras dynamiskt med hjälp av variabelinmatningskontroll.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark.

I början av laddningsskriptet har en variabel (vPeriod) skapats som kommer att kopplas till variabelinmatningskontrollen. Konfigurera sedan variabeln som ett anpassat objekt i arket.

Gör följande:

1. I resurspanelen klickar du på Diagram.

2. Under Instrumentpanelsobjekt, drar du en Variabelinmatning till arket.

3. Ange en titel för diagramobjektet.

4. Under Variabel väljer du vPeriod som namn och ställer in objektet så att det visas som en rullgardinsmeny.

5. Under Värden konfigurerar du objektet för att använda dynamiska värden. Ange följande:

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

Skapa sedan resultattabellen.

Gör följande:

1. Skapa en ny tabell och lägg till följande beräknade dimension:

   =monthsname($(vPeriod),date)

2. Lägg till detta mått för att beräkna den totala försäljningen:

   =sum(amount)

3. Ange måttets Nummerformatering till Pengar. Klicka på the Redigering klar icon. Du kan nu ändra data som visas i tabellen genom att justera tidssegmentet i variabelobjektet.

Så här kommer resultattabellen att se ut när tertial-alternativet är valt:

Resultattabell

| monthsname($(vPeriod),datum) | =sum(amount) |
| --- | --- |
| Jan-apr 2022 | 253,89 |
| Maj–aug 2022 | 713.58 |
| Sep-dec 2022 | 248.12 |