Denna miljövariabel definierar datumformatet som används som standard i appen, och funktioner som returnerar efter datum, t.ex. date() och date#(). Formatet används för att tolka och formatera datum. Om variabeln inte är definierad kommer datumformatet enligt regioninställningarna i operativsystemet att hämtas när skriptet körs.
Syntax:
DateFormat
Exempel på DateFormat-funktion
Exempel
Resultat
Set DateFormat='M/D/YY'; //(US format)
Denna användning av DateFormat-funktionen definierar datumet som US-format, månad/dag/år.
Set DateFormat='DD/MM/YY'; //(UK date format)
Denna användning av DateFormat-funktionen definierar datumet som UK-format, dag/månad/år.
Set DateFormat='YYYY/MM/DD'; //(ISO date format)
Denna användning av DateFormat-funktionen definierar datumet som ISO-format, år/månad/dag.
Lokala inställningar
Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/ÅÅÅÅ. 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 appar och skript.
Regionala standardinställningar i appar 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.
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning med datum.
DateFormat-funktionen som använder US-datumformat.
I det här exemplet laddas en datauppsättning i en tabell som heter Transactions. Den inkluderar ett date-fält. US DateFormat-definitionen används. Detta mönster kommer att användas för implicit text-till-data-konvertering när textdatumen laddas.
Laddningsskript
Set DateFormat='MM/DD/YYYY';
Transactions:
LOAD
date,
month(date) as month,
id,
amount
INLINE
[
date,id,amount
01/01/2022,1,1000
02/01/2022,2,2123
03/01/2022,3,4124
04/01/2022,4,2431
];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
month
Skapa det här måttet:
=sum(amount)
Resultattabell
date
månad
=sum(amount)
01/01/2022
Jan
1000
02/01/2022
Feb
2123
03/01/2022
Mar
4124
04/01/2022
Apr
2431
DateFormat-definitionen MM/DD/ÅÅÅÅ används för implicit konvertering av text till datum, därför är date-fältet korrekt tolkat som ett datum. Samma format används för att visa datumet, som visas i resultattabellen.
Exempel 2 – Byt systemvariabel
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
Samma datauppsättning från det tidigare exemplet.
Funktionen DateFormat som använder formatet ”DD/MM/ÅÅÅÅ”.
Laddningsskript
SET DateFormat='DD/MM/YYYY';
Transactions:
LOAD
date,
month(date) as month,
id,
amount
INLINE
[
date,id,amount
01/01/2022,1,1000
02/01/2022,2,2123
03/01/2022,3,4124
04/01/2022,4,2431
];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
month
Skapa det här måttet:
=sum(amount)
Resultattabell
date
månad
=sum(amount)
01/01/2022
Jan
1000
02/01/2022
Jan
2123
03/01/2022
Jan
4124
04/01/2022
Jan
2431
Eftersom definitionen DateFormat var inställd på DD/MM/ÅÅÅÅ kan du se att de två siffrorna efter den första ”/”-symbolen har tolkats som månaden, vilket resulterar i alla poster från månaden januari.
Exempel 3 – Datatolkning
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning med datum i numeriskt format.
Variabeln DateFormat som använder formatet ”DD/MM/ÅÅÅÅ”.
Variabeln date().
Laddningsskript
SET DateFormat='MM/DD/YYYY';
Transactions:
Load
date(numerical_date),
month(date(numerical_date)) as month,
id,
amount
Inline
[
numerical_date,id,amount
43254,1,1000
43255,2,2123
43256,3,4124
43258,4,2431
];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
month
Skapa det här måttet:
=sum(amount)
Resultattabell
date
månad
=sum(amount)
06/03/2022
Jun
1000
06/04/2022
Jun
2123
06/05/2022
Jun
4124
06/07/2022
Jun
2431
I laddningsskriptet använder du funktionen date() för att konvertera det numeriska datumet till ett datumformat. Eftesom du inte ger ett specificerat format som ett andra argument i funktionen, används formatet DateFormat. Detta resulterar i att datafältet använder formatet ”MM/DD/ÅÅÅÅ”.
Exempel 4 – Utländsk dataumformatering
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning med datum.
DateFormat-variabeln, som använder formatet DD/MM/YYYY men inte är kommenterad med snedstreck framåt.
Laddningsskript
// SET DateFormat='DD/MM/YYYY';
Transactions:
Load
date,
month(date) as month,
id,
amount
Inline
[
date,id,amount
22-05-2022,1,1000
23-05-2022,2,2123
24-05-2022,3,4124
25-05-2022,4,2431
];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
month
Skapa det här måttet:
=sum(amount)
Resultattabell
date
månad
=sum(amount)
22-05-2022
-
1000
23-05-2022
-
2123
24-05-2022
-
4124
25-05-2022
-
2431
I det första laddningsskriptet är det DateFormat som används standarden ”MM/DD/ÅÅÅÅ”. Eftersom date-fältet i transaktionsdatauppsättningen inte är i detta format, tolkas fältet inte som ett datum. Detta visas i resultattabellen där month -fältvärden är null.
Du kan verifiera de tolkade datatyperna i datamodellvyn genom att inspektera date-fältets taggars egenskaper:
Detta kan lösas genom att aktivera systemvariabeln DateFormat:
// SET DateFormat='DD/MM/YYYY';
Ta bort de dubbla snedstrecket och ladda om data.
Var den här sidan till hjälp för dig?
Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!