Ta funkcja zwraca znacznik bieżącego czasu. Funkcja zwraca wartości w formacie zmiennej systemowej TimeStamp. Wartością domyślną timer_mode jest 1.
Składnia:
now([
timer_mode])
Typ zwracanych danych: dual
Funkcji now() można użyć w skrypcie ładowania lub w obiektach wykresów.
Argumenty
Argument
Opis
timer_mode
Może przyjmować następujące wartości:
0 (czas ostatnio zakończonego ładowania danych) 1 (czas w momencie wywołania funkcji) 2 (czas w momencie otwarcia aplikacji)
InformacjaW przypadku użycia funkcji w skrypcie ładowania danych parametr timer_mode=0 da wynik będący czasem ostatnio zakończonego ładowania danych, z kolei parametr timer_mode=1 zwróci czas wywołania funkcji w bieżącym ładowaniu danych.
WskazówkaFunkcja now() ma wpływ na wysoką wydajność, co może powodować problemy z przewijaniem, jeśli jest używana w wyrażeniach tabel. Zawsze, gdy jej użycie nie jest bezwzględnie konieczne, zalecamy używanie zamiast niej funkcji today(). Jeżeli użycie funkcji now() jest wymagane w układzie, zalecamy użycie innych niż domyślne ustawień now(0)lub now(2), jeśli to możliwe, ponieważ nie wymagają one ciągłych ponownych obliczeń
Kiedy używać
Funkcja now() jest używana jako element wyrażenia. Za jej pomocą można na przykład obliczyć pozostały czas cyklu życia produktu. Gdyby wyrażenie wymagało użycia ułamka dnia, zamiast funkcji today() użyto by funkcji now().
Poniższa tabela zawiera objaśnienie wyniku zwracanego przez funkcję now() dla różnych wartości argumentu timer_mode:
Przykłady funkcji
timer_mode value
Wynik w przypadku użycia w skrypcie ładowania
Wynik w przypadku użycia w obiekcie wykresu
0
Zwraca znacznik czasu, w formacie zmiennej systemowej TimeStamp, ostatniego udanego przeładowania danych przed ostatnim załadowaniem danych.
Zwraca znacznik czasu, w formacie zmiennej systemowej TimeStamp, ostatniego przeładowania danych.
1
Zwraca znacznik czasu, w formacie zmiennej systemowej TimeStamp, ostatniego przeładowania danych.
Zwraca znacznik czasu, w formacie zmiennej systemowej TimeStamp, wywołania funkcji.
2
Zwraca znacznik czasu, w formacie zmiennej systemowej TimeStamp, początku sesji użytkownika w aplikacji. Zostanie on zaktualizowany dopiero po ponownym załadowaniu skryptu przez użytkownika.
Zwraca znacznik czasu, w formacie zmiennej systemowej TimeStamp, początku sesji użytkownika w aplikacji. Będzie on odświeżany na początku sesji lub po ponownym załadowaniu danych do aplikacji.
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 – generowanie obiektów przy użyciu skryptu ładowania
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Ten przykład tworzy trzy zmienne za pomocą funkcji now(). Każda zmienna używa jednej z opcji timer_mode w celu zademonstrowania tego efektu.
Aby zademonstrować przeznaczenie zmiennych, przeładuj skrypt, a następnie, po krótkim czasie, przeładuj go po raz drugi. Spowoduje to, że zmienne now(0) i now(1) będą miały różne wartości, co będzie stanowiło właściwą demonstrację ich przeznaczenia.
Skrypt ładowania
LET vPreviousDataLoad = now(0);
LET vCurrentDataLoad = now(1);
LET vApplicationOpened = now(2);
Wyniki
Gdy dane zostaną załadowane po raz drugi, utwórz trzy pola tekstowe, korzystając z poniższych wskazówek.
Najpierw utwórz pole tekstowe dla danych, które zostały wcześniej załadowane.
Wykonaj następujące czynności:
Używając obiektu wykresu Tekst i grafika, utwórz pole tekstowe.
Dodaj następującą miarę do obiektu:
=vPreviousDataLoad
W sekcji Wygląd wybierz Show titles i dodaj do obiektu tytuł „Previous Reload Time”.
Następnie utwórz pole tekstowe dla danych, które są aktualnie ładowane.
Wykonaj następujące czynności:
Używając obiektu wykresu Tekst i grafika, utwórz pole tekstowe.
Dodaj następującą miarę do obiektu:
=vCurrentDataLoad
W sekcji Wygląd wybierz Show titles i dodaj do obiektu tytuł „Current Reload Time”.
Utwórz ostatnie pole tekstowe, aby pokazać, kiedy sesja użytkownika w aplikacji została rozpoczęta.
Wykonaj następujące czynności:
Używając obiektu wykresu Tekst i grafika, utwórz pole tekstowe.
Dodaj następującą miarę do obiektu:
=vApplicationOpened
W sekcji Wygląd wybierz Show titles i dodaj do obiektu tytuł „User Session Started”.
Powyższy obraz pokazuje przykładowe wartości dla każdej z utworzonych zmiennych. Na przykład, te wartości mogą być następujące:
Czas poprzedniego przeładowania: 22.06.2022 r., godz. 8:54:03
Czas bieżącego przeładowania: 22.06.2022 r., godz. 9:02:08
Początek sesji użytkownika: 22.06.2022 r., godz. 8:40:40
Przykład 2 – generowanie obiektów bez skryptu ładowania
Przegląd
W tym przykładzie utworzymy trzy obiekty wykresu za pomocą funkcji now(), bez ładowania jakichkolwiek zmiennych lub danych do aplikacji. Każdy obiekt wykresu używa jednej z opcji timer_mode w celu zademonstrowania tego efektu.
W tym przykładzie nie ma skryptu ładowania.
Wykonaj następujące czynności:
Otwórz edytor ładowania danych.
Kliknij pozycję Załaduj dane, nie zmieniając istniejącego skryptu ładowania.
Po krótkim czasie załaduj skrypt drugi raz.
Wyniki
Po załadowaniu danych drugi raz utwórz trzy pola tekstowe.
Najpierw utwórz pole tekstowe dla ostatniego przeładowania danych.
Wykonaj następujące czynności:
Używając obiektu wykresu Tekst i grafika, utwórz pole tekstowe.
Dodaj następującą miarę:
=now(0)
W sekcji Wygląd wybierz Pokaż tytuły i dodaj do obiektu tytuł „Latest Data Reload”.
Następnie utwórz pole tekstowe, aby pokazać bieżący czas.
Wykonaj następujące czynności:
Używając obiektu wykresu Tekst i grafika, utwórz pole tekstowe.
Dodaj następującą miarę:
=now(1)
W sekcji Wygląd wybierz Pokaż tytuły i dodaj do obiektu tytuł „Current Time”.
Utwórz ostatnie pole tekstowe, aby pokazać, kiedy sesja użytkownika w aplikacji została rozpoczęta.
Wykonaj następujące czynności:
Używając obiektu wykresu Tekst i grafika, utwórz pole tekstowe.
Dodaj następującą miarę:
=now(2)
W sekcji Wygląd wybierz Pokaż tytuły i dodaj do obiektu tytuł „User Session Began”.
Powyższy obraz pokazuje przykładowe wartości dla każdego z utworzonych obiektów. Na przykład, te wartości mogą być następujące:
Ostatnie przeładowanie danych: 22.06.2022 r., godz. 9:02:08
Bieżący czas: 22.06.2022 r., godz. 9:25:16
Początek sesji użytkownika: 22.06.2022 r., godz. 8:40:40
Obiekt wykresu „Ostatnie przeładowanie danych” używa argumentu timer_mode o wartości 0. Powoduje to zwrócenie znacznika czasu ostatniego udanego przeładowania danych.
Obiekt wykresu „Bieżący czas” używa argumentu timer_mode o wartości 1. Powoduje to zwrócenie bieżącego czasu według zegara systemowego. Jeśli arkusz lub obiekt zostanie odświeżony, ta wartość zostanie zaktualizowana.
Obiekt wykresu „Początek sesji użytkownika” używa argumentu timer_mode o wartości 2. Powoduje to zwrócenie znacznika czasu otwarcia aplikacji i rozpoczęcia sesji użytkownika.
Przykład 3 — Scenariusz
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Zestaw danych zawierający magazyn operacji kopania kryptowalut, który jest załadowany do tabeli o nazwie Inventory.
Dane z następującymi polami: id, purchase_date i wph (waty na godzinę).
Użytkownik chciałby otrzymać tabelę pokazującą, według id, sumę kosztów wygenerowanych przez każdy sprzęt wydobywczy w ciągu miesiąca do tej pory, wyrażoną według zużycia energii.
Ta wartość powinna być aktualizowana po każdym odświeżeniu obiektu wykresu. Obecnie cena energii elektrycznej wynosi 0,0678 dolara za kWh.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar: id.
Utwórz następującą miarę:
=(now(1)-monthstart(now(1)))*24*wph/1000*0.0678
Gdyby obiekt wykresu odświeżono 22.06.2022 o godz. 10:39:05, zwróciłby następujący wynik:
Tabela wynikowa
id
=(now(1)-monthstart(now(1)))*24*wph/1000*0.0678
8188
$39.18
8189
$49.97
8190
$42.81
8191
$46.13
8192
$44.42
8193
$39.18
8194
$46.83
8195
$81.72
8196
$42.95
8197
$42.95
8198
$39.18
8199
$42.29
8200
$42.67
8201
$42.99
8202
$42.99
8203
$42.25
8204
$43.37
8205
$46.13
8206
$39.53
Użytkownik chciałby, aby wyniki obiektu były odświeżane po każdym odświeżeniu tego obiektu. Dlatego przekazano argument timer_mode dla egzemplarzy funkcji now() w wyrażeniu. Znacznik czasu początku miesiąca, zidentyfikowany przez użycie funkcji now() jako argumentu znacznika czasu funkcji monthstart(), zostaje odjęty od bieżącego czasu, który jest identyfikowany przez funkcję now(). W wyniku otrzymujemy sumę czasu w dniach, jaki upłynął do tej pory od początku miesiąca.
Ta wartość zostaje pomnożona przez 24 (liczba godzin w dobie), a następnie przez wartość obecną w polu wph.
Aby zamienić waty na godzinę na kilowaty na godzinę, wynik zostaje podzielony przez tysiąc przed wykonaniem mnożenia przez cenę jednej kilowatogodziny.
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ć!