Ta funkcja zwraca znacznik czasu odpowiadający rozpoczęciu się pierwszego dnia roku zawierającego wartość date. Domyślnym formatem wyjściowym będzie format DateFormat skonfigurowany w skrypcie.
Innymi słowy, funkcja yearstart() określa, na który rok przypada data. Następnie zwraca znacznik czasu w formacie daty dla pierwszej milisekundy tego roku. Pierwszym miesiącem roku jest domyślnie styczeń, ale możesz zmienić pierwszy dzień tygodnia, używając argumentu first_month_of_year w funkcji yearstart().
Kiedy używać
Funkcja yearstart() jest używana jako część wyrażenia, gdy użytkownik chce, by w obliczeniach użyto ułamka roku, który już upłynął. Na przykład, jeśli chcesz obliczyć odsetki narosłe w ciągu ostatniego roku.
Typ zwracanych danych: dual
Argumenty
Argument
Opis
date
Data lub znacznik czasu do oszacowania.
period_no
period_no jest liczbą całkowitą, gdzie 0 oznacza rok, który zawiera datę date. Wartości ujemne parametru period_no oznaczają lata poprzednie, a wartości dodatnie — lata 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.
Kolejne miesiące można wykorzystać w first_month_of_year argument:
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
yearstart('10/19/2001')
Returns 01/01/2001 00:00:00.
yearstart('10/19/2001',-1)
Returns 01/01/2000 00:00:00.
yearstart('10/19/2001',0,4)
Returns 04/01/2001 00:00:00.
Przykład 1 — Przykład podstawowy
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 lata 2020–2022 jest ładowany do tabeli o nazwie „Transactions”.
Pole daty zostało podane w formacie DateFormat zmiennej systemowej (MM/DD/YYYY).
Instrukcja ładowania poprzedzającego, która zawiera:
Funkcję yearstart(), która jest ustawiona jako pole year_start.
Funkcję Timestamp(), która jest ustawiona jako pole year_start_timestamp.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
id
date
year_start
year_start_timestamp
Tabela wynikowa
id
date
year_start
year_start_timestamp
8188
01/13/2020
01/01/2020
1/1/2020 12:00:00 AM
8189
02/26/2020
01/01/2020
1/1/2020 12:00:00 AM
8190
03/27/2020
01/01/2020
1/1/2020 12:00:00 AM
8191
04/16/2020
01/01/2020
1/1/2020 12:00:00 AM
8192
05/21/2020
01/01/2020
1/1/2020 12:00:00 AM
8193
08/14/2020
01/01/2020
1/1/2020 12:00:00 AM
8194
10/07/2020
01/01/2020
1/1/2020 12:00:00 AM
8195
12/05/2020
01/01/2020
1/1/2020 12:00:00 AM
8196
01/22/2021
01/01/2021
1/1/2021 12:00:00 AM
8197
02/03/2021
01/01/2021
1/1/2021 12:00:00 AM
8198
03/17/2021
01/01/2021
1/1/2021 12:00:00 AM
8199
04/23/2021
01/01/2021
1/1/2021 12:00:00 AM
8200
05/04/2021
01/01/2021
1/1/2021 12:00:00 AM
8201
06/30/2021
01/01/2021
1/1/2021 12:00:00 AM
8202
07/26/2021
01/01/2021
1/1/2021 12:00:00 AM
8203
12/27/2021
01/01/2021
1/1/2021 12:00:00 AM
8204
06/06/2022
01/01/2022
1/1/2022 12:00:00 AM
8205
07/18/2022
01/01/2022
1/1/2022 12:00:00 AM
8206
11/14/2022
01/01/2022
1/1/2022 12:00:00 AM
8207
12/12/2022
01/01/2022
1/1/2022 12:00:00 AM
Pole „year_start” jest tworzone w instrukcji ładowania poprzedzającego przez użycie funkcji yearstart() i przekazanie pola daty jako jej argumentu.
Funkcja yearstart() początkowo identyfikuje, w którym roku przypada wartość daty, i zwraca znacznik czasu pierwszej milisekundy danego roku.
Transakcja 8199 miała miejsce 23 kwietnia 2021 r. Funkcja yearstart() zwraca pierwszą milisekundę tego roku, czyli 1 stycznia o godz 12:00:00 AM (00:00:00)
Przykład 2 – period_no
Przegląd
Używany jest ten sam zestaw danych i scenariusz co w pierwszym przykładzie.
Jednak w tym przykładzie zadaniem jest utworzenie pola „previous_year_start”, które zwraca znacznik czasu daty początkowej roku poprzedzającego rok, 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_year_start
previous_ year_start_timestamp
Tabela wynikowa
id
date
previous_year_start
previous_year_start_timestamp
8188
01/13/2020
01/01/2019
1/1/2019 12:00:00 AM
8189
02/26/2020
01/01/2019
1/1/2019 12:00:00 AM
8190
03/27/2020
01/01/2019
1/1/2019 12:00:00 AM
8191
04/16/2020
01/01/2019
1/1/2019 12:00:00 AM
8192
05/21/2020
01/01/2019
1/1/2019 12:00:00 AM
8193
08/14/2020
01/01/2019
1/1/2019 12:00:00 AM
8194
10/07/2020
01/01/2019
1/1/2019 12:00:00 AM
8195
12/05/2020
01/01/2019
1/1/2019 12:00:00 AM
8196
01/22/2021
01/01/2020
1/1/2020 12:00:00 AM
8197
02/03/2021
01/01/2020
1/1/2020 12:00:00 AM
8198
03/17/2021
01/01/2020
1/1/2020 12:00:00 AM
8199
04/23/2021
01/01/2020
1/1/2020 12:00:00 AM
8200
05/04/2021
01/01/2020
1/1/2020 12:00:00 AM
8201
06/30/2021
01/01/2020
1/1/2020 12:00:00 AM
8202
07/26/2021
01/01/2020
1/1/2020 12:00:00 AM
8203
12/27/2021
01/01/2020
1/1/2020 12:00:00 AM
8204
06/06/2022
01/01/2021
1/1/2021 12:00:00 AM
8205
07/18/2022
01/01/2021
1/1/2021 12:00:00 AM
8206
11/14/2022
01/01/2021
1/1/2021 12:00:00 AM
8207
12/12/2022
01/01/2021
1/1/2021 12:00:00 AM
W tym przypadku, ponieważ period_no o wartości -1 używa się jako argumentu przesunięcia w funkcji yearstart(), funkcja najpierw identyfikuje rok, w którym odbywają się transakcje. Następnie identyfikuje pierwszą milisekundę poprzedniego roku.
Transakcja 8199 miała miejsce 23 kwietnia 2021 r. Funkcja yearstart() zwraca pierwszą milisekundę poprzedniego roku, czyli 1 stycznia 2020 r. o godz 00:00:00 (12:00:00 AM), dla pola „previous_year_start”.
Przykład 3 — first_month_of_year
Przegląd
Używany jest ten sam zestaw danych i scenariusz co w pierwszym przykładzie.
W tym przykładzie jednak, zgodnie z polityką firmy, rok zaczyna się 1 kwietnia.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
id
date
year_start
year_start_timestamp
Tabela wynikowa
id
date
year_start
year_start_timestamp
8188
01/13/2020
04/01/2019
4/1/2019 12:00:00 AM
8189
02/26/2020
04/01/2019
4/1/2019 12:00:00 AM
8190
03/27/2020
04/01/2019
4/1/2019 12:00:00 AM
8191
04/16/2020
04/01/2020
4/1/2020 12:00:00 AM
8192
05/21/2020
04/01/2020
4/1/2020 12:00:00 AM
8193
08/14/2020
04/01/2020
4/1/2020 12:00:00 AM
8194
10/07/2020
04/01/2020
4/1/2020 12:00:00 AM
8195
12/05/2020
04/01/2020
4/1/2020 12:00:00 AM
8196
01/22/2021
04/01/2020
4/1/2020 12:00:00 AM
8197
02/03/2021
04/01/2020
4/1/2020 12:00:00 AM
8198
03/17/2021
04/01/2020
4/1/2020 12:00:00 AM
8199
04/23/2021
04/01/2021
4/1/2021 12:00:00 AM
8200
05/04/2021
04/01/2021
4/1/2021 12:00:00 AM
8201
06/30/2021
04/01/2021
4/1/2021 12:00:00 AM
8202
07/26/2021
04/01/2021
4/1/2021 12:00:00 AM
8203
12/27/2021
04/01/2021
4/1/2021 12:00:00 AM
8204
06/06/2022
04/01/2022
4/1/2022 12:00:00 AM
8205
07/18/2022
04/01/2022
4/1/2022 12:00:00 AM
8206
11/14/2022
04/01/2022
4/1/2022 12:00:00 AM
8207
12/12/2022
04/01/2022
4/1/2022 12:00:00 AM
W tym przypadku, ponieważ argument first_month_of_year o wartości 4 jest używany w funkcji yearstart(), ustawia pierwszy dzień roku na 1 kwietnia, a ostatni dzień roku na 31 marca.
Transakcja 8199 miała miejsce 23 kwietnia 2021 r. Ponieważ funkcja yearstart() ustawia początek roku na 1 kwietnia i zwraca go jako wartość „year_start” dla transakcji.
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. Obliczenie zwracające znacznik czasu początkowej daty roku, kiedy wystąpiła transakcja, jest tworzone jako miara w obiekcie wykresu aplikacji.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
id
date
Aby obliczyć, w którym roku miała miejsce transakcja, utwórz następujące miary:
=yearstart(date)
=timestamp(yearstart(date))
Tabela wynikowa
id
date
=yearstart(date)
=timestamp(yearstart(date))
8188
06/06/2022
01/01/2022
1/1/2022 12:00:00 AM
8189
07/18/2022
01/01/2022
1/1/2022 12:00:00 AM
8190
11/14/2022
01/01/2022
1/1/2022 12:00:00 AM
8191
12/12/2022
01/01/2022
1/1/2022 12:00:00 AM
8192
01/22/2021
01/01/2021
1/1/2021 12:00:00 AM
8193
02/03/2021
01/01/2021
1/1/2021 12:00:00 AM
8194
03/17/2021
01/01/2021
1/1/2021 12:00:00 AM
8195
04/23/2021
01/01/2021
1/1/2021 12:00:00 AM
8196
05/04/2021
01/01/2021
1/1/2021 12:00:00 AM
8197
06/30/2021
01/01/2021
1/1/2021 12:00:00 AM
8198
07/26/2021
01/01/2021
1/1/2021 12:00:00 AM
8199
12/27/2021
01/01/2021
1/1/2021 12:00:00 AM
8200
01/13/2020
01/01/2020
1/1/2020 12:00:00 AM
8201
02/26/2020
01/01/2020
1/1/2020 12:00:00 AM
8202
03/27/2020
01/01/2020
1/1/2020 12:00:00 AM
8203
04/16/2020
01/01/2020
1/1/2020 12:00:00 AM
8204
05/21/2020
01/01/2020
1/1/2020 12:00:00 AM
8205
08/14/2020
01/01/2020
1/1/2020 12:00:00 AM
8206
10/07/2020
01/01/2020
1/1/2020 12:00:00 AM
8207
12/05/2020
01/01/2020
1/1/2020 12:00:00 AM
Miarę „start_of_year” tworzy się w obiekcie wykresu, używając funkcji yearstart() i przekazując pole daty jako jej argument.
Funkcja yearstart() początkowo identyfikuje, w którym roku przypada wartość daty, i zwraca znacznik czasu pierwszej milisekundy danego roku.
Transakcja 8199 miała miejsce 23 kwietnia 2021 r. Funkcja yearstart() zwraca pierwszą milisekundę tego roku, czyli 1 stycznia o godz 12:00:00 AM (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 jest ładowany do tabeli o nazwie Loans. Tabela zawiera następujące pola:
Loan IDs.
Bilans na początek roku.
Prosta stopa procentowa naliczana od każdej pożyczki w skali roku.
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 roku.
Używając dzisiejszej daty jako jedynego argumentu, funkcja yearstart() 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 roku.
Wartość ta jest następnie mnożona przez stopę procentową i dzielona przez 365, aby uzyskać efektywną stopę procentową za dany okres. Efektywna stopa procentowa za dany okres jest następnie mnożona przez saldo początkowe pożyczki, aby zwrócić odsetki naliczone do tej pory w tym roku.
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ć!