Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

week — funkcja skryptu i funkcja wykresu

Ta funkcja zwraca liczbę całkowitą reprezentującą numer tygodnia zgodnie z normą ISO 8601. Numer miesiąca jest obliczany na podstawie interpretacji daty z wyrażenia zgodnie ze standardową interpretacją liczb.

Składnia:  

week(timestamp [, first_week_day [, broken_weeks [, reference_day]]])

Przykładowy diagram funkcji week() z podzielonymi tygodniami

Diagram pokazujący, jak funkcja week dzieli daty w pierwszym miesiącu roku, stosując domyślny system dzielonych tygodni.

Numerowanie tygodni zaczyna się 1 stycznia (ponieważ domyślnie Qlik Sense ustawiono, aby używać dzielonych tygodni). Pierwszy tydzień kończy się w dniu poprzedzającym datę określaną przez zmienną systemową FirstWeekDay niezależnie od tego, ile dni upłynęło w tym tygodniu. Zmienną systemową FirstWeekDay można zastąpić w funkcji week() argumentem first_week_day.

Przykładowy diagram funkcji week() z niedzielonymi tygodniami i argumentem ReferenceDay=0

Diagram pokazujący, jak funkcja week dzieli daty w pierwszym miesiącu roku, bez stosowania systemu dzielonych tygodni.

Funkcja week() także umożliwia określenie, czy mają być używane tygodnie dzielone czy niedzielone. Służy do tego argument broken_weeks. Jeśli zostaną wybrane tygodnie dzielone, tydzień 1 musi zawierać określoną liczbę dni w styczniu zgodnie z definicją w zmiennej ReferenceDay. W związku z tym tydzień 1 może zaczynać się w grudniu lub ewentualnie tygodnie 52 lub 53 mogą być kontynuowane w styczniu. Argument reference_day umożliwia funkcji przesłonięcie zmiennej systemowej ReferenceDay.

W odróżnieniu od funkcji weekname(), funkcja week() nie zwraca wartości roku. To umożliwia tworzenie agregacji porównujących tygodnie między latami.

Ta funkcja przyjmuje cztery argumenty.

Data traktowana jako znacznik czasu lub wyrażenie, którego wynikiem jest znacznik czasu, przeznaczone do konwersji, na przykład '2012-10-12'.

Jeśli wartość first_week_day nie zostanie określona, jako pierwszy dzień tygodnia zostanie zastosowana wartość zmiennej FirstWeekDay.

Aby użyć innego dnia jako pierwszego dnia tygodnia, ustaw first_week_day na wartość:

  • 0 dla poniedziałku
  • 1 dla wtorku
  • 2 dla środy
  • 3 dla czwartku
  • 4 dla piątku
  • 5 dla soboty
  • 6 dla niedzieli

Liczba całkowita zwrócona przez funkcję będzie teraz używać pierwszego dnia tygodnia ustawionego za pomocą first_week_day.

FirstWeekDay

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.

Domyślnie w funkcjach Qlik Sense stosuje się tygodnie niedzielone. Oznacza to, że:

  • W niektórych latach tydzień 1 zaczyna się w grudniu, a w innych tydzień 52 lub 53 przeciąga się na styczeń.
  • Co najmniej cztery dni tygodnia 1 przypadają w styczniu.

Alternatywnym wyjściem jest użycie podzielonych tygodni.

  • Tydzień 52 ani 53 nie przeciąga się na styczeń.
  • Tydzień 1 zaczyna się 1 stycznia i w większości przypadków nie jest pełnym tygodniem.

Można użyć następujących wartości:

  • 0 (=użyj niepodzielonych tygodni)
  • 1 (=użyj podzielonych tygodni)

BrokenWeeks

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.

Do ustawiania innych dni referencyjnych można użyć następujących wartości:

  • 1 (= 1 stycznia)
  • 2 (= 2 stycznia)
  • 3 (= 3 stycznia)
  • 4 (= 4 stycznia)
  • 5 (= 5 stycznia)
  • 6 (= 6 stycznia)
  • 7 (= 7 stycznia)

ReferenceDay

Kiedy używać

Funkcja The week() jest przydatna, gdy chcesz porównać agregacje według tygodni. Można jej na przykład użyć, aby wyświetlić całkowitą sprzedaż produktów w ujęciu tygodniowym. Funkcja week() jest wybierana zamiast funkcji weekname(), gdy użytkownik nie chce, aby w obliczeniach były wykorzystywane zmienne systemowe aplikacji BrokenWeeks, FirstWeekDay lub ReferenceDay.

Ponadto funkcja week() jest wybierana, gdy chcemy dokonywać porównań między latami. Przy użyciu funkcji week() użytkownik może utworzyć własną kombinację tych zmiennych do użycia w przypadkach, w których używana jest ta funkcja.

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 wymiaru obliczanego.

Przykłady funkcji
Przykład Wynik

week( '10/12/2012')

Zwraca 41.

week( '35648') Zwraca 32, ponieważ 35648 = 06.08.1997.
week('10/12/2012', 0, 1) zwraca 42.

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 – Domyślne zmienne systemowe

Przykład 2 — first_week_day

Przykład 3 – unbroken_weeks

Przykład 4 – reference_day

Przykład 5 – Przykład z użyciem obiektu wykresu

Przykład 6 – Scenariusz

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ć!