Ta funkcja zwraca godzinę obliczoną na podstawie parametrów godzina hh, minuta mm i sekunda ss.
Składnia:
MakeTime(hh [ , mm [ , ss ] ])
Typ zwracanych danych: dual
Argumenty
Argument
Opis
hh
Godzina jest liczbą całkowitą.
mm
Minuta jest liczbą całkowitą.
Jeśli nie zostanie podana minuta, przyjmowana jest wartość 00.
ss
Sekunda jest liczbą całkowitą.
Jeśli nie zostanie podana sekunda, przyjmowana jest wartość 00.
Kiedy używać
Funkcja maketime() znajduje zastosowanie do generowania pól czasu w skryptach do generowania danych. Czasami, gdy pole czasu jest określane na podstawie tekstu wejściowego, tej funkcji można użyć do skonstruowania wartości czasu z jej elementów.
W tych przykładach jest używany format czasu h:mm:ss. Format czasu jest określony w instrukcji SET TimeFormat na początku skryptu ładowania danych. Format zastosowany w przykładach można zmienić, aby dostosować go do konkretnych potrzeb.
Przykłady funkcji
Przykład
Wynik
maketime(22)
Zwraca wartość 22:00:00.
maketime(22, 17)
Zwraca wartość 22:17:00.
maketime(22,17,52 )
Zwraca wartość 22:17:52.
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 – funkcja maketime()
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, który jest ładowany do tabeli o nazwie Transactions.
Czasy transakcji określone przez trzy pola: hours, minutes i seconds.
Utworzenie pola transaction_time, które zwraca czas w formacie zmiennej systemowej TimeFormat.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
transaction_hour
transaction_minute
transaction_second
transaction_time
Tabela wynikowa
transaction_hour
transaction_minute
transaction_second
transaction_time
2
52
22
2:52:22 AM
6
32
07
6:32:07 AM
9
25
23
9:25:23 AM
12
09
16
12:09:16 PM
17
55
22
5:55:22 PM
18
43
30
6:43:30 PM
21
43
41
9:43:41 PM
Pole transaction_time jest tworzone w poprzedzającej instrukcji LOAD przez użycie funkcji maketime() i przekazanie jej jako argumentów godziny, minuty i sekundy.
Następnie funkcja ta łączy i konwertuje te wartości na pole czasu oraz zwraca wynik w formacie czasu zmiennej systemowej TimeFormat.
Przykład 2 – funkcja time()
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_time, które umożliwi nam pokazanie wyników w 24-godzinnym formacie czasu bez modyfikacji zmiennej systemowej TimeFormat.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
transaction_hour
transaction_minute
transaction_second
transaction_time
Tabela wynikowa
transaction_hour
transaction_minute
transaction_second
transaction_time
2
52
22
2:52:22
6
32
07
6:32:07
9
25
23
9:25:23
12
09
16
12:09:16
17
55
22
17:55:22
18
43
30
18:43:30
21
43
41
21:43:41
W tym przypadku funkcja maketime() jest zagnieżdżona w funkcji time(). Drugi argument funkcji time() ustawia format wyników funkcji maketime() na wymagany h:mm:ss.
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, który jest ładowany do tabeli o nazwie Transactions.
Godziny transakcji określone przez dwa pola: hours i minutes.
Utworzenie pola transaction_time, które zwraca czas w formacie zmiennej systemowej TimeFormat.
Utwórz miarę obiektu wykresu, transaction_time, która zwraca godzinę w formacie h:mm:ss TT.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
transaction_hour
transaction_minute
Aby obliczyć transaction_time, należy utworzyć następującą miarę:
=maketime(transaction_hour,transaction_minute)
Tabela wynikowa
transaction_hour
transaction_minute
=maketime(transaction_hour, transaction_minute)
2
52
2:52:00 AM
6
32
6:32:00 AM
9
25
9:25:00 AM
12
09
12:09:00 PM
17
55
5:55:00 PM
18
43
6:43:00 PM
21
43
9:43:00 PM
Miara transaction_time jest tworzona w obiekcie wykresu za pomocą funkcji maketime(), której jako argumenty przekazano pola godziny i minuty.
Następnie funkcja ta łączy te wartości oraz przyjmuje 00 jako liczbę sekund. Następnie te wartości zostają przekonwertowane na pole godziny oraz zostaje zwrócony wynik w formacie zmiennej systemowej TimeFormat.
Przykład 4 — Scenariusz
Przegląd
Utwórz zestaw danych kalendarza dla stycznia 2022 r., podzielony na ośmiogodzinne rosnące bloki.
Skrypt ładowania
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';
tmpCalendar:
load
*
where year(date)=2022;
load
date(recno()+makedate(2021,12,31)) as date
AutoGenerate 31;
Left join(tmpCalendar)
load
maketime((recno()-1)*8,00,00) as time
autogenerate 3;
Calendar:
load
timestamp(date + time) as timestamp
resident tmpCalendar;
drop table tmpCalendar;
Wyniki
Tabela wynikowa
znacznik czasu
1/1/2022 12:00:00 AM
1/1/2022 8:00:00 AM
1/1/2022 4:00:00 PM
1/2/2022 12:00:00 AM
1/2/2022 8:00:00 AM
1/2/2022 4:00:00 PM
1/3/2022 12:00:00 AM
1/3/2022 8:00:00 AM
1/3/2022 4:00:00 PM
1/4/2022 12:00:00 AM
1/4/2022 8:00:00 AM
1/4/2022 4:00:00 PM
1/5/2022 12:00:00 AM
1/5/2022 8:00:00 AM
1/5/2022 4:00:00 PM
1/6/2022 12:00:00 AM
1/6/2022 8:00:00 AM
1/6/2022 4:00:00 PM
1/7/2022 12:00:00 AM
1/7/2022 8:00:00 AM
1/7/2022 4:00:00 PM
1/8/2022 12:00:00 AM
1/8/2022 8:00:00 AM
1/8/2022 4:00:00 PM
1/9/2022 12:00:00 AM
Jeszcze 68 wierszy
Początkowo funkcja autogenerate tworzy kalendarz zawierający wszystkie daty stycznia w tabeli o nazwie tmpCalendar.
Zostaje utworzona druga tabela, zawierająca trzy rekordy. Dla każdego rekordu wykonywane jest działanie recno() – 1 (wartości 0, 1, 2) i wynik jest mnożony przez 8. W efekcie generowane są wartości 0, 8 i 16. Wartości te są używane jako parametr godziny w funkcji maketime(), z wartościami minuty i sekundy wynoszącymi 0. W efekcie tabela zawiera trzy pola godziny: 12:00:00 AM, 8:00:00 AM i 4:00:00 PM.
Ta tabela jest połączona z tabelą tmpCalendar. Ponieważ między tymi dwiema łączonymi tabelami nie ma pasujących pól, wiersze godziny zostają dodane do każdego wiersza daty. W efekcie każdy wiersz daty występuje teraz w trzech egzemplarzach z każdą wartością godziny.
Na koniec zostaje utworzona tabela Calendar z już załadowanej tabeli tmpCalendar. Pola daty i godziny zostają połączone i opakowane w funkcję timestamp() w celu utworzenia pola znacznika czasu.
Następnie tabela tmpCalendar zostaje usunięta.
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ć!