Funkcja inday() używa argumentu base_timestamp do określenia, w którym dniu przypada znacznik czasu. Godzina rozpoczęcia dnia to domyślnie północ, ale możesz zmienić godzinę rozpoczęcia dnia, używając argumentu day_start funkcji inday(). Po zdefiniowaniu tego dnia funkcja będzie zwracać wyniki logiczne podczas porównywania określonych wartości znaczników czasu z tym dniem.
Kiedy używać
Funkcja inday() zwraca wynik logiczny. Zazwyczaj ten typ funkcji będzie używany jako warunek w if expression. Zwraca to agregację lub obliczenia zależnie od tego, czy oceniana data nastąpiła w dniu danego znacznika czasu.
Na przykład funkcja inday() może służyć do identyfikacji całego sprzętu wyprodukowanego w danym dniu.
Typ zwracanych danych: Wartość logiczna
W Qlik Sense wartość logiczna Prawda jest reprezentowana przez -1, a wartość Fałsz jest reprezentowana przez 0.
Argumenty
Argument
Opis
timestamp
Data i godzina, która ma być porównana z wartością base_timestamp.
base_timestamp
Data i godzina używane do oceny znacznika czasu.
period_no
Dzień może zostać przesunięty o wartość period_no. period_no jest liczbą całkowitą, gdzie 0 oznacza dzień zawierający wartość base_timestamp. Wartości ujemne parametru period_no oznaczają dni poprzednie, a wartości dodatnie — dni następne.
day_start
Jeśli wymagane jest korzystanie z dni, które nie zaczynają się o północy, należy wskazać przesunięcie w postaci ułamka dnia w parametrze day_start, np. 0,125 będzie oznaczać godzinę trzecią rano.
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.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
in_day
Tabela wynikowa
data
in_day
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
0
01/04/2022 6:49:38 PM
0
01/04/2022 10:58:34 PM
0
01/05/2022 5:40:49 AM
-1
01/05/2022 11:29:38 AM
-1
01/05/2022 7:04:57 PM
-1
01/06/2022 8:49:09 AM
0
Pole in_day zostało utworzone w instrukcji ładowania poprzedzającego za pomocą funkcji inday(), której jako argumenty przekazano pole daty, wpisany w kod znacznik czasu oznaczający 5 stycznia i period_no o wartości 0.
Przykład 2 – period_no
Przegląd
Skrypt ładowania wykorzystuje ten sam zestaw danych i scenariusz, które były używane w pierwszym przykładzie.
Jednak w tym przykładzie chodzi o obliczenie, czy data transakcji wypada dwa dni przed 5 stycznia.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
in_day
Tabela wynikowa
data
in_day
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
-1
01/04/2022 6:49:38 PM
0
01/04/2022 10:58:34 PM
0
01/05/2022 5:40:49 AM
0
01/05/2022 11:29:38 AM
0
01/05/2022 7:04:57 PM
0
01/06/2022 8:49:09 AM
0
W tym przypadku, w którym funkcji inday() przekazano argument przesunięcia period_no o wartości -2, funkcja ta sprawdza, czy każda transakcja miała miejsce 3 stycznia. Można to zweryfikować w tabeli wyników, w której jedna transakcja zwraca wartość logiczną PRAWDA.
Przykład 3 – day_start
Przegląd
Skrypt ładowania wykorzystuje ten sam zbiór danych i scenariusz, które były używane w poprzednich przykładach.
Jednak w tym przykładzie zgodnie z polityką firmy dzień roboczy zaczyna i kończy się o godzinie 7:00.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
in_day
Tabela wynikowa
data
in_day
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
0
01/04/2022 6:49:38 PM
-1
01/04/2022 10:58:34 PM
-1
01/05/2022 5:40:49 AM
-1
01/05/2022 11:29:38 AM
0
01/05/2022 7:04:57 PM
0
01/06/2022 8:49:09 AM
0
Ponieważ funkcji inday() przekazano argument start_day o wartości 7/24, oznaczającej godzinę 7:00, funkcja ta sprawdza, czy każda transakcja miała miejsce między godziną 7:00 4 stycznia a godziną 7:00 5 stycznia.
Można to zweryfikować w tabeli wynikowej, w której transakcje po godzinie 7:00 4 stycznia zwracają wartość logiczną PRAWDA, natomiast transakcje, które miały miejsce po godzinie 7:00 5 stycznia zwracają wartość logiczną FAŁSZ.
Przykład 4 – obiekt wykresu
Przegląd
Skrypt ładowania wykorzystuje ten sam zbiór danych i scenariusz, które były używane w poprzednich przykładach.
Jednak w tym przykładzie zbiór danych pozostaje bez zmian i jest ładowany do aplikacji. Będą wykonywane obliczenia mające na celu stwierdzenie, czy transakcja ma miejsce 5 stycznia, przez utworzenie miary w obiekcie wykresu.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:
date
Aby obliczyć, czy transakcja ma miejsce 5 stycznia, utwórz następującą miarę:
=inday(date,'01/05/2022 12:00:00 AM',0)
Tabela wynikowa
data
inday(date,'01/05/2022 12:00:00 AM',0)
01/01/2022 7:34:46 PM
0
01/01/2022 10:10:22 PM
0
01/02/2022 8:35:54 AM
0
01/03/2022 2:21:53 PM
0
01/04/2022 6:49:38 PM
0
01/04/2022 10:58:34 PM
0
01/05/2022 5:40:49 AM
-1
01/05/2022 11:29:38 AM
-1
01/05/2022 7:04:57 PM
-1
01/06/2022 8:49:09 AM
0
Przykład 5 — scenariusz
Przegląd
W tym przykładzie stwierdzono, że z powodu błędu sprzętowego produkty wytworzone 5 stycznia były wadliwe. Użytkownik końcowy chciałby, aby obiekt wykresu wyświetlał według dat status produktów: „defective” (wadliwe) lub „faultless” (bez wad) oraz koszt produktów wytworzonych 5 stycznia.
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Funkcja inday() zwraca wartość logiczną podczas oceny dat wytworzenia każdego z produktów. W przypadku każdego produktu wyprodukowanego 5 stycznia funkcja inday() zwraca wartość logiczną PRAWDA i oznacza produkty jako „Defective” (Wadliwe). W przypadku każdego produktu zwracającego wartość FALSE, a zatem niewyprodukowanego w tym dniu, oznacza ona produkty jako „Faultless” (Bez wad).
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ć!