Ta funkcja zwraca wartość odpowiadającą znacznikowi czasu ostatniej milisekundy kwartału zawierającego wartość date. Domyślnym formatem wyjściowym będzie format DateFormat skonfigurowany w skrypcie.
Funkcja quarterend() określa, w którym kwartale wypada data. Następnie zwraca znacznik czasu, w formacie daty, ostatniej milisekundy ostatniego miesiąca tego kwartału\. Pierwszym miesiącem roku jest domyślnie styczeń. Możesz jednak również zmienić pierwszy dzień tygodnia, używając argumentu first_month_of_year w funkcji quarterend().
InformacjaFunkcja quarterend() nie uwzględnia zmiennej systemowej FirstMonthOfYear. Rok rozpoczyna się 1 stycznia, chyba że do jego zmiany użyto argumentu first_month_of_year.
Kiedy używać
Funkcja quarterend() jest używana jako część wyrażenia, gdy użytkownik chce, by w obliczeniach użyto ułamka kwartału, który jeszcze nie nastąpił. Na przykład, jeśli chcesz obliczyć łączne odsetki, które nie zostały jeszcze naliczone w ciągu kwartału.
Argumenty
Argument
Opis
date
Data lub znacznik czasu do oszacowania.
period_no
period_no jest liczbą całkowitą, gdzie 0 oznacza kwartał, który zawiera datę 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. 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:
id
date
end_of_quarter
end_of_quarter_timestamp
Tabela wynikowa
id
date
end_of_quarter
end_of_quarter_timestamp
8188
1/7/2022
03/31/2022
3/31/2022 11:59:59 PM
8189
1/19/2022
03/31/2022
3/31/2022 11:59:59 PM
8190
2/5/2022
03/31/2022
3/31/2022 11:59:59 PM
8191
2/28/2022
03/31/2022
3/31/2022 11:59:59 PM
8192
3/16/2022
03/31/2022
3/31/2022 11:59:59 PM
8193
4/1/2022
06/30/2022
6/30/2022 11:59:59 PM
8194
5/7/2022
06/30/2022
6/30/2022 11:59:59 PM
8195
5/16/2022
06/30/2022
6/30/2022 11:59:59 PM
8196
6/15/2022
06/30/2022
6/30/2022 11:59:59 PM
8197
6/26/2022
06/30/2022
6/30/2022 11:59:59 PM
8198
7/9/2022
09/30/2022
9/30/2022 11:59:59 PM
8199
7/22/2022
09/30/2022
9/30/2022 11:59:59 PM
8200
7/23/2022
09/30/2022
9/30/2022 11:59:59 PM
8201
7/27/2022
09/30/2022
9/30/2022 11:59:59 PM
8202
8/2/2022
09/30/2022
9/30/2022 11:59:59 PM
8203
8/8/2022
09/30/2022
9/30/2022 11:59:59 PM
8204
8/19/2022
09/30/2022
9/30/2022 11:59:59 PM
8205
9/26/2022
09/30/2022
9/30/2022 11:59:59 PM
8206
10/14/2022
12/31/2022
12/31/2022 11:59:59 PM
8207
10/29/2022
12/31/2022
12/31/2022 11:59:59 PM
Pole „end_of_quarter” jest tworzone w instrukcji ładowania poprzedzającego przez użycie funkcji quarterend() i przekazanie pola daty jako jej argumentu.
Funkcja quarterend() początkowo identyfikuje, w którym kwartale przypada wartość daty, i zwraca znacznik czasu ostatniej milisekundy danego kwartału.
Transakcja 8203 miała miejsce 8 sierpnia. Funkcja quarterend() stwierdza, że transakcja miała miejsce w trzecim kwartale oraz zwraca ostatnią milisekundę tego kwartału – 30 września, godz. 23:59:59.
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.
Ładowanie poprzedzające, które zawiera następujące elementy:
Funkcja quarterend(), która jest ustawiona jako pole previous_quarter_end i zwraca znacznik czasu końca kwartału przed tym, w którym miała miejsce transakcja.
Funkcja timestamp(), która jest ustawiona jako pole previous_end_of_quarter_timestamp i zwraca dokładny znacznik czasu końca kwartału przed tym, w którym miała miejsce transakcja.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
id
date
previous_quarter_end
previous_quarter_end_timestamp
Tabela wynikowa
id
date
previous_quarter_end
previous_quarter_end_timestamp
8188
1/7/2022
12/31/2021
12/31/2021 11:59:59 PM
8189
1/19/2022
12/31/2021
12/31/2021 11:59:59 PM
8190
2/5/2022
12/31/2021
12/31/2021 11:59:59 PM
8191
2/28/2022
12/31/2021
12/31/2021 11:59:59 PM
8192
3/16/2022
12/31/2021
12/31/2021 11:59:59 PM
8193
4/1/2022
03/31/2022
3/31/2022 11:59:59 PM
8194
5/7/2022
03/31/2022
3/31/2022 11:59:59 PM
8195
5/16/2022
03/31/2022
3/31/2022 11:59:59 PM
8196
6/15/2022
03/31/2022
3/31/2022 11:59:59 PM
8197
6/26/2022
03/31/2022
3/31/2022 11:59:59 PM
8198
7/9/2022
06/30/2022
6/30/2022 11:59:59 PM
8199
7/22/2022
06/30/2022
6/30/2022 11:59:59 PM
8200
7/23/2022
06/30/2022
6/30/2022 11:59:59 PM
8201
7/27/2022
06/30/2022
6/30/2022 11:59:59 PM
8202
8/2/2022
06/30/2022
6/30/2022 11:59:59 PM
8203
8/8/2022
06/30/2022
6/30/2022 11:59:59 PM
8204
8/19/2022
06/30/2022
6/30/2022 11:59:59 PM
8205
9/26/2022
06/30/2022
6/30/2022 11:59:59 PM
8206
10/14/2022
09/30/2022
9/30/2022 11:59:59 PM
8207
10/29/2022
09/30/2022
9/30/2022 11:59:59 PM
Ponieważ period_no o wartości -1 używa się jako argumentu przesunięcia w funkcji quarterend(), funkcja najpierw identyfikuje kwartał, w którym odbywają się transakcje. Następnie przesuwa zakres o kwartał wstecz i identyfikuje ostatnią milisekundę tego kwartału.
Transakcja 8203 miała miejsce 8 sierpnia. Funkcja quarterend() stwierdza, że kwartał przed datą transakcji obejmował okres od 1 kwietnia do 30 czerwca. Funkcja zwraca ostatnią milisekundę tego kwartału – 30 czerwca, godz. 23:59:59.
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.
Ładowanie poprzedzające, które zawiera następujące elementy:
Funkcja quarterend(), która jest ustawiona jako pole end_of_quarter i zwraca znacznik czasu końca kwartału, w którym miały miejsce transakcje.
Funkcja timestamp(), która jest ustawiona jako pole end_of_quarter_timestamp i zwraca dokładny znacznik czasu końca wybranego kwartału.
Jednak w tym przykładzie zgodnie z polityką firmy rok podatkowy zaczyna się 1 marca.
Ponieważ jako argument first_month_of_year funkcji quarterend() przekazano wartość 3, początek roku został przesunięty z 1 stycznia na 1 marca.
Transakcja 8203 miała miejsce 8 sierpnia. Ponieważ rok zaczyna się 1 marca, kwartały w nim obejmują miesiące marzec-maj, czerwiec-sierpień, wrzesień-listopad oraz grudzień-luty.
Funkcja quarterend() stwierdza, że transakcja miała miejsce w kwartale od czerwca do sierpnia i zwraca ostatnią milisekundę tego kwartału – 31 sierpnia, godz. 23:59:59.
Przykład 4 — przykład z obiektem wykresu
Przegląd
Używany jest ten sam zestaw danych i scenariusz co w pierwszym przykładzie.
Jednak w tym przykładzie zestaw danych pozostaje bez zmian i jest ładowany do aplikacji. Obliczenia zwracające znacznik czasu końca kwartału, w którym wystąpiły transakcje, jest tworzone jako miara na wykresie w aplikacji.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
id
date
Aby obliczyć koniec kwartału, w którym zawarto transakcję, utwórz następujące miary:
=quarterend(date)
=timestamp(quarterend(date))
Tabela wynikowa
id
date
=quarterend(date)
=timestamp(quarterend(date))
8188
1/7/2022
03/31/2022
3/31/2022 11:59:59 PM
8189
1/19/2022
03/31/2022
3/31/2022 11:59:59 PM
8190
2/5/2022
03/31/2022
3/31/2022 11:59:59 PM
8191
2/28/2022
03/31/2022
3/31/2022 11:59:59 PM
8192
3/16/2022
03/31/2022
3/31/2022 11:59:59 PM
8193
4/1/2022
06/30/2022
6/30/2022 11:59:59 PM
8194
5/7/2022
06/30/2022
6/30/2022 11:59:59 PM
8195
5/16/2022
06/30/2022
6/30/2022 11:59:59 PM
8196
6/15/2022
06/30/2022
6/30/2022 11:59:59 PM
8197
6/26/2022
06/30/2022
6/30/2022 11:59:59 PM
8198
7/9/2022
09/30/2022
9/30/2022 11:59:59 PM
8199
7/22/2022
09/30/2022
9/30/2022 11:59:59 PM
8200
7/23/2022
09/30/2022
9/30/2022 11:59:59 PM
8201
7/27/2022
09/30/2022
9/30/2022 11:59:59 PM
8202
8/2/2022
09/30/2022
9/30/2022 11:59:59 PM
8203
8/8/2022
09/30/2022
9/30/2022 11:59:59 PM
8204
8/19/2022
09/30/2022
9/30/2022 11:59:59 PM
8205
9/26/2022
09/30/2022
9/30/2022 11:59:59 PM
8206
10/14/2022
12/31/2022
12/31/2022 11:59:59 PM
8207
10/29/2022
12/31/2022
12/31/2022 11:59:59 PM
Pole „end_of_quarter” jest tworzone w instrukcji ładowania poprzedzającego przez użycie funkcji quarterend() i przekazanie pola daty jako jej argumentu.
Funkcja quarterend() początkowo identyfikuje, w którym kwartale przypada wartość daty, i zwraca znacznik czasu ostatniej milisekundy danego kwartału.
Transakcja 8203 miała miejsce 8 sierpnia. Funkcja quarterend() stwierdza, że transakcja miała miejsce w trzecim kwartale oraz zwraca ostatnią milisekundę tego kwartału – 30 września, godz. 23:59:59.
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 jest ładowany do tabeli o nazwie Employee_Expenses. Tabela zawiera następujące pola:
Identyfikatory pracowników
Imiona i nazwiska pracownika
Średnie dzienne rozliczenia wydatków każdego pracownika.
Użytkownik końcowy chciałby, aby obiekt wykresu wyświetlał, według identyfikatora pracownika oraz imienia i nazwiska pracownika, szacowane roszczenia z tytułu wydatków do poniesienia przez pozostałą część kwartału. Rok obrotowy rozpoczyna się w styczniu.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
employee_id
employee_name
Aby obliczyć narosłe odsetki, należy utworzyć następującą miarę:
=(quarterend(today(1))-today(1))*avg_daily_claim
Ustaw Formatowanie liczb miary na Waluta.
Tabela wynikowa
employee_id
employee_name
=(quarterend(today(1))-today(1))*avg_daily_claim
182
Mark
$480.00
183
Deryck
$400.00
184
Dexter
$400.00
185
Sydney
$864.00
186
Agatha
$576.00
Funkcja quarterend() używa bieżącej daty jako swojego jedynego argumentu i zwraca datę końcową bieżącego miesiąca. Następnie odejmuje bieżącą datę od daty końca roku i wyrażenie zwraca liczbę dni pozostałych w tym miesiącu.
Wartość ta jest następnie mnożona przez średnie dzienne roszczenie z tytułu wydatków przez każdego pracownika, aby obliczyć szacunkową wartość roszczeń, które każdy pracownik złoży w pozostałej części kwartału.
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ć!