# lunarweekname Skript- och diagramfunktion

Denna funktion returnerar ett visningsvärde som visar året och sjudagarsperiodsnumret som motsvarar en tidsmarkör för den första millisekunden på den första dagen i sjudagarsperioden som innehåller date. Sjudagarsperioder i Qlik Sense definieras genom att räkna 1 januari som den första dagen i veckan. Bortsett från årets sista vecka kommer varje vecka att ha exakt sju dagar.

Syntax:

LunarWeekName(date [, period\_no[, first\_week\_day]])

Returnerad datatyp: dual

Exempeldiagram för `lunarweekname()`-funktionen

Exempeldiagram för `lunarweekname()`-funktionen

Exempeldiagram för `lunarweekname()`lunarweekname()-funktionen ![Exempeldiagram som visar hur lunarweekname-funktionen konverterar ett inmatningsdatum till ett värde som visar en kombination av år och sjudagarsperiodsnummer.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-general.png)

`lunarweekname()`-funktionen fastställer vilken sjudagarsperiod som datumet infaller, med 1 januari som startdatum för veckoräkningen. Det returnerar sedan ett värde som består av `year/weekcount`.

Argument

| Argument | Beskrivning |
| --- | --- |
| date | Det datum eller den tidsmarkör som ska utvärderas. |
| period\_no | period\_no är ett heltal, eller ett uttryck som resulterar i ett heltal, där värdet 0 anger den sjudagarsperiod som innehåller date. Negativa värden i period\_no anger föregående sjudagarsperioder och positiva värden anger efterföljande sjudagarsperioder. |
| first\_week\_day | En förflyttning av startpunkten som kan vara större eller mindre än noll. Detta flyttar början på året med det angivna antalet dagar och/eller delar av en dag. |

## När ska du använda lunarweekname

Funktionen `lunarweekname()` är användbar när du vill jämföra sammanställningar efter sjudagarsperioder. Funktionen kan exempelvis användas för att fastställa den totala försäljningen av produkter per sjudagarsperiod. Sjudagarsperioder är användbara när du vill säkerställa att alla värden som finns i årets första vecka endast innehåller värden från tidigast 1 januari.

Dessa dimensioner kan skapas i laddningsskriptet genom att använda funktionen för att skapa ett fält i en Master Calendar-tabell. Funktionen kan också användas direkt i ett diagram som en beräknad dimension.

Exempel på funktioner

| Exempel | Resultat |
| --- | --- |
| `lunarweekname('01/12/2013')` | Returnerar 2006/02. |
| `lunarweekname('01/12/2013', -1)` | Returnerar 2006/01. |
| `lunarweekname('01/12/2013', 0, 1)` | Returnerar 2006/02. |

## 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. Mer information finns i [Ändra regioninställningar för applikationer och skript](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Standardinställningar för region i applikationer baseras på användarprofilen. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Cloud användargränssnittet. Qlik Cloud kommer att visas på samma språk som webbläsaren du använder.

