second - 指令碼與圖表函數在此頁面
當 expression 的分數根據標準數字解譯的方式可解譯為時間時,此函數會傳回代表秒的整數。
語法:
second ( expression )
傳回的資料類型: 整數
什麼情況下使用
若您想要按秒比較彙總,則 second() 函數很實用。例如,若您想要按秒查看活動計數分佈,可使用該函數。
這些維度在建立時可以在載入指令碼進行,或使用函數建立「主要行事曆」表格的欄位,或是直接在圖表中當作計算維度使用。
函數範例
second(
'09:14:36' )
傳回 36
second(
'0.5555' )
傳回 55 (因為 0.5555 = 13:19:55)
區域設定
除非另有說明,否則此主題中的範例皆使用下列日期格式:MM/DD/YYYY。日期格式是在資料載入指令碼的 SET DateFormat 陳述式中指定。由於地區設定和其他因素,您系統中的預設日期格式可能會不同。您可以變更以下範例中的格式,以滿足您的需求。或者,您可以在載入指令碼中變更格式,以符合這些範例。
應用程式中的預設地區設定是根據安裝 Qlik Sense 之電腦或伺服器的地區系統設定。若您存取的 Qlik Sense 伺服器設定為瑞典,資料載入編輯器將會對日期、時間和貨幣使用瑞典文地區設定。這些地區格式設定與 Qlik Sense 使用者介面中顯示的語言無關。Qlik Sense 顯示的語言將與您正在使用的瀏覽器相同。
範例 1 – 變數 載入指令碼和結果 概覽
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
載入指令碼
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
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
結果表格 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
使用 second() 函數並傳遞日期作為前置 LOAD 陳述式中的運算式,以建立 second 欄位中的值。
範例 2 – 圖表物件 載入指令碼和圖表運算式 概覽
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含與第一個範例相同的資料集和情境。不過,在此範例中,不變的資料集會載入到應用程式中。會透過圖表物件中的量值計算 second 值。
載入指令碼
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
];
結果
載入資料並開啟工作表。建立新的表格並將此欄位新增為維度: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
second 值的建立方式是使用 second() 函數並傳遞日期作為圖表物件量值中的運算式。
範例 3 – 情境 載入指令碼和圖表運算式 概覽
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
在此情境中,總共有 10,000 張票券,並在 2021 年 5 月 20 日上午 9:00 開賣。票卷在一分鐘後完售。
使用者需要按秒顯示網站訪客數量的圖表物件。
載入指令碼
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;
結果
請執行下列動作:
載入資料並開啟工作表。建立新的表格。
接下來,使用下列運算式建立計算維度:
=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 其他 39 列