Ta funkcja zwraca datę obliczoną na podstawie parametrów rok YYYY, miesiąc MM i dzień DD.
Składnia:
MakeDate(YYYY [ , MM [ , DD ] ])
Typ zwracanych danych: dual
Argumenty
Argument
Opis
YYYY
Rok jest liczbą całkowitą.
MM
Miesiąc jest liczbą całkowitą. Jeśli nie zostanie podany miesiąc, przyjmowana jest wartość 1 (styczeń).
DD
Dzień jest liczbą całkowitą. Jeśli nie zostanie podany dzień, przyjmowana jest wartość 1 (pierwszy).
Kiedy używać
Funkcja makedate() znajduje zastosowanie do generowania kalendarzy w skryptach do generowania danych. Ponadto można jej użyć, gdy pole daty nie jest bezpośrednio dostępne jako data, ale potrzebuje pewnych transformacji, aby pobrać rok, miesiąc i dzień.
W tych przykładach używany jest format daty MM/DD/YYYY. Format daty jest określony w instrukcji SET DateFormat u góry skryptu ładowania danych. Format zastosowany w przykładach można zmienić, aby dostosować go do konkretnych potrzeb.
Przykłady funkcji
Przykład
Wynik
makedate(2012)
Zwraca wartość 01/01/2012.
makedate(12)
Zwraca wartość 01/01/2012.
makedate(2012,12)
Zwraca wartość 12/01/2012.
makedate(2012,2,14)
Zwraca wartość 02/14/2012.
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 — Przykład podstawowy
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Zestaw danych zawierający zestaw transakcji za rok 2018, który jest ładowany do tabeli o nazwie „Transactions”.
Pole danych w formacie zmiennej systemowej DateFormat (MM/DD/YYYY).
Utworzenie pola transaction_date, które zwraca datę w formacie MM/DD/RRRR.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
transaction_year
transaction_month
transaction_day
transaction_date
Tabela wynikowa
transaction_year
transaction_month
transaction_day
transaction_date
2018
08
30
08/30/2018
2018
09
07
09/07/2018
2018
09
16
09/16/2018
2018
09
22
09/22/2018
2018
09
23
09/23/2018
Pole transaction_date jest tworzone w poprzedzającej instrukcji LOAD przez użycie funkcji makedate() i przekazanie jej jako argumentów roku, miesiąca oraz dnia.
Następnie funkcja ta łączy i konwertuje te wartości na pole daty oraz zwraca wynik w formacie zmiennej systemowej DateFormat.
Przykład 2 – zmodyfikowana zmienna systemowa DateFormat
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Ten sam zestaw danych i scenariusz co w pierwszym przykładzie.
Utworzenie pola transaction_date w formacie DD/MM/RRRR bez modyfikacji zmiennej systemowej DateFormat.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
transaction_year
transaction_month
transaction_day
transaction_date
Tabela wynikowa
transaction_year
transaction_month
transaction_day
transaction_date
2018
08
30
30/08/2018
2018
09
07
07/09/2018
2018
09
16
16/09/2018
2018
09
22
22/09/2018
2018
09
23
23/09/2018
W tym przypadku funkcja makedate() jest zagnieżdżona w funkcji date(). Drugi argument funkcji date() ustawia format wyników funkcji makedate() na wymagany DD/MM/RRRR.
Przykład 3 — przykład z obiektem wykresu
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Zestaw danych zawierający zestaw transakcji za rok 2018, który jest ładowany do tabeli o nazwie „Transactions”.
Daty transakcji przekazane w dwóch polach: year i month.
Utwórz miarę obiektu wykresu, transaction_date, która zwraca datę w formacie MM/DD/RRRR.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
year
month
Aby obliczyć transaction_date, utwórz następującą miarę:
=makedate(transaction_year,transaction_month)
Tabela wynikowa
transaction_year
transaction_month
transaction_date
2018
08
08/01/2018
2018
09
09/01/2018
Miara transaction_date jest tworzona w obiekcie wykresu za pomocą funkcji makedate(), której jako argumenty przekazano pola roku i miesiąca.
Następnie funkcja ta łączy te wartości, jak również zakładaną wartość dnia 01. Następnie te wartości zostają przekonwertowane na pole daty oraz zostaje zwrócony wynik w formacie zmiennej systemowej DateFormat.
Przykład 4 — Scenariusz
Przegląd
Utwórz zestaw danych kalendarza dla roku kalendarzowego 2022.
Skrypt ładowania
SET DateFormat='MM/DD/YYYY';
Calendar:
load
*
where year(date)=2022;
load
date(recno()+makedate(2021,12,31)) as date
AutoGenerate 400;
Wyniki
Tabela wynikowa
date
01/01/2022
01/02/2022
01/03/2022
01/04/2022
01/05/2022
01/06/2022
01/07/2022
01/08/2022
01/09/2022
01/10/2022
01/11/2022
01/12/2022
01/13/2022
01/14/2022
01/15/2022
01/16/2022
01/17/2022
01/18/2022
01/19/2022
01/20/2022
01/21/2022
01/22/2022
01/23/2022
01/24/2022
01/25/2022
Jeszcze 340 wierszy
Funkcja makedate() tworzy wartość daty 31 grudnia 2021 r. Funkcja recno() dostarcza numer bieżącego rekordu, który jest obecnie ładowany do tabeli (numeracja zaczyna się od 1). W efekcie pierwszy rekord ma datę 1 stycznia 2022 r. Każde kolejne wywołanie funkcji recno() będzie zwiększać tę datę o 1. To wyrażenie znajduje się w funkcji date(), która konwertuje wartość na datę. Ten proces zostaje wykonany 400 razy przez funkcję autogenerate. Na koniec, wykorzystując poprzednią instrukcję LOAD, można użyć warunku where, aby załadować tylko daty z roku 2022. Ten skrypt generuje kalendarz zawierający każdą datę z 2022 roku.
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ć!