# today — funkcja skryptu i funkcja wykresu

Ta funkcja zwraca bieżącą datę. Funkcja zwraca wartości w formacie zmiennej systemowej `DateFormat`.

Składnia:

today([ timer\_mode])

Typ zwracanych danych: dual

Funkcji `today()` można użyć w skrypcie ładowania lub w obiektach wykresów.

Wartością domyślną `timer_mode` jest 1.

Argumenty

| Argument | Opis |
| --- | --- |
| timer\_mode | Może przyjmować następujące wartości:<br><br>0 (dzień ostatnio zakończonego ładowania danych)<br>1 (dzień w momencie wywołania funkcji)<br>2 (dzień w momencie otwarcia aplikacji)<br><br>InformacjaW przypadku użycia funkcji w skrypcie ładowania timer\_mode=0 da wynik będący dniem ostatnio zakończonego ładowania danych, z kolei timer\_mode=1 zwróci dzień wywołania funkcji w bieżącym ładowaniu danych. |

Przykłady funkcji

| timer\_mode value | Wynik w przypadku użycia w skrypcie ładowania | Wynik w przypadku użycia w obiekcie wykresu |
| --- | --- | --- |
| 0 | Zwraca datę, w formacie zmiennej systemowej `DateFormat`, ostatniego udanego przeładowania danych przed ostatnim załadowaniem danych. | Zwraca datę, w formacie zmiennej systemowej `DateFormat`, ostatniego przeładowania danych. |
| 1 | Zwraca datę, w formacie zmiennej systemowej `DateFormat`, ostatniego przeładowania danych. | Zwraca datę, w formacie zmiennej systemowej `DateFormat`, wywołania funkcji. |
| 2 | Zwraca datę, w formacie zmiennej systemowej `DateFormat`, początku sesji użytkownika w aplikacji. Zostanie on zaktualizowany dopiero po ponownym załadowaniu skryptu przez użytkownika. | Zwraca datę, w formacie zmiennej systemowej `DateFormat`, początku sesji użytkownika w aplikacji. Będzie on odświeżany na początku sesji lub po ponownym załadowaniu danych do aplikacji. |

## Kiedy używać

Funkcja `today()` jest używana jako element wyrażenia. Przy jej użyciu można na przykład obliczyć odsetki narosłe w ciągu miesiąca do bieżącej daty.

Poniższa tabela zawiera objaśnienie wyniku zwracanego przez funkcję `today()` dla różnych wartości argumentu `timer_mode`:

## 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 – generowanie obiektów przy użyciu skryptu ładowania

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/today.htm)

#### Skrypt ładowania i wyniki

Przegląd

Poniższy przykład tworzy trzy zmienne za pomocą funkcji `today()`. Każda zmienna używa jednej z opcji `timer_mode` w celu zademonstrowania tego efektu.

Aby zademonstrować przeznaczenie zmiennych, przeładuj skrypt, a następnie, po 24 godzinach, przeładuj go po raz drugi. Spowoduje to, że zmienne `today(0)` i `today(1)` będą miały różne wartości, co będzie stanowiło właściwą demonstrację ich przeznaczenia.

Skrypt ładowania

```
LET vPreviousDataLoad = today(0);
LET vCurrentDataLoad = today(1);
LET vApplicationOpened = today(2);
```

Wyniki

Gdy dane zostaną załadowane po raz drugi, utwórz trzy pola tekstowe, korzystając z poniższych wskazówek.

Najpierw utwórz pole tekstowe dla danych, które zostały wcześniej załadowane.

Wykonaj następujące czynności:

1. Używając obiektu wykresu Tekst i grafika, utwórz pole tekstowe.

2. Dodaj następującą miarę do obiektu:

   `=vPreviousDataLoad`

3. W sekcji Wygląd wybierz Show titles i dodaj do obiektu tytuł „Previous Reload Time”.

Następnie utwórz pole tekstowe dla danych, które są aktualnie ładowane.

