Nazwę dnia zdefiniowaną w zmiennej środowiskowej DayNames.
Wartość całkowitą od 0 do 6, która odpowiada nominalnemu dniu tygodnia (0-6).
Składnia:
weekday(date [,first_week_day=0])
Typ zwracanych danych: dual
Funkcja weekday() określa, w którym dniu tygodnia wypada dana data. Następnie zwraca łańcuch reprezentujący ten dzień.
W wyniku jest zwracana wartość liczbowa odpowiadająca temu dniu tygodnia (0-6), na podstawie pierwszego dnia tygodnia. Na przykład, jeśli pierwszy dzień tygodnia jest ustawiony na niedzielę, dla środy zostanie zwrócona wartość 3. Ten dzień początkowy jest określony przez zmienną systemową FirstWeekDay lub przez parametr funkcji first_week_day.
Tej wartości liczbowej można użyć jako elementu wyrażenia arytmetycznego. Na przykład pomnóż ją przez 1, aby zwrócić samą tę wartość.
Kiedy używać
Funkcja weekday() jest przydatna, gdy chcesz porównać agregacje według dnia tygodnia. Można jej na przykład użyć, aby porównać średnią sprzedaży produktów według dni tygodnia.
Te wymiary można utworzyć w skrypcie ładowania, używając tej funkcji w celu utworzenia pola w tabeli kalendarza głównego lub bezpośrednio na wykresie jako miary wyliczanej.
Aby ustawić dzień, w którym zaczyna się tydzień w argumencie first_week_day, możesz użyć następujących wartości:
first_week_day values
Dzień
Wartość
poniedziałek
0
wtorek
1
środa
2
czwartek
3
piątek
4
sobota
5
niedziela
6
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.
InformacjaJeśli nie określono inaczej, w tych przykładach zmienna FirstWeekDay jest ustawiona na 0.
Przykłady funkcji
Przykład
Wynik
weekday('10/12/1971')
zwraca „Tue” i 1.
weekday('10/12/1971' , 6)
zwraca „True” i 2.
Na tym przykładzie pierwszym dniem tygodnia jest niedziela (6).
SET FirstWeekDay=6;
...
weekday('10/12/1971')
Zwraca „True” i 2.
Przykład 1 – Dzień tygodnia jako łańcuch
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”.
Zmienna systemowa FirstWeekDay, która jest ustawiona na 6 (niedziela).
Zmienna DayNames, która jest ustawiona na używanie domyślnych nazw dni.
Ładowanie poprzedzające zawierające funkcję weekday(), która jest ustawiona jako pole week_day i zwraca dzień tygodnia, w którym odbyły się transakcje.
Skrypt ładowania
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
Load
*,
WeekDay(date) as week_day
;
Load
*
Inline
[
id,date,amount
8188,01/01/2022,37.23
8189,01/02/2022,17.17
8190,01/03/2022,88.27
8191,01/04/2022,57.42
8192,01/05/2022,53.80
8193,01/06/2022,82.06
8194,01/07/2022,40.39
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
id
date
week_day
Tabela wynikowa
id
date
week_day
8188
01/01/2022
Sat
8189
01/02/2022
Nie
8190
01/03/2022
Pon
8191
01/04/2022
Wto
8192
01/05/2022
Śro
8193
01/06/2022
Thu
8194
01/07/2022
Fri
Pole „week_day” jest tworzone w instrukcji ładowania poprzedzającego przez użycie funkcji weekday() i przekazanie pola daty jako jej argumentu.
Funkcja weekday() zwraca wartość łańcuchową określającą dzień tygodnia, tzn. zwraca nazwę dnia tygodnia, która jest ustawiona przez zmienną systemową DayNames.
Transakcja 8192 miała miejsce 5 stycznia. Zmienna systemowa FirstWeekDay ustawia pierwszy dzień tygodnia na niedzielę. Transakcja funkcji weekday() miała miejsce w środę i funkcja ta zwraca tę wartość w skróconej formie zmiennej systemowej DayNames, w polu week_day.
Wartości w polu week_day są wyrównane w kolumnie do prawej, ponieważ to pole zawiera podwójny wynik złożony z liczby i tekstu (środa, 3). Aby zamienić wartość pola na liczbowy odpowiednik, pole to można umieścić w funkcji num(). Na przykład, w transakcji 8192 środa zostałaby zamieniona na liczbę 3
Przykład 2 — first_week_day
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”.
Zmienna systemowa FirstWeekDay, która jest ustawiona na 6 (niedziela).
Zmienna DayNames, która jest ustawiona na używanie domyślnych nazw dni.
Ładowanie poprzedzające zawierające funkcję weekday(), która jest ustawiona jako pole week_day i zwraca dzień tygodnia, w którym odbyły się transakcje.
Skrypt ładowania
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
Load
*,
WeekDay(date,1) as week_day
;
Load
*
Inline
[
id,date,amount
8188,01/01/2022,37.23
8189,01/02/2022,17.17
8190,01/03/2022,88.27
8191,01/04/2022,57.42
8192,01/05/2022,53.80
8193,01/06/2022,82.06
8194,01/07/2022,40.39
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
id
date
week_day
Tabela wynikowa
id
date
week_day
8188
01/01/2022
Sat
8189
01/02/2022
Nie
8190
01/03/2022
Pon
8191
01/04/2022
Wto
8192
01/05/2022
Śro
8193
01/06/2022
Thu
8194
01/07/2022
Fri
Ponieważ funkcji weekday() przekazano wartość 1 jako argument first_week_day, pierwszym dniem tygodnia jest wtorek. W związku z tym wszystkie transakcje, które mają miejsce we wtorek będą miały podwójną wartość liczbową 0.
Transakcja 8192 miała miejsce 5 stycznia. Funkcja weekday() stwierdza, że jest to środa, więc wyrażenie zwróciłoby podwójną wartość liczbową 1.
Przykład 3 — przykład z obiektem wykresu
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”.
Zmienna systemowa FirstWeekDay, która jest ustawiona na 6 (niedziela).
Zmienna DayNames, która jest ustawiona na używanie domyślnych nazw dni.
Jednak w tym przykładzie zestaw danych pozostaje bez zmian i jest ładowany do aplikacji. Obliczenia identyfikujące wartość dnia tygodnia są utworzone jako miara na wykresie w aplikacji.
Skrypt ładowania
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
Load
*
Inline
[
id,date,amount
8188,01/01/2022,37.23
8189,01/02/2022,17.17
8190,01/03/2022,88.27
8191,01/04/2022,57.42
8192,01/05/2022,53.80
8193,01/06/2022,82.06
8194,01/07/2022,40.39
];
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
id
date
Aby obliczyć wartość dnia tygodnia, należy utworzyć następującą miarę:
=weekday(date)
Tabela wynikowa
id
date
=weekday(date)
8188
01/01/2022
Sat
8189
01/02/2022
Nie
8190
01/03/2022
Pon
8191
01/04/2022
Wto
8192
01/05/2022
Śro
8193
01/06/2022
Thu
8194
01/07/2022
Fri
Miara =weekday(date) jest tworzona na wykresie przy użyciu funkcji weekday(), której jako argument przekazano pole daty.
Funkcja weekday() zwraca wartość łańcuchową określającą dzień tygodnia, tzn. zwraca nazwę dnia tygodnia, która jest ustawiona przez zmienną systemową DayNames.
Transakcja 8192 miała miejsce 5 stycznia. Zmienna systemowa FirstWeekDay ustawia pierwszy dzień tygodnia na niedzielę. Transakcja funkcji weekday() miała miejsce w środę i funkcja ta zwraca tę wartość w skróconej formie zmiennej systemowej DayNames, w polu =weekday(date).
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 rok 2022, który jest ładowany do tabeli o nazwie „Transactions”.
Zmienna systemowa FirstWeekDay, która jest ustawiona na 6 (niedziela).
Zmienna DayNames, która jest ustawiona na używanie domyślnych nazw dni.
Użytkownik końcowy chciałby otrzymać wykres przedstawiający średnią sprzedaż według dnia tygodnia dla transakcji.
Skrypt ładowania
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
LOAD
RecNo() AS id,
MakeDate(2022, 1, Ceil(Rand() * 31)) as date,
Rand() * 1000 AS amount
Autogenerate(1000);
Wyniki
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
=weekday(date)
=avg(amount)
Ustaw Formatowanie liczb miary na Waluta.
Tabela wynikowa
=weekday(date)
Avg(amount)
Nie
$536.96
Pon
$500.80
Wto
$515.63
Śro
$509.21
Thu
$482.70
Fri
$441.33
Sat
$505.22
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ć!