# today funkcja skryptu i funkcja wykresu

Ta funkcja zwraca bieżącą datę, ustalaną według czasu UTC. Funkcja zwraca wartości w formacie zmiennej systemowej `DateFormat`.

Składnia:

today([ timer\_mode])

Typ zwracanych danych: wartość podwójna

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

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/YYYY. 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. Więcej informacji można znaleźć w temacie [Modyfikowanie ustawień regionalnych na potrzeby aplikacji i skryptów](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Domyślne ustawienia regionalne w aplikacjach są oparte na profilu użytkownika. Te ustawienia regionalne nie są związane z językiem wyświetlanym w interfejsie użytkownika Qlik Cloud. Interfejs Qlik Cloud będzie wyświetlany w tym samym języku co używana przeglądarka.

Jeżeli jesteś twórcą aplikacji, możesz wybrać domyślny region dla tworzonych przez siebie aplikacji. Więcej informacji zawiera temat [Ustawianie preferowanych ustawień regionalnych do tworzenia aplikacji i skryptów w Analityka Qlik Cloud](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

## Przykład 1 – generowanie obiektów przy użyciu skryptu ładowania

[](https://help.qlik.com/en-US/cloud-services/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/cloud-services/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/cloud-services/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/cloud-services/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 — zastosowanie

[](https://help.qlik.com/en-US/cloud-services/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 sekcji.

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.