# second - skript- och diagramfunktion

Denna funktion returnerar ett heltal som motsvarar sekunden om decimaldelen av expression tolkas som en tidpunkt enligt standardtolkningen av tal.

Syntax:

second (expression)

Returnerad datatyp: heltal

## Användning

Funktionen `second()` är användbar när du vill jämföra sammanställningar per sekund. Funktionen kan till exempel användas om du vill visa aktivitetsräkningsfördelningen per sekund.

Dessa dimensioner kan skapas antingen i laddningsskriptet genom att använda funktionen för att skapa ett fält i en Master Calendar-tabell, eller använda den direkt i ett diagram som en beräknad dimension.

Exempel på funktioner

| Exempel | Resultat |
| --- | --- |
| `second(<br>'09:14:36' )` | returnerar 36 |
| `second(<br>'0.5555' )` | returnerar 55 ( eftersom 0.5555 = 13:19:55 ) |

## Lokala inställningar

Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/ÅÅÅÅ. Datumformatet anges i `SET DateFormat`-satsen i datainläsningsskriptet. Förvald datumformatering kan vara annorlunda i ditt system, på grund av dina regionala inställningar och andra faktorer. Du kan ändra formaten i exemplen nedan så att det passar dina krav. Eller så kan du ändra formaten i ditt laddningsskript så att de matchar dessa exempel.

Standardregionalinställningar i appar baseras på de regionala systeminställningarna för datorn eller servern där Qlik Sense är installerad. Om Qlik Sense-servern du ansluter till är inställd på Sverige så kommer skriptredigeraren använda regionala inställningar för Sverige för datum, tid och valuta. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Sense användargränssnittet. Qlik Sense kommer att visas på samma språk som webbläsaren du använder.

## Exampel 1 – Variabel (skript)

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

#### Laddningsskript och resultat

Översikt

Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.

Laddningsskriptet innehåller:

* En datauppsättning som innehåller transaktioner efter tidsmarkör som läses in i en tabell som heter `Transactions`.

* `TimeStamp`-standardsystemvariabeln (`M/D/YYYY h:mm:ss[.fff] TT`) används.

* Ett fält skapas, `second`, för att beräkna när transaktionerna ägde rum.

Laddningsskript

```
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
];
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `date`

* `second`

Resultattabell

| date | andra |
| --- | --- |
| 01/01/2022 10:10:22 PM | 22 |
| 01/02/2022 8:35:54 AM | 54 |
| 01/03/2022 5:40:49 AM | 49 |
| 01/03/2022 2:21:53 PM | 53 |
| 01/04/2022 6:49:38 PM | 38 |
| 01/05/2022 7:04:57 PM | 57 |
| 01/05/2022 7:34:46 PM | 46 |
| 01/06/2022 8:49:09 AM | 9 |
| 01/06/2022 11:29:38 AM | 38 |
| 01/06/2022 10:58:34 PM | 34 |

Värdena i `second` f-fältet skapas genom att använda `second()`-funktionen och skicka datumet som uttrycket i föregående load-sats.

## Exempel 2 – Diagramobjekt

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

#### Laddningsskript och diagramuttryck

Översikt

Öppna skriptredigeraren och lägg till laddningsskriptet nedan i en ny flik.

Laddningsskriptet innehåller samma datauppsättning och scenario som i det första exemplet. I det här exemplet har dock den oförändrade datauppsättningen skickats till programmet. Värdena på `second` beräknas via ett mått i ett diagramobjekt.

Laddningsskript

```
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
];
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:`date`.

Skapa följande mått:

`=second(date)`

Resultattabell

| date | =second(date) |
| --- | --- |
| 01/01/2022 10:10:22 PM | 22 |
| 01/02/2022 8:35:54 AM | 54 |
| 01/03/2022 5:40:49 AM | 49 |
| 01/03/2022 2:21:53 PM | 53 |
| 01/04/2022 6:49:38 PM | 38 |
| 01/05/2022 7:04:57 PM | 57 |
| 01/05/2022 7:34:46 PM | 46 |
| 01/06/2022 8:49:09 AM | 9 |
| 01/06/2022 11:29:38 AM | 38 |
| 01/06/2022 10:58:34 PM | 34 |

Värdena för `second` skapas genom att använda funktionen `second()` och skicka datumet som ett uttryck i ett mått för diagramobjektet.

## Exempel 3 – Scenario

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

#### Laddningsskript och diagramuttryck

Översikt

Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.

Laddningsskriptet innehåller:

* En datauppsättning med tidsmarkörer, som genereras för att representera trafiken till en viss festivals webbplats för biljettförsäljning. De här tidsmarkörerna och ett motsvarande `id` laddas i en tabell som heter `Web_Traffic`.

* `TimeStamp`-systemvariabeln `M/D/YYYY h:mm:ss[.fff] TT` används.

I det här scenariot fanns det 10 000 biljetter, som började säljas 20 maj 2021 9:00. En minut senare var biljetterna slutsålda.

Användaren vill ha ett diagramobjekt som visar antalet besök på webbplatsen per sekund.

Laddningsskript

```
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;
```

Resultat

Gör följande:

1. Ladda data och öppna ett ark. Skapa en ny tabell.

2. Skapa sedan en beräknad dimension med följande uttryck:

   `=second(timestamp)`

3. Skapa ett aggregeringsmått för att beräkna det totala antalet poster:

   `=count(id)`

Resultattabellen kommer att se ut som nedanstående tabell, men med andra värden för aggregeringsmåttet:

Resultattabell

| second(timestamp) | =count(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 |
| + ytterligare 39 rader |  |