Wykonaj następujące czynności:

1. Używając obiektu wykresu Tekst i grafika, utwórz pole tekstowe.

2. Dodaj następującą miarę do obiektu:

   `=vCurrentDataLoad`

3. W sekcji Wygląd wybierz Show titles i dodaj do obiektu tytuł „Current Reload Time”.

Utwórz ostatnie pole tekstowe, aby pokazać, kiedy sesja użytkownika w aplikacji została rozpoczęta.

Wykonaj następujące czynności:

1. Używając obiektu wykresu Tekst i grafika, utwórz pole tekstowe.

2. Dodaj następującą miarę do obiektu:

   `=vApplicationOpened`

3. W sekcji Wygląd wybierz Show titles i dodaj do obiektu tytuł „User Session Started”.

Diagram zmiennych utworzonych przy użyciu funkcji `today()` w skrypcie ładowania

Diagram zmiennych utworzonych przy użyciu funkcji `today()` w skrypcie ładowania

Diagram zmiennych utworzonych przy użyciu funkcji `today()`today() w skrypcie ładowania![Diagram pokazujący, jak może wyglądać każde z trzech wygenerowanych pól tekstowych po użyciu funkcji today() w celu załadowania zmiennych przez skrypt ładowania.](https://help.qlik.com/pl-PL/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-today-example-variables-script.png)

Powyższy obraz pokazuje przykładowe wartości dla każdej z utworzonych zmiennych. Na przykład, te wartości mogą być następujące:

* Czas poprzedniego przeładowania: 22.06.2022 r.

* Czas bieżącego przeładowania: 23.06.2022 r.

* Początek sesji użytkownika: 23.06.2022 r.

## Przykład 2 – generowanie obiektów bez skryptu ładowania

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/today.htm)

#### Skrypt ładowania i wyrażenie wykresu

Przegląd

Poniższy przykład tworzy trzy obiekty wykresu za pomocą funkcji `today()`. Każdy obiekt wykresu używa jednej z opcji `timer_mode` w celu zademonstrowania tego efektu.

W tym przykładzie nie ma skryptu ładowania.

Wyniki

Po załadowaniu danych drugi raz utwórz trzy pola tekstowe.

Najpierw utwórz pole tekstowe dla ostatniego przeładowania danych.

Wykonaj następujące czynności:

1. Używając obiektu wykresu Tekst i grafika, utwórz pole tekstowe.

2. Dodaj następującą miarę:

   `=today(0)`

3. W sekcji Wygląd wybierz Pokaż tytuły i dodaj do obiektu tytuł „Latest Data Reload”.

Następnie utwórz pole tekstowe, aby pokazać bieżący czas.

Wykonaj następujące czynności:

1. Używając obiektu wykresu Tekst i grafika, utwórz pole tekstowe.

2. Dodaj następującą miarę:

   `=today(1)`

3. W sekcji Wygląd wybierz Pokaż tytuły i dodaj do obiektu tytuł „Current Time”.

Utwórz ostatnie pole tekstowe, aby pokazać, kiedy sesja użytkownika w aplikacji została rozpoczęta.

Wykonaj następujące czynności:

1. Używając obiektu wykresu Tekst i grafika, utwórz pole tekstowe.

2. Dodaj następującą miarę:

   `=today(2)`

3. W sekcji Wygląd wybierz Pokaż tytuły i dodaj do obiektu tytuł „User Session Began”.

Diagram obiektów utworzonych przy użyciu funkcji `today()` bez skryptu ładowania

Diagram obiektów utworzonych przy użyciu funkcji `today()` bez skryptu ładowania

