# second — funkcja skryptu i funkcja wykresu

Ta funkcja zwraca liczbę całkowitą reprezentującą sekundy, gdy ułamek expression jest interpretowany jako czas zgodnie ze standardową interpretacją liczb.

Składnia:

second (expression)

Typ zwracanych danych: liczba całkowita

## Kiedy używać

Funkcja `second()` jest przydatna, gdy chcesz porównać agregacje według sekundy. Za pomocą tej funkcji można na przykład sprawdzić rozkład liczb aktywności w ujęciu sekundowym.

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 |
| --- | --- |
| `second(<br>'09:14:36' )` | zwraca 36 |
| `second(<br>'0.5555' )` | zwraca 55 (ponieważ 0,5555 = 13:19:55) |

## 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 – zmienna

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

#### Skrypt ładowania i wyniki

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych zawierający transakcje wg znacznika czasu, który jest ładowany do tabeli o nazwie `Transactions`.

* Została użyta domyślna zmienna systemowa `TimeStamp` (`M/D/YYYY h:mm:ss[.fff] TT`).

* Utworzenie pola `second` obliczającego czas dokonywania zakupów.

Skrypt ładowania

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Transactions:
    Load
        *,
        second(date) as second
        ;
Load
*
Inline 
[
id,date,amount
9497,'01/05/2022 7:04:57 PM',47.25
9498,'01/03/2022 2:21:53 PM',51.75
9499,'01/03/2022 5:40:49 AM',73.53
9500,'01/04/2022 6:49:38 PM',15.35
9501,'01/01/2022 10:10:22 PM',31.43
9502,'01/05/2022 7:34:46 PM',13.24
9503,'01/06/2022 10:58:34 PM',74.34
9504,'01/06/2022 11:29:38 AM',50.00
9505,'01/02/2022 8:35:54 AM',36.34
9506,'01/06/2022 8:49:09 AM',74.23
];
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `date`

* `second`

Tabela wynikowa

| date | drugie |
| --- | --- |
| 01.01.2022 22:10:22 | 22 |
| 01/02/2022 08:35:54 | 54 |
| 03.01.2022 05:40:49 | 49 |
| 03.01.2022 14:21:53 | 53 |
| 04.01.2022 18:49:38 | 38 |
| 05.01.2022 19:04:57 | 57 |
| 05.01.2022 19:34:46 | 46 |
| 06.01.2022 08:49:09 | 9 |
| 01/06/2022 11:29:38 AM | 38 |
| 04.01.2022 22:58:34 | 34 |

Wartości w polu `second` są tworzone za pomocą funkcji `second()` i przez przekazanie daty jako wyrażenia w instrukcji ładowania poprzedzającego.

## Przykład 2 – obiekt wykresu

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/second.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 ten sam zestaw danych i scenariusz co w pierwszym przykładzie. Jednak w tym przykładzie do aplikacji został załadowany niezmieniony zbiór danych. Wartości `second` są obliczane przez miarę w obiekcie wykresu.

Skrypt ładowania

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Transactions:
Load
*
Inline 
[
id,date,amount
9497,'01/05/2022 7:04:57 PM',47.25
9498,'01/03/2022 2:21:53 PM',51.75
9499,'01/03/2022 5:40:49 AM',73.53
9500,'01/04/2022 6:49:38 PM',15.35
9501,'01/01/2022 10:10:22 PM',31.43
9502,'01/05/2022 7:34:46 PM',13.24
9503,'01/06/2022 10:58:34 PM',74.34
9504,'01/06/2022 11:29:38 AM',50.00
9505,'01/02/2022 8:35:54 AM',36.34
9506,'01/06/2022 8:49:09 AM',74.23
];
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:`date`.

Utwórz następującą miarę:

`=second(date)`

Tabela wynikowa

| date | =sekunda(data) |
| --- | --- |
| 01/01/2022 22:10:22 | 22 |
| 01/02/2022 08:35:54 | 54 |
| 03.01.2022 05:40:49 | 49 |
| 03.01.2022 14:21:53 | 53 |
| 04.01.2022 18:49:38 | 38 |
| 05.01.2022 19:04:57 | 57 |
| 05.01.2022 19:34:46 | 46 |
| 06.01.2022 08:49:09 | 9 |
| 01/06/2022 11:29:38 AM | 38 |
| 04.01.2022 22:58:34 | 34 |

Wartości dla `second` są tworzone za pomocą funkcji `second()` i przez przekazanie daty jako wyrażenia w mierze dla obiektu wykresu.

## Przykład 3 — zastosowanie

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

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

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych znaczników czasu, który reprezentuje ruch do określonej strony internetowej sprzedaży biletów na festiwal. Te znaczniki i odpowiedni `id` zostają załadowane do tabeli o nazwie `Web_Traffic`.

* Używana jest zmienna systemowa `TimeStamp` `M/D/YYYY h:mm:ss[.fff] TT`.

W tym przypadku było 10000 biletów, które wystawiono na sprzedaż 20 maja 2021 r. o godz. 9:00. Minutę później bilety były wyprzedane.

Użytkownik chciałby otrzymać obiekt wykresu pokazujący liczbę wizyt w witrynie w ujęciu sekundowym.

Skrypt ładowania

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

tmpTimeStampCreator:
load
    makedate(2022,05,20) as date
AutoGenerate 1;

join load
    maketime(9+floor(rand()*2),0,floor(rand()*59)) as time
autogenerate 10000;

Web_Traffic:
load
    recno() as id,
    timestamp(date + time) as timestamp
resident tmpTimeStampCreator;

drop table tmpTimeStampCreator;
```

Wyniki

Wykonaj następujące czynności:

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

2. Następnie utwórz wymiar wyliczany za pomocą następującego wyrażenia:

   `=second(timestamp)`

3. Utwórz miarę agregacji, aby obliczyć sumę wejść:

   `=count(id)`

Tabela wyników będzie wyglądać podobnie do poniższej tabeli, tylko będzie zawierała inne wartości dla miary agregacji:

Tabela wynikowa

| second(znacznik czasu) | =licz(id) |
| --- | --- |
| 0 | 150 |
| 1 | 184 |
| 2 | 163 |
| 3 | 178 |
| 4 | 179 |
| 5 | 158 |
| 6 | 177 |
| 7 | 169 |
| 8 | 149 |
| 9 | 186 |
| 10 | 169 |
| 11 | 179 |
| 12 | 186 |
| 13 | 182 |
| 14 | 180 |
| 15 | 153 |
| 16 | 191 |
| 17 | 203 |
| 18 | 158 |
| 19 | 159 |
| 20 | 163 |
| Jeszcze 39 wierszy |  |