# Date Skript- och diagramfunktion

Date() formaterar ett uttryck som ett datum med hjälp av formatet som har ställts in i systemvariablerna i dataladdningsskriptet eller operativsystemet, eller i en formatsträng, om så är tillämpligt.

Syntax:

Date(number[, format])

Returnerad datatyp: dual

Argument

| Argument | Beskrivning |
| --- | --- |
| number | Talet som ska formateras. |
| format | En sträng som beskriver formatet på den sträng som blir resultatet. Om ingen formatsträng anges används det datumformat som har definierats i systemvariablerna i det dataladdningsskript eller operativsystem som används.<br><br>Funktionen `Date` har stöd för många formatalternativ för olika datumstrukturer, t.ex:<br><br>​`DD/MM/YYYY`: ​Dag/Månad/År (t.ex. 15/02/2022)<br><br>​`MM-DD-YYYY`: ​Månad-Dag-År med bindestreck (t.ex. 02-15-2022)<br><br>​`YYYY-MM-DD`: ​År-Månad-Dag, ISO-format (t.ex. 2022-02-15)<br><br>​`D-MMM-YYYY`: ​Dag, kort månadsnamn, År, med bindestreck (t.ex. 15-Feb-2022)<br><br>`​MMMM YYYY`: ​Långt månadsnamn och År (t.ex. February 2022)<br><br>​`MM/YYYY`: ​Månad och År (t.ex. 02/2022)<br><br>`DD MMMM YYYY`: ​Dag, långt månadsnamn och År (t.ex. 15 February 2022) |

Exempel: diagramuttryck

| Exempel | Resultat |
| --- | --- |
| `Date( 35648 )` | Returnerar `97-08-06` när inställningen för `DateFormat` är `YY-MM-DD`. |
| `Date( 35648, 'YY.MM.DD' )` | Returnerar `97.08.06` när inställningen för `DateFormat` är `YY-MM-DD`. |
| `Date( '8/6/97', 'YY.MM.DD' )` | Returnerar `NULL` när inställningen för `DateFormat` är `YY-MM-DD`. |

## Exempel – grunderna i datum

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

#### Diagramuttryck

Översikt

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

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `RowNo`
  * `InputDate`

* Variabeln `DateFormat`, som använder formatet `YY-MM-DD`.

Laddningsskript

```
SET DateFormat='YY-MM-DD';
Example:
Load * inline [
RowNo, InputDate
1, 35648
2, 35648.375
3, 8/6/97
];
```

Resultat

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

* ` RowNo
                                       `

* `InputDate`

Skapa följande mått:

* `=Date(InputDate)`, för att visa värdet som ett datum som formateras med hjälp av inställningarna för variabeln `DateFormat`.

* `=Date(InputDate, 'DD.MM.YYYY')`om du vill visa värdet som ett datum som är formaterat med det format som anges i funktionen.

* `=Date(InputDate, 'YY.MM.DD')`om du vill visa värdet som ett datum som är formaterat med det format som anges i funktionen.

* `=Num(InputDate)`, för att returnera det numeriska värdet för det första tecknet.

Results table

| RowNo | InputDate | Date(InputDate) | Date(InputDate, 'DD.MM.YYYY') | Date(InputDate, 'YY.MM.DD') | Num(InputDate) |
| --- | --- | --- | --- | --- | --- |
| 1 | 35648 | 97-08-06 | 06.08.1997 | 97.08.06 | 35648 |
| 2 | 35648.375 | 97-08-06 | 06.08.1997 | 97.08.06 | 35648.375 |
| 3 | 8/6/97 | - | - | - | - |

Resultaten visar hur funktionen `Date` kan användas för att visa och formatera datum. I det här exemplet anges `DateFormat` som `YY-MM-DD` i laddningsskriptet. Systemet förväntar sig att uttrycket för datumet ska använda detta format. Du kan se att värdet för `InputDate` i rad 3 (`8/6/97`) inte följer detta format, därför känner systemet inte igen det som ett datum och returnerar `NULL`.

Ändra inställningen `DateFormat` i laddningsskriptet till `SET DateFormat='M/D/YY';` och ladda om data. Värdet på rad 3 kommer nu att överensstämma med det förväntade formatet. Systemet känner igen det som ett giltigt datum och formaterar det i enlighet med detta. Följande tabell visar resultaten med den nya inställningen `DateFormat`.

Results table with variable statement `Set DateFormat='M/D/YY'`Set DateFormat='M/D/YY'

| RowNo | InputDate | Date(InputDate) | Date(InputDate, 'DD.MM.YYYY') | Date(InputDate, 'YY.MM.DD') | Num(InputDate) |
| --- | --- | --- | --- | --- | --- |
| 1 | 35648 | 97-08-06 | 06.08.1997 | 97.08.06 | 35648 |
| 2 | 35648.375 | 97-08-06 | 06.08.1997 | 97.08.06 | 35648.375 |
| 3 | 35648 | 97-08-06 | 06.08.1997 | 97.08.06 | 35648.375 |

## Exempel – Datumscenario

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

#### Diagramuttryck

Översikt

En datauppsättning innehåller försäljningsdata som använder datumformatet `MM-DD-YYYY`. Du vill använda datumformatet `DD/MM/YYYY`.

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

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `Customer`
  * `SalesDate`
  * `Amount`

* Variabeln `DateFormat`, som använder formatet `MM/DD/YYYY`.

Laddningsskript

```
SET DateFormat='MM/DD/YYYY';
Example:
Load * inline [
Customer, SalesDate, Amount
Customer A, 2/15/2024, 100008
Customer B, 9/30/2024, 12500
Customer C, 12/28/2024, 15000
];
```

Resultat

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

* ` Customer
                                       `

Skapa följande mått:

* `=Date(SalesDate ,'DD/MM/YYYY')` om du vill visa värdet som ett datum som är formaterat med det format som anges i funktionen.

* `=Sum(Amount)`, för att beräkna det totala värdet av kostnaden för sålda varor.

Results table

| Customer | Date(SalesDate ,'DD/MM/YYYY') | Sum(Amount) |
| --- | --- | --- |
| Customer A | 15/02/2024 | 100008 |
| Customer B | 30/09/2024 | 12500 |
| Customer C | 28/12/2024 | 15000 |

När du tittar på resultaten kan du se att även om datumen i datauppsättningen hade ett visst format, kan du med funktionen `Date` presentera datumen i ett annat format.