Diagram obiektów utworzonych przy użyciu funkcji `today()`today() bez skryptu ładowania![Diagram pokazujący, jak mogłoby wyglądać każde z trzech wygenerowanych pól tekstowych po użyciu funkcji today() w celu utworzenia tylko obiektów wykresu, bez załadowania danych do aplikacji.](https://help.qlik.com/pl-PL/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-today-example-variables-chart.png)

Powyższy obraz pokazuje przykładowe wartości dla każdego z utworzonych obiektów. Na przykład, te wartości mogą być następujące:

* Ostatnie przeładowanie danych: 23.06.2022 r.

* Bieżący czas: 23.06.2022 r.

* Początek sesji użytkownika: 23.06.2022 r.

Obiekt wykresu „Ostatnie przeładowanie danych” używa argumentu `timer_mode` o wartości 0. Powoduje to zwrócenie znacznika czasu ostatniego udanego przeładowania danych.

Obiekt wykresu „Bieżący czas” używa argumentu `timer_mode` o wartości 1. Powoduje to zwrócenie bieżącego czasu według zegara systemowego. Jeśli arkusz lub obiekt zostanie odświeżony, ta wartość zostanie zaktualizowana.

Obiekt wykresu „Początek sesji użytkownika” używa argumentu `timer_mode` o wartości 2. Powoduje to zwrócenie znacznika czasu otwarcia aplikacji i rozpoczęcia sesji użytkownika.

## Przykład 3 — Scenariusz

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/today.htm)

#### Skrypt ładowania i wyrażenie 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 sald kredytów, który jest ładowany do tabeli o nazwie `Loans`.

* Tabela danych z polami identyfikatora kredytu, salda na początku miesiąca i prostej stopy procentowej naliczanej od każdego kredytu rocznie.

Użytkownik końcowy chciałby, aby obiekt wykresu wyświetlał według identyfikatora pożyczki bieżące odsetki naliczone od każdej pożyczki w bieżącym miesiącu. Mimo że aplikacja jest przeładowywana tylko raz na tydzień, użytkownik chciałby, aby wyniki były odświeżane przy każdym odświeżeniu obiektu lub aplikacji.

Skrypt ładowania

```
Loans:
Load
*
Inline 
[
loan_id,start_balance,rate
8188,$10000.00,0.024
8189,$15000.00,0.057
8190,$17500.00,0.024
8191,$21000.00,0.034
8192,$90000.00,0.084
];
```

Wyniki

Wykonaj następujące czynności:

1. Załaduj dane i otwórz arkusz. Utwórz nową tabelę.

2. Dodaj następujące pola jako wymiary:

   * `loan_id`

   * `start_balance`

3. Następnie utwórz miarę, aby obliczyć narosłe odsetki:

   `=start_balance*(rate*(today(1)-monthstart(today(1)))/365)`

4. Ustaw Formatowanie liczb miary na Waluta.

Tabela wynikowa

| loan\_id | start\_balance | =start\_balance\*(rate\*(today(1)-monthstart(today(1)))/365) |
| --- | --- | --- |
| 8188 | $10000.00 | $16.44 |
| 8189 | $15000.00 | $58.56 |
| 8190 | $17500.00 | $28.77 |
| 8191 | $21000.00 | $48.90 |
| 8192 | $90000.00 | $517.81 |

Funkcja `monthstart()` zwraca datę początkową bieżącego miesiąca, używając funkcji `today()` zwracającej bieżącą datę jako jedynego argumentu. Odejmując ten wynik od bieżącej daty, uzyskanej za pomocą funkcji `today()`, wyrażenie to zwraca liczbę dni, które upłynęły do tej pory w tym miesiącu.

Wartość ta jest następnie mnożona przez stopę procentową i dzielona przez 365, aby uzyskać wysokość odsetek nagromadzonych do tego momentu tygodnia. Wynik jest następnie mnożony przez saldo początkowe pożyczki, aby zwrócić odsetki naliczone do tej pory w tym miesiącu.

Ponieważ w wyrażeniu funkcjom `today()` jako argument `timer_mode` przekazano wartość 1, przy każdym odświeżeniu obiektu wykresu (przez otwarcie aplikacji, odświeżenie strony, przejście między arkuszami itd.) będzie zwracana bieżąca data, a wyniki będą odpowiednio odświeżane.