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.
Domyślne ustawienia regionalne w aplikacjach są oparte na regionalnych ustawieniach systemu komputera lub serwera, na którym zainstalowano Qlik Sense. Jeśli serwer Qlik Sense, do którego uzyskujesz dostęp, jest ustawiony na Szwecję, Edytor ładowania danych użyje szwedzkich ustawień regionalnych dla dat, godziny i waluty. Te ustawienia regionalne nie są związane z językiem wyświetlanym w interfejsie użytkownika Qlik Sense. Interfejs Qlik Sense będzie wyświetlany w tym samym języku co używana przeglądarka.
Przykład 1 – Domyślne zmienne systemowe
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Zbiór 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 pole date. 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 będzie używać formatu „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 „Tags” 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ć!