Ta zmienna środowiskowa definiuje format daty używany jako domyślny w aplikacji przez funkcje zwracające datę, takie jak date() i date#(). Format ten służy do interpretacji i formatowania dat. Jeśli zmienna nie jest zdefiniowana, po uruchomieniu skryptu zostanie pobrany format daty ustawień regionalnych.
Składnia:
DateFormat
Przykłady funkcji DateFormat
Przykład
Wynik
Set DateFormat='M/D/YY'; //(US format)
To użycie funkcji DateFormat definiuje datę w formacie amerykańskim, miesiąc/dzień/rok.
Set DateFormat='DD/MM/YY'; //(UK date format)
To użycie funkcji DateFormat definiuje datę w formacie brytyjskim, dzień/miesiąc/rok.
Set DateFormat='YYYY/MM/DD'; //(ISO date format)
To użycie funkcji DateFormat definiuje datę w formacie ISO, rok/miesiąc/dzień.
Ustawienia regionalne
Jeżeli nie podano inaczej, w przykładach w tym temacie stosowany jest następujący format daty: MM/DD/RRRR. Format daty jest określony w instrukcji SET DateFormat w skrypcie ładowania danych. Domyślny format daty w Twoim systemie może być inny ze względu na ustawienia regionalne i inne czynniki. Formaty zastosowane w przykładach można zmienić, aby dostosować je do własnych wymagań. Zamiast tego można też zmienić formaty w skrypcie ładowania, aby pasowały do tych przykładów. Więcej informacji można znaleźć w temacie Modyfikowanie ustawień regionalnych na potrzeby aplikacji i skryptów.
Domyślne ustawienia regionalne w aplikacjach są oparte na profilu użytkownika. Te ustawienia regionalne nie są związane z językiem wyświetlanym w interfejsie użytkownika Qlik Cloud. Interfejs Qlik Cloud będzie wyświetlany w tym samym języku co używana przeglądarka.
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Zestaw danych dat.
Funkcja DateFormat, która będzie używać amerykańskiego formatu daty.
W tym przykładzie zestaw danych jest ładowany do tabeli o nazwie „Transactions”. Zawiera ona poledate. Zastosowano definicję amerykańską DateFormat. Ten wzorzec będzie używany do niejawnej konwersji tekstu na datę po załadowaniu dat w formacie tekstowym.
Skrypt ładowania
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
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
month
Utwórz tę miarę:
=sum(amount)
Tabela wynikowa
date
miesiąc
=sum(amount)
01/01/2022
Jan
1000
02/01/2022
Feb
2123
03/01/2022
Mar
4124
04/01/2022
Apr
2431
Do niejawnej konwersji tekstu na daty jest używana definicja DateFormat MM/DD/RRRR, dlatego pole date jest prawidłowo interpretowane jako data. Jak pokazano w tabeli wyników, ten sam format jest używany do wyświetlania daty.
Przykład 2 — Zmiana zmiennej systemowej
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Ten sam zbiór danych, co w poprzednim przykładzie.
Funkcja DateFormat, która pobiera dane w formacie „DD/MM/RRRR”.
Skrypt ładowania
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
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
month
Utwórz tę miarę:
=sum(amount)
Tabela wynikowa
date
miesiąc
=sum(amount)
01/01/2022
Jan
1000
02/01/2022
Jan
2123
03/01/2022
Jan
4124
04/01/2022
Jan
2431
Ponieważ definicja DateFormat została ustawiona na „DD/MM/RRRR”, dwie pierwsze cyfry za pierwszym znakiem „/” zostały zinterpretowane jako numer miesiąca i w efekcie wszystkie rekordy są z miesiąca stycznia.
Przykład 3 — Interpretacja daty
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Zbiór danych z datami w formacie numerycznym.
Zmienna DateFormat, która używa danych w formacie „DD/MM/RRRR”.
Zmienna date().
Skrypt ładowania
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
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
month
Utwórz tę miarę:
=sum(amount)
Tabela wynikowa
date
miesiąc
=sum(amount)
06/03/2022
Jun
1000
06/04/2022
Jun
2123
06/05/2022
Jun
4124
06/07/2022
Jun
2431
W skrypcie ładowania użyj funkcji date(), aby przekonwertować datę numeryczną na format daty. Ponieważ nie określono formatu w drugim argumencie funkcji, używa się DateFormat. W wyniku tego pole daty używa formatu „MM/DD/RRRR”.
Przykład 4 — Formatowanie obcych dat
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Zbiór danych dat.
Zmienna DateFormat, która używa formatu „DD/MM/RRRR”, ale nie jest wykomentowana przy użyciu ukośników.
Skrypt ładowania
// 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
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
month
Utwórz tę miarę:
=sum(amount)
Tabela wynikowa
date
miesiąc
=sum(amount)
22-05-2022
-
1000
23-05-2022
-
2123
24-05-2022
-
4124
25-05-2022
-
2431
W pierwszym skrypcie ładowania używany DateFormat to domyślny „MM/DD/RRRR”. Ponieważ pole date w zestawie danych transakcji jest w innym formacie, pole nie jest interpretowane jako data. Widać to w tabeli wyników, w której wartości pola month są null.
Interpretowane typy danych można zweryfikować w Przeglądarce modelu danych we właściwościach „Znaczniki” pola date:
Można to rozwiązać, włączając zmienną systemową DateFormat:
// SET DateFormat='DD/MM/YYYY';
Usuń podwójne ukośniki i ponownie załaduj dane.
Czy ta strona była pomocna?
Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!