Ta funkcja zwraca rok w zapisie czterocyfrowym jako wartość wyświetlaną z bazową wartością liczbową odpowiadającą znacznikowi czasu pierwszej milisekundy pierwszego dnia roku zawierającego datę date.
Funkcja yearname() różni się od funkcji year(), ponieważ umożliwia przesunięcie daty, którą chcesz ocenić, oraz ustawienie pierwszego miesiąca roku.
Jeśli pierwszym miesiącem roku nie jest styczeń, funkcja zwróci dwa czterocyfrowe lata z dwunastomiesięcznego okresu zawierającego datę. Na przykład, jeśli początek roku to kwiecień, a ocenianą datą jest 06/30/2020, zwróconym wynikiem będzie 2020-2021.
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. Wartość wyświetlana będzie ciągiem znaków przedstawiającym dwa lata.
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
Kiedy używać
Funkcja yearname() przydaje się do porównywania agregacji według roku. Na przykład, jeśli chcesz zobaczyć całkowitą sprzedaż produktów według roku.
Te wymiary można utworzyć w skrypcie ładowania za pomocą funkcji tworzenia pola w tabeli kalendarza głównego. Można je również tworzyć na wykresie jako wymiary obliczone
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
prior_year_name
Tabela wynikowa
date
prior_year_name
01/13/2020
2019
02/26/2020
2019
03/27/2020
2019
04/16/2020
2019
05/21/2020
2019
08/14/2020
2019
10/07/2020
2019
12/05/2020
2019
01/22/2021
2020
02/03/2021
2020
03/17/2021
2020
04/23/2021
2020
05/04/2021
2020
06/30/2021
2020
07/26/2021
2020
12/27/2021
2020
06/06/2022
2021
07/18/2022
2021
11/14/2022
2021
12/12/2022
2021
Ponieważ period_no o wartości -1 używa się jako argumentu przesunięcia w funkcji yearname(), funkcja najpierw identyfikuje rok, w którym odbywają się transakcje. Następnie funkcja dokonuje przesunięcia o rok wcześniej i zwraca wynikowy rok.
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 zbiór danych, co w pierwszym przykładzie.
Zmienna systemowa DateFormat, która jest ustawiona na „MM/DD/YYYY”.
Ładowanie poprzedzające używające funkcji yearname(), która jest ustawiona jako pole year_name.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
id
date
year_name
Tabela wynikowa
date
year_name
01/13/2020
2019-2020
02/26/2020
2019-2020
03/27/2020
2019-2020
04/16/2020
2020-2021
05/21/2020
2020-2021
08/14/2020
2020-2021
10/07/2020
2020-2021
12/05/2020
2020-2021
01/22/2021
2020-2021
02/03/2021
2020-2021
03/17/2021
2020-2021
04/23/2021
2021-2022
05/04/2021
2021-2022
06/30/2021
2021-2022
07/26/2021
2021-2022
12/27/2021
2021-2022
06/06/2022
2022-2023
07/18/2022
2022-2023
11/14/2022
2022-2023
12/12/2022
2022-2023
Ponieważ argument [first_month_of_year o wartości 4 jest używany w funkcji yearname(), początek roku przesuwa się z 1 stycznia na 1 kwietnia. Dlatego każdy okres dwunastu miesięcy przecina dwa lata kalendarzowe, a funkcja yearname() zwraca dwa czterocyfrowe lata dla ocenianych dat.
Transakcja 8198 ma miejsce 17 marca 2021 r. Funkcja yearname() ustawia początek roku na 1 kwietnia i koniec na 30 marca. W związku z tym transakcja 8198 miała miejsce w okresie od 1 kwietnia 2020 r. do 30 marca 2021 r. W rezultacie funkcja yearname() zwraca wartość 2020-2021.
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 zbiór danych, co w pierwszym przykładzie.
Zmienna systemowa DateFormat, która jest ustawiona na „MM/DD/YYYY”.
Jednak pole zwracające rok, w którym miała miejsce transakcja, jest tworzone jako miara w obiekcie wykresu.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:
date
Aby obliczyć pole year_name, należy utworzyć następującą miarę:
=yearname(date)
Tabela wynikowa
date
=yearname(date)
01/13/2020
2020
02/26/2020
2020
03/27/2020
2020
04/16/2020
2020
05/21/2020
2020
08/14/2020
2020
10/07/2020
2020
12/05/2020
2020
01/22/2021
2021
02/03/2021
2021
03/17/2021
2021
04/23/2021
2021
05/04/2021
2021
06/30/2021
2021
07/26/2021
2021
12/27/2021
2021
06/06/2022
2022
07/18/2022
2022
11/14/2022
2022
12/12/2022
2022
Miarę „year_name” tworzy się w obiekcie wykresu, używając funkcji yearname() i przekazując pole daty jako jej argument.
Funkcja yearname() identyfikuje rok, w którym przypada wartość daty, i zwraca go jako czterocyfrową wartość roku.
Przykład 5 — scenariusz
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Ten sam zbiór danych, co w pierwszym przykładzie.
Zmienna systemowa DateFormat, która jest ustawiona na „MM/DD/YYYY”.
Użytkownik końcowy chciałby otrzymać wykres przedstawiający łączną sprzedaż w ujęciu kwartalnym dla transakcji. Użyj funkcji yearname() jako wymiaru wyliczanego, aby utworzyć ten wykres, gdy wymiar yearname() nie jest dostępny w modelu danych.