Określa dzień początku tygodnia. Jeśli ten argument zostanie pominięty, wówczas zostanie użyta wartość zmiennejFirstWeekDay.
Możliwe wartości first_week_day to poniedziałek — 0, wtorek — 1, środa — 2, czwartek — 3, piątek — 4, sobota — 5 oraz niedziela — 6.
Aby uzyskać więcej informacji o zmiennej systemowej, zobacz FirstWeekDay.
broken_weeks
Jeśli wartość broken_weeks nie zostanie określona, wówczas wartość zmiennej BrokenWeeks zostanie zastosowana w celu zdefiniowania, czy tygodnie są dzielone, czy nie.
Aby uzyskać więcej informacji o tej zmiennej systemowej, zobacz BrokenWeeks
reference_day
Jeśli wartość reference_day nie zostanie określona, wówczas w celu zdefiniowania dnia w styczniu, który zostanie ustawiony jako dzień odniesienia do zdefiniowania tygodnia 1, zostanie użyta wartość zmiennej ReferenceDay. Domyślnie w funkcjach programu Qlik Sense za dzień odniesienia uznaje się 4. Oznacza to, że pierwszy tydzień musi zawierać datę 4 stycznia lub, ujmując rzecz inaczej, pierwszy tydzień musi zawsze zawierać co najmniej 4 dni w styczniu.
Aby uzyskać więcej informacji o tej zmiennej systemowej, zobacz ReferenceDay
Funkcja weekyear() określa, w którym tygodniu roku wypada określona data. Zwraca rok odpowiadający danemu numerowi tygodnia.
Jeżeli BrokenWeeks ma parametr 0 (fałsz), weekyear() zwróci to jako year().
Jeśli jednak zmienna systemowa BrokenWeeks zostanie ustawiona na używanie tygodni niedzielonych, pierwszy tydzień będzie musiał zawierać tylko pewną liczbę dni w styczniu, określoną przez wartość zmiennej systemowej ReferenceDay.
Na przykład, jeśli argumentowi ReferenceDay zostanie nadana wartość 4, pierwszy tydzień będzie musiał zawierać przynajmniej cztery dni w styczniu. Pierwszy tydzień może obejmować daty grudniowe z poprzedniego roku, a ostatni tydzień może obejmować daty ze stycznia następnego roku. W takich sytuacjach funkcja weekyear() zwróci inną wartość niż funkcja year().
Kiedy używać
Funkcja weekyear() jest przydatna, gdy chcesz porównać agregacje według lat. Na przykład, jeśli chcesz zobaczyć całkowitą sprzedaż produktów w ujęciu rocznym. Funkcję weekyear() należy wybrać zamiast funkcji year(), gdy użytkownik chce zachować spójność ze zmienną systemową BrokenWeeks w aplikacji.
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.
Zwraca liczbę całkowitą reprezentującą rok, gdy wyrażenie jest interpretowane jako data zgodnie ze standardową interpretacją liczb.
Przykład 1 – Tygodnie dzielone
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 ostatni tydzień 2020 r. i pierwszy tydzień 2021 r., który jest ładowany do tabeli o nazwie „Transactions”.
Zmienna BrokenWeeks, która jest ustawiona na 1.
Ładowanie poprzedzające, które zawiera następujące elementy:
Funkcja weekyear() ustawiona jako pole „week_year” zwracające rok, w którym miały miejsce transakcje.
Funkcja week(), ustawiona jako pole week pokazujące numer tygodnia każdej daty transakcji.
Skrypt ładowania
SET BrokenWeeks=1;
Transactions:
Load
*,
week(date) as week,
weekyear(date) as week_year
;
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
id
date
week
week_year
Tabela wynikowa
id
date
tydzień
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
1
2021
8181
01/02/2021
1
2021
8182
01/03/2021
2
2021
8183
01/04/2021
2
2021
8184
01/05/2021
2
2021
8185
01/06/2021
2
2021
8186
01/07/2021
2
2021
Pole „week_year” jest tworzone w instrukcji ładowania poprzedzającego przez użycie funkcji weekyear() i przekazanie pola daty jako jej argumentu.
Zmienna systemowa BrokenWeeks jest ustawiona na 1, co znaczy, że aplikacja używa tygodni dzielonych. Pierwszy tydzień zaczyna się 1 stycznia.
Transakcja 8181 ma miejsce 2 stycznia, czyli w dniu należącym do pierwszego tygodnia. W związku z tym zwraca wartość 2021 dla pola „week_year”.
Przykład 2 – Tygodnie niedzielone
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 ostatni tydzień 2020 r. i pierwszy tydzień 2021 r., który jest ładowany do tabeli o nazwie „Transactions”.
Zmienna BrokenWeeks, która jest ustawiona na 0.
Ładowanie poprzedzające, które zawiera następujące elementy:
Funkcja weekyear() ustawiona jako pole „week_year”, która zwraca rok, w którym miały miejsce transakcje.
Funkcja week(), ustawiona jako pole week pokazujące numer tygodnia każdej daty transakcji.
Jednak w tym przykładzie polityką firmy jest używać tygodni niedzielonych.
Skrypt ładowania
SET BrokenWeeks=0;
Transactions:
Load
*,
week(date) as week,
weekyear(date) as week_year
;
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
id
date
week
week_year
Tabela wynikowa
id
date
tydzień
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
53
2020
8181
01/02/2021
53
2020
8182
01/03/2021
1
2021
8183
01/04/2021
1
2021
8184
01/05/2021
1
2021
8185
01/06/2021
1
2021
8186
01/07/2021
1
2021
Zmienna systemowa BrokenWeeks jest ustawiona na 0, co znaczy, że aplikacja używa tygodni niedzielonych. W związku z tym pierwszy tydzień nie musi zaczynać się 1 stycznia.
Tydzień 53. 2020 roku trwa do końca 2 stycznia 2021 roku, a tydzień 1. 2020 roku zaczyna się w niedzielę 3 stycznia 2021 roku.
Transakcja 8181 ma miejsce 2 stycznia, czyli w dniu należącym do pierwszego tygodnia. W związku z tym zwraca wartość 2021 dla pola „week_year”.
Przykład 3 — 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 numer tygodnia roku, w którym miały miejsce transakcje, są 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ć tydzień, w którym ma miejsce transakcja, utwórz następującą miarę:
=week(date)
Aby obliczyć rok, w którym ma miejsce transakcja, na podstawie numeru tygodnia, utwórz następującą miarę:
=weekyear(date)
Tabela wynikowa
id
date
tydzień
week_year
8176
12/28/2020
53
2020
8177
12/29/2020
53
2020
8178
12/30/2020
53
2020
8179
12/31/2020
53
2020
8180
01/01/2021
1
2021
8181
01/02/2021
1
2021
8182
01/03/2021
2
2021
8183
01/04/2021
2
2021
8184
01/05/2021
2
2021
8185
01/06/2021
2
2021
8186
01/07/2021
2
2021
Pole „week_year” jest tworzone w instrukcji ładowania poprzedzającego przez użycie funkcji weekyear() i przekazanie pola daty jako jej argumentu.
Zmienna systemowa BrokenWeeks jest ustawiona na 1, co znaczy, że aplikacja używa tygodni dzielonych. Pierwszy tydzień zaczyna się 1 stycznia.
Transakcja 8181 ma miejsce 2 stycznia, czyli w dniu należącym do pierwszego tygodnia. W związku z tym zwraca wartość 2021 dla pola „week_year”.
Przykład 4 — 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 transakcji za ostatni tydzień 2020 r. i pierwszy tydzień 2021 r., który jest ładowany do tabeli o nazwie „Transactions”.
Zmienna BrokenWeeks, która jest ustawiona na 0. Zo znaczy, że aplikacja będzie używać tygodni niedzielonych.
Zmienna ReferenceDay, która jest ustawiona na 2. To znaczy, że rok rozpocznie się 2 stycznia i będzie miał przynajmniej dwa dni w styczniu.
Zmienna FirstWeekDay, która jest ustawiona na 1. To znaczy, że pierwszym dniem tygodnia będzie wtorek.
Firma przyjęła zasadę, że używa tygodni dzielonych. Użytkownik końcowy chciałby otrzymać wykres przedstawiający łączną sprzedaż w ujęciu rocznym. Aplikacja używa tygodni niedzielonych i pierwszy tydzień musi mieć przynajmniej dwa dni w styczniu.
Skrypt ładowania
SET BrokenWeeks=0;
SET ReferenceDay=2;
SET FirstWeekDay=1;
Transactions:
Load
*
Inline
[
id,date,amount
8176,12/28/2020,19.42
8177,12/29/2020,23.80
8178,12/30/2020,82.06
8179,12/31/2020,40.56
8180,01/01/2021,37.23
8181,01/02/2021,17.17
8182,01/03/2021,88.27
8183,01/04/2021,57.42
8184,01/05/2021,67.42
8185,01/06/2021,23.80
8186,01/07/2021,82.06
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę.
Aby obliczyć rok, w którym ma miejsce transakcja, na podstawie numeru tygodnia, utwórz następującą miarę:
=weekyear(date)
Aby obliczyć łączną sprzedaż, utworzyć następującą miarę:
sum(amount)
Ustaw Formatowanie liczb miary na Waluta.
Tabela wynikowa
weekyear(date)
=sum(amount)
2020
19.42
2021
373.37
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ć!