Om du är en applikationsskapare kan du ange standardregionen för applikationer du skapar. Mer information finns i [Ställa in önskade regioninställningar för att skapa appar och skript i Qlik Cloud-analys](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

## Exempel 1 – Datum utan ytterligare argument

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.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 transaktioner för 2022 som läses in i en tabell som heter `Transactions`.

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

* Ett fält `  lunar_week_name ` skapas som returnerar ett år och veckonummer för den sjudagarsperiod då transaktionen ägde rum.

Laddningsskript

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

Transactions:
    Load
        *,
        lunarweekname(date) as lunar_week_name
        ;
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. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`

* `lunar_week_name`

Resultattabell

| datum | lunar\_week\_name |
| --- | --- |
| 1/7/2022 | 2022/01 |
| 1/19/2022 | 2022/03 |
| 2/5/2022 | 2022/06 |
| 2/28/2022 | 2022/09 |
| 3/16/2022 | 2022/11 |
| 4/1/2022 | 2022/13 |
| 5/7/2022 | 2022/19 |
| 5/16/2022 | 2022/20 |
| 6/15/2022 | 2022/24 |
| 6/26/2022 | 2022/26 |
| 7/9/2022 | 2022/28 |
| 7/22/2022 | 2022/29 |
| 7/23/2022 | 2022/30 |
| 7/27/2022 | 2022/30 |
| 8/2/2022 | 2022/31 |
| 8/8/2022 | 2022/32 |
| 8/19/2022 | 2022/33 |
| 9/26/2022 | 2022/39 |
| 10/14/2022 | 2022/41 |
| 10/29/2022 | 2022/44 |

`lunar_week_name`-fältet skapades i den föregående load-satsen genom att använda `lunarweekname()`-funktionen och skicka `date`-fältet som funktionens argument.

`lunarweekname()`-funktionen identifierar vilken sjudagarsperiod datumvärdet infaller och returnerar år och veckonummer för detta datum.

Diagram för `lunarweekname()`-funktionen, exempel utan ytterligare argument

Diagram för `lunarweekname()`-funktionen, exempel utan ytterligare argument

Diagram för `lunarweekname()`lunarweekname()-funktionen, exempel utan ytterligare argument ![Diagram som visar hur lunarweekname-funktionen konverterar ett inmatningsdatum till ett värde som visar en kombination av år och sjudagarsperiodsnummer.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-no-add-arg.png)

Transaktion 8189 ägde rum 19 januari. `lunarweekname()`-funktionen identifierar att detta datum infaller under den sjudagarsperiod som börjar 15 januari; detta är årets tredje sjudagarsperiod. Därför returnerar `lunar_week_name` värdet 2022/03 för transaktionen.

## Exempel 2 – datum med argumentet period\_no

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

#### Laddningsskript och resultat

Översikt

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

Laddningsskriptet innehåller:

* Samma datauppsättning och scenario som i det första exemplet.

* Ett fält `previous_lunar_week_name` skapas som returnerar ett år och veckonummer för sjudagarsperioden innan transaktionen ägde rum.

Laddningsskript

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

Transactions:
    Load
        *,
        lunarweekname(date,-1) as previous_lunar_week_name
        ;
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. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`

* `previous_lunar_week_name`

Resultattabell

| datum | previous\_lunar\_week\_name |
| --- | --- |
| 1/7/2022 | 2021/52 |
| 1/19/2022 | 2022/02 |
| 2/5/2022 | 2022/05 |
| 2/28/2022 | 2022/08 |
| 3/16/2022 | 2022/10 |
| 4/1/2022 | 2022/12 |
| 5/7/2022 | 2022/18 |
| 5/16/2022 | 2022/19 |
| 6/15/2022 | 2022/23 |
| 6/26/2022 | 2022/25 |
| 7/9/2022 | 2022/27 |
| 7/22/2022 | 2022/28 |
| 7/23/2022 | 2022/29 |
| 7/27/2022 | 2022/29 |
| 8/2/2022 | 2022/30 |
| 8/8/2022 | 2022/31 |
| 8/19/2022 | 2022/32 |
| 9/26/2022 | 2022/38 |
| 10/14/2022 | 2022/40 |
| 10/29/2022 | 2022/43 |

Eftersom ett `period_no` på -1 användes som förskjutningsargument i `lunarweekname()`-funktionen i det här fallet identifierar funktionen först den sjudagarsperiod då transaktionerna ägde rum. Det returnerar då året och den föregående veckans nummer.

Diagram med exempel på `lunarweekname()`-funktionen, period\_no

Diagram med exempel på `lunarweekname()`-funktionen, period\_no

Diagram med exempel på `lunarweekname()`lunarweekname()-funktionen, period\_no ![Diagram som visar hur lunarweekname-funktionen konverterar inmatningsdatumet för en transaktion till ett kombinerat värde som visar det år och sjudagarsperiodsnummer som transaktionen inträffade under.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-period-no.png)

Transaktion 8189 ägde rum 19 januari. `lunarweekname()`-funktionen fastställer att denna transaktion ägde rum under årets tredje sjudagarsperiod och returnerar därför året och värdet för den föregående veckan, 2022/02, för `previous_lunar_week_name`-fältet.

## Exempel 3 – datum med argumentet first\_week\_day

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

#### Laddningsskript och resultat

Översikt

Öppna skriptredigeraren 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 ställer vi in sjudagarsperioderna till att börja 5 januari.

Laddningsskript

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

Transactions:
    Load
        *,
        lunarweekname(date,0,4) as lunar_week_name
        ;
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. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`

* `lunar_week_name`

Resultattabell

| datum | lunar\_week\_name |
| --- | --- |
| 1/7/2022 | 2022/01 |
| 1/19/2022 | 2022/03 |
| 2/5/2022 | 2022/05 |
| 2/28/2022 | 2022/08 |
| 3/16/2022 | 2022/11 |
| 4/1/2022 | 2022/13 |
| 5/7/2022 | 2022/18 |
| 5/16/2022 | 2022/19 |
| 6/15/2022 | 2022/24 |
| 6/26/2022 | 2022/25 |
| 7/9/2022 | 2022/27 |
| 7/22/2022 | 2022/29 |
| 7/23/2022 | 2022/29 |
| 7/27/2022 | 2022/30 |
| 8/2/2022 | 2022/30 |
| 8/8/2022 | 2022/31 |
| 8/19/2022 | 2022/33 |
| 9/26/2022 | 2022/38 |
| 10/14/2022 | 2022/41 |
| 10/29/2022 | 2022/43 |

Diagram med exempel på `lunarweekname()`-funktionen, first\_week\_day

Diagram med exempel på `lunarweekname()`-funktionen, first\_week\_day

Diagram med exempel på `lunarweekname()`lunarweekname()-funktionen, first\_week\_day ![Diagram som visar hur lunarweekname-funktionen konverterar inmatningsdatumet för varje transaktion till ett kombinerat värde som visar år och sjudagarsperiodsnummer.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-first-week-day.png)

Eftersom `first_week_date`-argumentet 4 används i `lunarweekname()`-funktionen i det här fallet förskjuts sjudagarsperiodens början från 1 januari till 5 januari.

Transaktionen 8188 ägde rum 7 januari. På grund av att sjudagarsperioderna börjar 5 januari identifierar `lunarweekname()`-funktionen att sjudagarsperioden där 7 januari ingår är årets första sjudagarsperiod. Därför är det returnerade `lunar_week_name`-värdet för den transaktoinen 2022/01.

## Exempel 4 – Diagramobjektexempel

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

#### Laddningsskript och diagramuttryck

Översikt

Öppna skriptredigeraren 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 returnerar ett sjudagarsperiodsnummer och år då transaktionen ägde rum skapas som ett mått i ett diagramobjekt för programmet.

Laddningsskript

```
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. Skapa en ny tabell och lägg till det här fältet som en dimension: date.

För att beräkna startdatum för den sjudagarsperiod då en transaktion äger rum skapar du följande mått:

=lunarweekname(date)

Resultattabell

| datum | =lunarweekname(date) |
| --- | --- |
| 1/7/2022 | 2022/01 |
| 1/19/2022 | 2022/03 |
| 2/5/2022 | 2022/06 |
| 2/28/2022 | 2022/09 |
| 3/16/2022 | 2022/11 |
| 4/1/2022 | 2022/13 |
| 5/7/2022 | 2022/19 |
| 5/16/2022 | 2022/20 |
| 6/15/2022 | 2022/24 |
| 6/26/2022 | 2022/26 |
| 7/9/2022 | 2022/28 |
| 7/22/2022 | 2022/29 |
| 7/23/2022 | 2022/30 |
| 7/27/2022 | 2022/30 |
| 8/2/2022 | 2022/31 |
| 8/8/2022 | 2022/32 |
| 8/19/2022 | 2022/33 |
| 9/26/2022 | 2022/39 |
| 10/14/2022 | 2022/41 |
| 10/29/2022 | 2022/44 |

lunar\_week\_name-måttet skapades i den föregående load-satsen genom att använda lunarweekname()-funktionen och skicka date-fältet som funktionens argument.

lunarweekname()-funktionen identifierar vilken sjudagarsperiod datumvärdet infaller och returnerar år och veckonummer för detta datum.

Diagram med exempel på lunarweekname()-funktionen, diagramobjekt

Diagram med exempel på lunarweekname()-funktionen, diagramobjekt

Diagram med exempel på lunarweekname()lunarweekname()-funktionen, diagramobjekt ![Diagram som visar hur lunarweekname-funktionen konverterar ett inmatningsdatum till ett värde som visar en kombination av år och sjudagarsperiodsnummer.](https://help.qlik.com/sv-SE/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-lunarweekname-examples-chart-object.png)

Transaktion 8189 ägde rum 19 januari. lunarweekname()-funktionen identifierar att detta datum infaller under den sjudagarsperiod som börjar 15 januari; detta är årets tredje sjudagarsperiod. Därför är lunar\_week\_name värdet för transaktionen 2022/03.

## Exempel 5 – Scenario

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/lunarweekname.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) i systemvariabeln DateFormat.

Slutanvändaren vill ha ett diagramobjekt som visar den totala försäljningen per vecka för nuvarande år. Vecka 1, med en längd på sju dagar, ska börja 1 januari. Detta kan göras även när denna dimension inte är tillgänglig i datamodellen genom att använda lunarweekname()-funktionen som en beräknad dimension i diagrammet.

Laddningsskript

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

Gör följande:

1. Ladda data och öppna ett ark. Skapa en ny tabell.

2. Skapa en beräknad dimension med följande uttryck:

   =lunarweekname(date)

3. Beräkna total försäljning med hjälp av följande aggregeringsmått.

   =sum(amount)

4. Ange måttens Nummerformatering till Pengar.

Resultattabell

| =lunarweekname(date) | =sum(amount) |
| --- | --- |
| 2022/01 | $17.17 |
| 2022/03 | $37.23 |
| 2022/06 | $57.42 |
| 2022/09 | $88.27 |
| 2022/11 | $53.80 |
| 2022/13 | $82.06 |
| 2022/19 | $40.39 |
| 2022/20 | $87.21 |
| 2022/24 | $95.93 |
| 2022/26 | $45.89 |
| 2022/28 | $36.23 |
| 2022/29 | $25.66 |
| 2022/30 | $152.75 |
| 2022/31 | $76.11 |
| 2022/32 | $25.12 |
| 2022/33 | $46.23 |
| 2022/39 | $84.21 |
| 2022/41 | $96.24 |
| 2022/44 | $67.67 |