Ta funkcja zwraca wartość odpowiadającą znacznikowi czasu ostatniej milisekundy ostatniego dnia miesiąca zawierającego wartość date. Domyślnym formatem wyjściowym będzie format DateFormat skonfigurowany w skrypcie.
Składnia:
MonthEnd(date[, period_no])
Innymi słowy, funkcja monthend() określa, na który miesiąc przypada data. Następnie zwraca znacznik czasu w formacie daty dla ostatniej milisekundy tego miesiąca.
Kiedy używać
Funkcja monthend() jest powszechnie używana jako część wyrażenia, gdy użytkownik chce, by w obliczeniach użyto ułamka miesiąca, który jeszcze nie nastąpił. Na przykład, jeśli chcesz obliczyć łączne odsetki, które nie zostały jeszcze naliczone w ciągu miesiąca.
Typ zwracanych danych: dual
Argumenty
Argument
Opis
date
Data lub znacznik czasu do oszacowania.
period_no
period_no jest liczbą całkowitą, która, jeśli ma wartość 0 lub jest pominięta, oznacza miesiąc, który zawiera date. Wartości ujemne parametru period_no oznaczają miesiące poprzednie, a wartości dodatnie — miesiące następne.
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łady funkcji
Przykład
Wynik
monthend('02/19/2012')
Zwraca wartość 02/29/2012 23:59:59.
monthend('02/19/2001', -1)
Zwraca wartość 01/31/2001 23:59:59.
Przykład 1 — Przykład podstawowy
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.
Pole daty, które jest przekazywane w formacie zmiennej systemowej DateFormat (MM/DD/YYYY).
Instrukcja ładowania poprzedzającego zawiera:
funkcję monthend(), która jest ustawiona jako pole end_of_month.
funkcję timestamp, która jest ustawiona jako pole end_of_month_timestamp.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
id
date
previous_month_end
previous_month_end_timestamp
Tabela wynikowa
id
date
previous_month_end
previous_month_end_timestamp
8188
1/7/2022
12/31/2021
12/31/2021 11:59:59 PM
8189
1/19/2022
12/31/2021
12/31/2021 11:59:59 PM
8190
2/5/2022
01/31/2022
1/31/2022 11:59:59 PM
8191
2/28/2022
01/31/2022
1/31/2022 11:59:59 PM
8192
3/16/2022
02/28/2022
2/28/2022 11:59:59 PM
8193
4/1/2022
03/31/2022
3/31/2022 11:59:59 PM
8194
5/7/2022
04/30/2022
4/30/2022 11:59:59 PM
8195
5/16/2022
04/30/2022
4/30/2022 11:59:59 PM
8196
6/15/2022
05/31/2022
5/31/2022 11:59:59 PM
8197
6/26/2022
05/31/2022
5/31/2022 11:59:59 PM
8198
7/9/2022
06/30/2022
6/30/2022 11:59:59 PM
8199
7/22/2022
06/30/2022
6/30/2022 11:59:59 PM
8200
7/23/2022
06/30/2022
6/30/2022 11:59:59 PM
8201
7/27/2022
06/30/2022
6/30/2022 11:59:59 PM
8202
8/2/2022
07/31/2022
7/31/2022 11:59:59 PM
8203
8/8/2022
07/31/2022
7/31/2022 11:59:59 PM
8204
8/19/2022
07/31/2022
7/31/2022 11:59:59 PM
8205
9/26/2022
08/31/2022
8/31/2022 11:59:59 PM
8206
10/14/2022
09/30/2022
9/30/2022 11:59:59 PM
8207
10/29/2022
09/30/2022
9/30/2022 11:59:59 PM
Funkcja monthend() najpierw identyfikuje miesiąc, w którym miały miejsce transakcje, ponieważ jako argument przesunięcia period_no przekazano wartość -1. Następnie przesuwa zakres o miesiąc wstecz i identyfikuje ostatnią milisekundę tego miesiąca.
Transakcja 8192 miała miejsce 16 marca. Funkcja monthend() stwierdza, że miesiąc poprzedzający miesiąc transakcji to luty. Następnie zwraca ostatnią milisekundę tego miesiąca — 28 lutego o godz. 23:59:59.
Przykład 3 – przykład z wykresem
Przegląd
Używany jest ten sam zestaw danych i scenariusz co w pierwszym przykładzie.
W tym przykładzie zestaw danych pozostaje bez zmian i jest ładowany do aplikacji. Zadanie polega na utworzeniu obliczenia zwracającego znacznik czasu końca miesiąca, kiedy wystąpiły transakcje jako miary na wykresie aplikacji.
Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:
date
id
Aby obliczyć koniec miesiąca, w którym zawarto transakcję, utwórz następujące miary:
=monthend(date)
=timestamp(monthend(date))
Tabela wynikowa
id
date
=monthend(date)
=timestamp(monthend(date))
8188
10/14/2022
10/31/2022
10/31/2022 11:59:59 PM
8189
10/29/2022
10/31/2022
10/31/2022 11:59:59 PM
8190
9/26/2022
09/30/2022
9/30/2022 11:59:59 PM
8191
8/2/2022
08/31/2022
8/31/2022 11:59:59 PM
8192
8/8/2022
08/31/2022
8/31/2022 11:59:59 PM
8193
8/19/2022
08/31/2022
8/31/2022 11:59:59 PM
8194
7/9/2022
07/31/2022
7/31/2022 11:59:59 PM
8195
7/22/2022
07/31/2022
7/31/2022 11:59:59 PM
8196
7/23/2022
07/31/2022
7/31/2022 11:59:59 PM
8197
7/27/2022
07/31/2022
7/31/2022 11:59:59 PM
8198
6/15/2022
06/30/2022
6/30/2022 11:59:59 PM
8199
6/26/2022
06/30/2022
6/30/2022 11:59:59 PM
8200
5/7/2022
05/31/2022
5/31/2022 11:59:59 PM
8201
5/16/2022
05/31/2022
5/31/2022 11:59:59 PM
8202
4/1/2022
04/30/2022
4/30/2022 11:59:59 PM
8203
3/16/2022
03/31/2022
3/31/2022 11:59:59 PM
8204
2/5/2022
02/28/2022
2/28/2022 11:59:59 PM
8205
2/28/2022
02/28/2022
2/28/2022 11:59:59 PM
8206
1/7/2022
01/31/2022
1/31/2022 11:59:59 PM
8207
1/19/2022
01/31/2022
1/31/2022 11:59:59 PM
Miarę „end_of_month” tworzy się na wykresie, używając funkcji monthend() i przekazując pole daty jako jej argument.
Funkcja monthend() identyfikuje, w którym miesiącu przypada wartość daty, i zwraca znacznik czasu ostatniej milisekundy danego miesiąca.
Transakcja 8192 miała miejsce 16 marca. Funkcja monthend() zwraca ostatnią milisekundę tego miesiąca, czyli 31 marca o godz 23:59:59 (11:59:59 PM).
Przykład 4 — Scenariusz
Przegląd
W tym przykładzie zestaw danych jest ładowany do tabeli o nazwie Employee_Expenses. Tabela zawiera następujące pola:
Identyfikatory pracowników
Imiona i nazwiska pracownika
Średnie dzienne rozliczenia wydatków każdego pracownika.
Użytkownik końcowy chciałby, aby wykres wyświetlał, według identyfikatora pracownika oraz imienia i nazwiska pracownika, szacowane roszczenia z tytułu wydatków do poniesienia przez pozostałą część miesiąca.
Funkcja monthend() zwraca datę końcową bieżącego miesiąca na podstawie aktualnej daty przekazanej jako jej jedyny argument. Wyrażenie zwraca liczbę dni pozostałych w tym miesiącu przez odjęcie bieżącej daty od daty zakończenia miesiąca.
Wartość ta jest następnie mnożona przez średnie dzienne roszczenie z tytułu wydatków przez każdego pracownika, aby obliczyć szacunkową wartość roszczeń, które każdy pracownik złoży w pozostałej części miesiąca.
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ć!