inmonthstodate — funkcja skryptu i funkcja wykresu
Ta funkcja wyszukuje, czy znacznik czasu przypada w części okresu miesiąca, dwóch miesięcy, kwartału, czterech miesięcy lub półrocza z dokładnością do jednej milisekundy wartości base_date włącznie. Można także wyszukać, czy znacznik czasu przypada w okresie poprzednim lub następnym.
Składnia:
InMonths (n_months, timestamp, base_date, period_no[, first_month_of_year ])
Typ zwracanych danych: Wartość logiczna
Argument | Opis |
---|---|
n_months |
Liczba miesięcy określająca okres. Wartość całkowita lub wyrażenie, którego wynikiem jest jedna z następujących wartości całkowitych: 1 (równoważnik funkcji inmonth()), 2 (dwa miesiące), 3 (równoważnik funkcji inquarter()), 4 (cztery miesiące) lub 6 (pół roku). |
timestamp | Data, która ma być porównana z wartością base_date. |
base_date | Data używana do oceny okresu. |
period_no |
Okres może być przesunięty o wartość period_no — liczbę całkowitą lub wyrażenie, którego wynikiem jest liczba całkowita, gdzie wartość 0 wskazuje dzień zawierający wartość base_date. Wartości ujemne parametru period_no oznaczają okresy poprzednie, a wartości dodatnie — okresy 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. |
W funkcji inmonthstodate() data base_date pełni rolę punktu końcowego określonego segmentu roku, którego jest częścią.
Na przykład, jeśli rok zostanie podzielony na trzy części, a data base_date zostanie ustawiona na 15 maja, to każdy znacznik czasu mieszczący się między początkiem stycznia a końcem kwietnia będzie powodował zwrócenie logicznego fałszu. Daty między 1 maja i 15 maja będą dawać w wyniku prawdę. Dla pozostałej części roku będzie zwracany fałsz.
Następujące segmenty roku są dostępne w funkcji jako argumenty n_month:
Okres | Liczba miesięcy |
---|---|
miesiąc | 1 |
dwa miesiące | 2 |
kwartał | 3 |
cztery miesiące | 4 |
pół roku | 6 |
Kiedy używać
Funkcja inmonthstodate() zwraca wynik logiczny. Zazwyczaj ten typ funkcji jest używany jako warunek w if expression. Za pomocą funkcji inmonthstodate() możesz wybrać okres, który chcesz sprawdzić. Na przykład, przekazując zmienną wejściową, która pozwala użytkownikowi zidentyfikować produkty wytworzone w miesiącu, kwartale lub półroczu okresu do określonej daty.
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 | Wynik |
---|---|
inmonthstodate(4, '01/25/2013', '04/25/2013', 0) | Zwraca True, ponieważ wartość timestamp, 01/25/2013, mieści się w czteromiesięcznym okresie od 01/01/2013 do końca 04/25/2013, który obejmuje wartość 04/25/2013 argumentu base_date. |
inmonthstodate(4, '04/26/2013', '04/25/2006', 0) | Zwraca False, ponieważ 04/26/2013 znajduje się poza okresem z poprzedniego przykładu. |
inmonthstodate(4, '09/25/2005', '02/01/2006', -1) | Zwraca True, ponieważ wartość period_no, -1, przesuwa okres wyszukiwania w tył o jeden czteromiesięczny okres (wartość n-months), co sprawia, że okres wyszukiwania obejmuje daty od 01/09/2005 do 02/01/2006. |
inmonthstodate(4, '04/25/2006', '06/01/2006', 0, 3) | Zwraca True, ponieważ wartość first_month_of_year jest ustawiona na 3, co zmienia okres wyszukiwania na zakres dat od 03/01/2006 do 06/01/2006 zamiast od 05/01/2006 do 06/01/2006. |