# Date# – Skript- och diagramfunktion

Date# utvärderar ett uttryck som ett datum i det format som har angetts i det andra argumentet, om så är tillämpligt.

Syntax:

Date#(text[, format])

Returnerad datatyp: dual

Argument

| Argument | Beskrivning |
| --- | --- |
| text | Textsträngen som ska utvärderas. |
| format | Sträng som beskriver det format som ska användas för att tolka textsträngen. Om datumformatet utelämnas används det datumformat som är inställt i systemvariablerna i dataladdningsskriptet eller operativsystemet.<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)<br><br>[Beskrivningar för tal- och tidsformat](https://help.qlik.com/sv-SE/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Introduction/conventions-number-time-formats.htm) |

Exempel: diagramuttryck

| Exempel | Resultat |
| --- | --- |
| ` Date#('8/7/97')  ` | Returnerar ett giltigt datum för `8/7/97` när `DateFormat`-inställningen är `M/D/YY.` |
| `Date#('21.10.2023', 'DD.MM.YYYY' )` | Returnerar ett giltigt datum för `21.10.2023` när datuminställningen är `DD.MM.YYYY`. |
| `Date#('21.10.2023')` | Returnerar `NULL` när inställningen för `DateFormat` är `M/D/YY`. |

## Exempel – grunderna i datum\#

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

#### Laddningsskript

Ö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 en datatabell:

  * `StringDate`

* Variabeln `DateFormat`, som använder formatet `M/D/YY`.

* En föregående last som skapar ett nytt fält som heter `Date`. Funktionerna `Date#` och `Num` används för att konvertera strängen till ett datum och sedan returnera värdet som ett tal.

Laddningsskript

```
SET DateFormat='M/D/YY';
Example:
Load *,
Num(Date#(StringDate, 'D/M/YYYY')) as Date
;
LOAD * INLINE [
StringDate
13/12/2024
31/1/23
];
```

Resultat

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

* ` StringDate
                                       `

* `Date`

Skapa följande mått:

* `=Date(Date)` för att visa värdet som ett datum som är formaterat med den datumformatsvariabel som anges i laddningsskriptet.

* `=IsNum(StringDate)`, för att kontrollera att värdet är en sträng och inte utvärderas som ett datum eftersom datumformatet för fältvärdena inte stämmer överens med systeminställningen.

Results table

| StringDate | Date | Date(Date) | IsNum(StringDate) |
| --- | --- | --- | --- |
| 13/12/2024 | 45639 | 12/13/24 | 0 |
| 31/1/23 | 44957 | 1/31/23 | 0 |

Resultatet visar att fältet `Date` i kolumn 2, som skapades av den föregående laddningen, har konverterat `StringDate`-värdena till ett datum som uttrycks som ett tal. Formatfunktionen `Date` i kolumn 3 känner igen `Date`-värdena som datum och formaterar dem enligt variabeln `DateFormat` i laddningsskriptet.

## Exempel – Datum#-scenario

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

#### Laddningsskript

Ö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:

  * `Customer`
  * `BirthDate`

* En föregående last som skapar ett nytt fält som heter `ParsedBirthDate`.

Laddningsskript

```
Example:
Load *,
Date#(BirthDate, 'MM.DD.YYYY') as ParsedBirthDate;
Load * inline [
Customer, BirthDate
Customer A, 08.25.2022
Customer B, 08.25.2022
Customer C, 08.25.2022
];
```

Resultat

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

* ` Customer
                                       `

* `BirthDate`

* `ParsedBirthDate`

Skapa följande mått:

* `=Date(ParsedBirthDate,'DD/MM/YYYY')` för att visa värdet som ett formaterat datum.

Results table

| Customer | BirthDate | ParsedBirthDate | Date(ParsedBirthDate, 'DD/MM/YYYY') |
| --- | --- | --- | --- |
| Customer A | 08.25.2022 | 08.25.2022 | 25/08/2022 |
| Customer B | 06.29.2022 | 06.29.2022 | 29/06/2022 |
| Customer C | 05.31.2022 | 05.31.2022 | 31/05/2022 |

I det här exemplet kan vi se att i kolumn 2 behandlas fältet `BirthDate` som text av systemet. Funktionen `Date#` som användes i föregående laddning konverterar `BirthDate` till ett igenkännbart datum i kolumn 3, `ParsedBirthDate`. Formatfunktionen `Date` i kolumn 4 kan sedan visa `ParsedBirthDate`--värdena i formatet `DD/MM/YYYY`.