W Qlik Sense wartość logiczna Prawda jest reprezentowana przez -1, a wartość Fałsz jest reprezentowana przez 0.
Innymi słowy, funkcja inquarter() dzieli rok na cztery równe kwartały między 1 stycznia a 31 grudnia. Za pomocą argumentu first_month_of_year można zmienić pierwszy miesiąc w aplikacji i wówczas kwartały zostaną odpowiednio dostosowane. Argument base_date – funkcja określa, który kwartał powinien zostać użyty jako komparator dla funkcji. Na koniec funkcja zwraca wynik logiczny porównywania wartości dat z tym segmentem kwartału.
Kiedy używać
Funkcja inquarter() zwraca wynik logiczny. Zazwyczaj ten typ funkcji będzie używany jako warunek w if expression. W wyniku zwraca agregację lub obliczenia zależne od tego, czy data wypada w określonym kwartale.
Na przykład za pomocą funkcji inquarter() można zidentyfikować cały sprzęt wyprodukowany w segmencie kwartału na podstawie dat produkcji tego sprzętu.
Argumenty
Argument
Opis
timestamp
Data, która ma być porównana z wartością base_date.
base_date
Data używana do oceny kwartału.
period_no
Kwartał może zostać przesunięty o wartość period_no. period_no jest liczbą całkowitą, gdzie 0 oznacza kwartał zawierający wartość base_date. Wartości ujemne parametru period_no oznaczają kwartały poprzednie, a wartości dodatnie — kwartały następne.
first_month_of_year
Jeśli użytkownik zamierza korzystać z lat (obrotowych), które nie zaczynają się w styczniu, powinien wskazać wartość od 2 do 12 jako parametr first_month_of_year.
Aby ustawić pierwszy miesiąc roku w argumencie first_month_of_year, możesz użyć następujących wartości:
first_month_of_year values
Miesiąc
Wartość
Luty
2
Marzec
3
Kwiecień
4
May
5
Czerwiec
6
Lipiec
7
Sierpień
8
Wrzesień
9
Październik
10
Listopad
11
Grudzień
12
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łady funkcji
Przykład
Wynik
inquarter ('01/25/2013', '01/01/2013', 0)
Zwraca TRUE
inquarter ('01/25/2013', '04/01/2013', 0)
Zwraca FALSE
inquarter ('01/25/2013', '01/01/2013', -1)
Zwraca FALSE
inquarter ('12/25/2012', '01/01/2013', -1)
Zwraca TRUE
inquarter ('01/25/2013', '03/01/2013', 0, 3)
Zwraca FALSE
inquarter ('03/25/2013', '03/01/2013', 0, 3)
Zwraca TRUE
Przykład 1 — bez dodatkowych argumentów
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 2022, który jest ładowany do tabeli o nazwie Transactions.
Poprzedzające ładowanie zawiera funkcję inquarter() ustawioną jako pole in_quarter i określa, które transakcje zostały zawarte w tym samym kwartale, do którego należy data 15 maja 2022 roku.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
in_quarter
Tabela wynikowa
date
in_quarter
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
0
4/1/2022
-1
5/7/2022
-1
5/16/2022
-1
6/15/2022
-1
6/26/2022
-1
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Pole in_quarter jest tworzone w poprzedniej instrukcji load przy użyciu funkcji inquarter(). Pierwszy argument określa, które pole jest oceniane. Drugi argument to wpisana bezpośrednio w kod data 15 maja określająca, który kwartał ma zostać wybrany jako porównawczy. Na końcu przekazano wartość 0 jako argument period_no, aby funkcja inquarter() nie porównywała kwartałów poprzedzających segmentowany kwartał lub następujących po nim.
Każda transakcja zawarta w okresie od 1 kwietnia do końca 30 czerwca powoduje zwrot logicznej prawdy w wyniku.
Przykład 2 – period_no
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 2022, który jest ładowany do tabeli o nazwie Transactions.
Poprzedzające ładowanie zawiera funkcję inquarter() ustawioną jako pole previous_quarter i określa, które transakcje zostały zawarte w kwartale poprzedzającym kwartał obejmujący datę 15 maja 2022 roku.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
previous_qtr
Tabela wynikowa
date
previous_qtr
1/7/2022
-1
1/19/2022
-1
2/5/2022
-1
2/28/2022
-1
3/16/2022
-1
4/1/2022
0
5/7/2022
0
5/16/2022
0
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Przekazanie funkcji inquarter() wartości -1 jako argumentu period_no powoduje przesunięcie granic kwartału porównawczego wstecz o pełny kwartał. 15 maja wypada w drugim kwartale roku, a więc początkowo segment obejmuje daty od 1 kwietnia do 30 czerwca. Argument period_no przesuwa ten segment o trzy miesiące wstecz, powodując zmianę dat granicznych na 1 stycznia i 30 marca.
W związku z tym każda transakcja zawarta między 1 stycznia a 30 marca spowoduje zwrócenie w wyniku logicznej prawdy.
Przykład 3 — first_month_of_year
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 2022, który jest ładowany do tabeli o nazwie Transactions.
Poprzedzające ładowanie zawiera funkcję inquarter() ustawioną jako pole in_quarter i określa, które transakcje zostały zawarte w tym samym kwartale, do którego należy data 15 maja 2022 roku.
W tym przykładzie przyjęto jednak, że marzec ma być pierwszym miesiącem roku podatkowego.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
previous_qtr
Tabela wynikowa
date
previous_qtr
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
-1
4/1/2022
-1
5/7/2022
-1
5/16/2022
-1
6/15/2022
0
6/26/2022
0
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Przekazanie wartości 3 jako argumentu first_month_of_year funkcji inquarter() powoduje ustawienie 1 marca jako początku roku, a następnie jego podzielenie na cztery kwartały. W efekcie kwartały obejmują następujące okresy: marzec–maj, czerwiec–sierpień, wrzesień–listopad, grudzień–luty. Wartość 15 maja argumentu base_date ustawia kwartał marzec–maj jako kwartał porównawczy dla funkcji.
W związku z tym każda transakcja zawarta między 1 marca a 31 maja spowoduje zwrócenie w wyniku logicznej prawdy.
Przykład 4 — 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 2022, który jest ładowany do tabeli o nazwie Transactions.
Poprzedzające ładowanie zawiera funkcję inquarter() ustawioną jako pole in_quarter i określa, które transakcje zostały zawarte w tym samym kwartale, do którego należy data 15 maja 2022 roku.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:
date
Aby obliczyć, czy transakcje zostały zawarte w tym samym kwartale, w którym wypada 15 maja, utwórz następującą miarę:
=inquarter(date,'05/15/2022', 0)
Tabela wynikowa
date
in_quarter
1/7/2022
0
1/19/2022
0
2/5/2022
0
2/28/2022
0
3/16/2022
0
4/1/2022
-1
5/7/2022
-1
5/16/2022
-1
6/15/2022
-1
6/26/2022
-1
7/9/2022
0
7/22/2022
0
7/23/2022
0
7/27/2022
0
8/2/2022
0
8/8/2022
0
8/19/2022
0
9/26/2022
0
10/14/2022
0
10/29/2022
0
Miara in_quarter jest tworzona na wykresie przy użyciu funkcji inquarter(). Pierwszy argument określa, które pole jest oceniane. Drugi argument to wpisana bezpośrednio w kod data 15 maja określająca, który kwartał ma zostać wybrany jako porównawczy. Na końcu przekazano wartość 0 jako argument period_no, aby funkcja inquarter() nie porównywała kwartałów poprzedzających segmentowany kwartał lub następujących po nim.
Każda transakcja zawarta w okresie od 1 kwietnia do końca 30 czerwca powoduje zwrot logicznej prawdy w wyniku.
Przykład 5 — scenariusz
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Zestaw danych załadowany do tabeli o nazwie Products.
Tabela zawiera następujące pola:
identyfikator produktu,
typ produktu,
data produkcji,
cena.
Stwierdzono, że z powodu błędu sprzętowego produkty wytworzone w kwartale obejmującym datę 15 maja 2022 r. są wadliwe. Użytkownik końcowy chciałby, aby wykres wyświetlał według nazwy kwartału informację na temat tego, które z wyprodukowanych produktów były wadliwe, a które bez wad, oraz koszt produktów wytworzonych w danym kwartale.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:
=quartername(manufacture_date)
Utwórz następujące miary:
=if(only(InQuarter(manufacture_date,makedate(2022,05,15),0)),'Defective','Faultless') – określa, które produkty są wadliwe, a które bez wad, za pomocą funkcji inquarter().
=sum(cost_price) – pokazuje sumę kosztów wszystkich produktów.
Funkcja inquarter() zwraca wartość logiczną podczas oceny dat wytworzenia każdego z produktów. Dla każdego produktu wyprodukowanego w kwartale obejmującym 15 maja funkcja inquarter() zwraca wartość logiczną TRUE i oznacza go jako wadliwy. Dla każdego produktu zwracającego wartość FALSE, a zatem niewyprodukowanego w danym kwartale, oznacza go jako pozbawiony wad (Faultless).
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ć!