Ta funkcja zwraca wartość odpowiadającą znacznikowi czasu pierwszej milisekundy kwartału zawierającego wartość date. Domyślnym formatem wyjściowym będzie format DateFormat skonfigurowany w skrypcie.
Funkcja quarterstart() określa, w którym kwartale wypada date. Następnie zwraca znacznik czasu, w formacie daty, pierwszej milisekundy pierwszego miesiąca tego 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.
Kiedy używać
Funkcja quarterstart() jest zwykle używana jako część wyrażenia, gdy użytkownik chce, by w obliczeniach użyto ułamka kwartału, który upłynął do tej pory. Przy jej użyciu użytkownik może na przykład obliczyć odsetki narosłe w ciągu kwartału do określonej daty.
Przykłady funkcji
Przykład
Wynik
quarterstart('10/29/2005')
Zwraca wartość 10/01/2005.
quarterstart('10/29/2005', -1 )
Zwraca wartość 07/01/2005.
quarterstart('10/29/2005', 0, 3)
Zwraca wartość 09/01/2005.
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 — 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”.
Pole danych w formacie DateFormat zmiennej systemowej (MM/DD/RRRR).
Utworzenie pola, start_of_quarter, zwracającego znacznik czasu początku kwartału, w którym zostały zawarte transakcje.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
start_of_quarter
start_of_quarter_timestamp
Tabela wynikowa
date
start_of_quarter
start_of_quarter_timestamp
1/7/2022
01/01/2022
1/1/2022 12:00:00 AM
1/19/2022
01/01/2022
1/1/2022 12:00:00 AM
2/5/2022
01/01/2022
1/1/2022 12:00:00 AM
2/28/2022
01/01/2022
1/1/2022 12:00:00 AM
3/16/2022
01/01/2022
1/1/2022 12:00:00 AM
4/1/2022
04/01/2022
4/1/2021 12:00:00 AM
5/7/2022
04/01/2022
4/1/2021 12:00:00 AM
5/16/2022
04/01/2022
4/1/2021 12:00:00 AM
6/15/2022
04/01/2022
4/1/2021 12:00:00 AM
6/26/2022
04/01/2022
4/1/2021 12:00:00 AM
7/9/2022
07/01/2022
7/1/2021 12:00:00 AM
7/22/2022
07/01/2022
7/1/2021 12:00:00 AM
7/23/2022
07/01/2022
7/1/2021 12:00:00 AM
7/27/2022
07/01/2022
7/1/2021 12:00:00 AM
8/2/2022
07/01/2022
7/1/2021 12:00:00 AM
8/8/2022
07/01/2022
7/1/2021 12:00:00 AM
8/19/2022
07/01/2022
7/1/2021 12:00:00 AM
9/26/2022
07/01/2022
7/1/2021 12:00:00 AM
10/14/2022
10/01/2022
10/1/2022 12:00:00 AM
10/29/2022
10/01/2022
10/1/2022 12:00:00 AM
Pole „start_of_quarter” jest tworzone w instrukcji ładowania poprzedzającego przez użycie funkcji quarterstart() i przekazanie pola daty jako jej argumentu. Funkcja uarterstart() początkowo identyfikuje kwartał, w którym przypada wartość daty. Następnie zwraca znacznik czasu pierwszej milisekundy tego kwartału.
Transakcja 8203 miała miejsce 8 sierpnia. Funkcja quarterstart() stwierdza, że transakcja miała miejsce w trzecim kwartale oraz zwraca pierwszą milisekundę tego kwartału – 1 lipca, godz. 00:00:00.
Przykład 2 – period_no
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 previous_quarter_start zwracającego znacznik czasu początku 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:
date
previous_quarter_start
previous_quarter_start_timestamp
Tabela wynikowa
date
previous_quarter_start
previous_quarter_start_timestamp
1/7/2022
10/01/2021
10/1/2021 12:00:00 AM
1/19/2022
10/01/2021
10/1/2021 12:00:00 AM
2/5/2022
10/01/2021
10/1/2021 12:00:00 AM
2/28/2022
10/01/2021
10/1/2021 12:00:00 AM
3/16/2022
10/01/2021
10/1/2021 12:00:00 AM
4/1/2022
01/01/2022
1/1/2022 12:00:00 AM
5/7/2022
01/01/2022
1/1/2022 12:00:00 AM
5/16/2022
01/01/2022
1/1/2022 12:00:00 AM
6/15/2022
01/01/2022
1/1/2022 12:00:00 AM
6/26/2022
01/01/2022
1/1/2022 12:00:00 AM
7/9/2022
04/01/2022
4/1/2021 12:00:00 AM
7/22/2022
04/01/2022
4/1/2021 12:00:00 AM
7/23/2022
04/01/2022
4/1/2021 12:00:00 AM
7/27/2022
04/01/2022
4/1/2021 12:00:00 AM
8/2/2022
04/01/2022
4/1/2021 12:00:00 AM
8/8/2022
04/01/2022
4/1/2021 12:00:00 AM
8/19/2022
04/01/2022
4/1/2021 12:00:00 AM
9/26/2022
04/01/2022
4/1/2021 12:00:00 AM
10/14/2022
07/01/2022
7/1/2022 12:00:00 AM
10/29/2022
07/01/2022
7/1/2022 12:00:00 AM
W tym przypadku, ponieważ wartości period_no -1 użyto jako argumentu przesunięcia w funkcji quarterstart(), funkcja najpierw identyfikuje kwartał, w którym odbywają się transakcje. Następnie przesuwa zakres o kwartał wstecz i identyfikuje pierwszą milisekundę tego kwartału.
Transakcja 8203 miała miejsce 8 sierpnia. Funkcja quarterstart() stwierdza, że kwartał przed datą transakcji obejmował okres od 1 kwietnia do 30 czerwca. Następnie zwraca pierwszą milisekundę tego kwartału — 1 kwietnia o godz. 00:00:00.
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 ten sam zestaw danych i scenariusz co w pierwszym przykładzie. Jednak w tym przykładzie musimy również ustawić 1 marca jako pierwszy miesiąc roku podatkowego.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
start_of_quarter
start_of_quarter_timestamp
Tabela wynikowa
date
start_of_quarter
start_of_quarter_timestamp
1/7/2022
12/01/2021
12/1/2021 12:00:00 AM
1/19/2022
12/01/2021
12/1/2021 12:00:00 AM
2/5/2022
12/01/2021
12/1/2021 12:00:00 AM
2/28/2022
12/01/2021
12/1/2021 12:00:00 AM
3/16/2022
03/01/2022
3/1/2022 12:00:00 AM
4/1/2022
03/01/2022
3/1/2022 12:00:00 AM
5/7/2022
03/01/2022
3/1/2022 12:00:00 AM
5/16/2022
03/01/2022
3/1/2022 12:00:00 AM
6/15/2022
06/01/2022
6/1/2022 12:00:00 AM
6/26/2022
06/01/2022
6/1/2022 12:00:00 AM
7/9/2022
06/01/2022
6/1/2022 12:00:00 AM
7/22/2022
06/01/2022
6/1/2022 12:00:00 AM
7/23/2022
06/01/2022
6/1/2022 12:00:00 AM
7/27/2022
06/01/2022
6/1/2022 12:00:00 AM
8/2/2022
06/01/2022
6/1/2022 12:00:00 AM
8/8/2022
06/01/2022
6/1/2022 12:00:00 AM
8/19/2022
06/01/2022
6/1/2022 12:00:00 AM
9/26/2022
09/01/2022
9/1/2022 12:00:00 AM
10/14/2022
09/01/2022
9/1/2022 12:00:00 AM
10/29/2022
09/01/2022
9/1/2022 12:00:00 AM
W tym przypadku, ponieważ jako argument first_month_of_year funkcji quarterstart() 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 quarterstart() stwierdza, że transakcja miała miejsce w kwartale od czerwca do sierpnia i zwraca pierwszą milisekundę tego kwartału – 1 czerwca, godz. 00:00:00.
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 ten sam zestaw danych i scenariusz co w pierwszym przykładzie.
Jednak w tym przykładzie do aplikacji został załadowany niezmieniony zbiór danych. Obliczenia zwracające znacznik czasu końca kwartału, w którym wystąpiły transakcje, są tworzone jako miara w obiekcie wykresu aplikacji.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar: date.
Dodaj następujące miary:
=quarterstart(date)
=timestamp(quarterstart(date))
Tabela wynikowa
date
=quarterstart(date)
=timestamp(quarterstart(date))
10/14/2022
10/01/2022
10/1/2022 12:00:00 AM
10/29/2022
10/01/2022
10/1/2022 12:00:00 AM
7/9/2022
07/01/2022
7/1/2022 12:00:00 AM
7/22/2022
07/01/2022
7/1/2022 12:00:00 AM
7/23/2022
07/01/2022
7/1/2022 12:00:00 AM
7/27/2022
07/01/2022
7/1/2022 12:00:00 AM
8/2/2022
07/01/2022
7/1/2022 12:00:00 AM
8/8/2022
07/01/2022
7/1/2022 12:00:00 AM
8/19/2022
07/01/2022
7/1/2022 12:00:00 AM
9/26/2022
07/01/2022
7/1/2022 12:00:00 AM
4/1/2022
04/01/2022
4/1/2022 12:00:00 AM
5/7/2022
04/01/2022
4/1/2022 12:00:00 AM
5/16/2022
04/01/2022
4/1/2022 12:00:00 AM
6/15/2022
04/01/2022
4/1/2022 12:00:00 AM
6/26/2022
04/01/2022
4/1/2022 12:00:00 AM
1/7/2022
01/01/2022
1/1/2022 12:00:00 AM
1/19/2022
01/01/2022
1/1/2022 12:00:00 AM
2/5/2022
01/01/2022
1/1/2022 12:00:00 AM
2/28/2022
01/01/2022
1/1/2022 12:00:00 AM
3/16/2022
01/01/2022
1/1/2022 12:00:00 AM
Miarę „start_of_quarter” tworzy się w obiekcie wykresu, używając funkcji quarterstart() i przekazując pole daty date jako jej argument.
Funkcja quarterstart() identyfikuje, w którym kwartale przypada określona data, i zwraca znacznik czasu pierwszej milisekundy danego kwartału.
Transakcja 8203 miała miejsce 8 sierpnia. Funkcja quarterstart() stwierdza, że transakcja miała miejsce w trzecim kwartale oraz zwraca pierwszą milisekundę tego kwartału. Ta zwrócona wartość to 1 lipca, godz. 00:00:00.
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 zawierający zestaw sald kredytów, który jest ładowany do tabeli o nazwie Loans.
Dane zawierające identyfikatory kredytów, saldo na początku kwartału i prostą stopę procentową naliczaną od każdego kredytu rocznie.
Użytkownik końcowy chciałby, aby obiekt wykresu wyświetlał według identyfikatora pożyczki bieżące odsetki naliczone od każdej pożyczki w bieżącym kwartale.
Używając dzisiejszej daty jako jedynego argumentu, funkcja quarterstart() zwraca datę początkową bieżącego roku. Odejmując ten wynik od bieżącej daty, wyrażenie zwraca liczbę dni, które upłynęły do tej pory w tym kwartale.
Wartość ta jest następnie mnożona przez stopę procentową i dzielona przez 365, aby uzyskać wysokość odsetek nagromadzonych do tego momentu tygodnia. Wynik jest następnie mnożony przez saldo początkowe pożyczki, aby zwrócić odsetki naliczone do tej pory w tym kwartale.
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ć!