minute - 指令碼與圖表函數
當 expression 的分數根據標準數字解譯的方式可解譯為時間時,此函數會傳回代表分鐘的整數。
語法:
minute(expression)
傳回的資料類型: 整數
什麼情況下使用
若您想要按分鐘比較彙總,則 minute() 函數很實用。例如,若您想要按分鐘查看活動計數分佈,可使用該函數。
可以使用該函數建立主要行事曆表格中的欄位,以在載入指令碼中建立這些維度。相反地,這可直接在圖表中作為計算維度使用。
範例 | 結果 |
---|---|
minute ( '09:14:36' ) |
傳回 14。 |
minute ( '0.5555' ) |
傳回 19 (因為 0.5555 = 13:19:55)。 |
區域設定
除非另有說明,否則此主題中的範例皆使用下列日期格式:MM/DD/YYYY。日期格式是在資料載入指令碼的 SET DateFormat 陳述式中指定。由於地區設定和其他因素,您系統中的預設日期格式可能會不同。您可以變更以下範例中的格式,以滿足您的需求。或者,您可以在載入指令碼中變更格式,以符合這些範例。如需詳細資訊,請參閱 修改用於應用程式和指令碼的區域設定。
應用程式中的預設地區設定是根據使用者設定檔。這些地區格式設定與 Qlik Cloud 使用者介面中顯示的語言無關。Qlik Cloud 顯示的語言將與您正在使用的瀏覽器相同。
若您是應用程式建立者,可以為您建立的應用程式設定預設地區。如需詳細資訊,請參閱Qlik Cloud 分析 中設定用於建立應用程式和指令碼的偏好區域設定。
範例 1 – 變數 (指令碼)
概覽
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
-
包含依時間戳記之交易的資料集,這載入到稱為 Transactions 的表格中。
-
已使用預設的 TimeStamp 系統變數 (M/D/YYYY h:mm:ss[.fff] TT)。
-
交易時用於計算的欄位 minute 建立。
載入指令碼
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';
Transactions:
Load
*,
minute(timestamp) as minute
;
Load
*
Inline
[
id,timestamp,amount
9497,'2022-01-05 19:04:57',47.25,
9498,'2022-01-03 14:21:53',51.75,
9499,'2022-01-03 05:40:49',73.53,
9500,'2022-01-04 18:49:38',15.35,
9501,'2022-01-01 22:10:22',31.43,
9502,'2022-01-05 19:34:46',13.24,
9503,'2022-01-04 22:58:34',74.34,
9504,'2022-01-06 11:29:38',50.00,
9505,'2022-01-02 08:35:54',36.34,
9506,'2022-01-06 08:49:09',74.23
];
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
-
timestamp
-
minute
時間戳記 | minute |
---|---|
2022-01-01 22:10:22 | 10 |
2022-01-02 08:35:54 | 35 |
2022-01-03 05:40:49 | 40 |
2022-01-03 14:21:53 | 21 |
2022-01-04 18:49:38 | 49 |
2022-01-04 22:58:34 | 58 |
2022-01-05 19:04:57 | 4 |
2022-01-05 19:34:46 | 34 |
2022-01-06 08:49:09 | 49 |
2022-01-06 11:29:38 | 29 |
使用 minute() 函數並傳遞 timestamp 作為前置 LOAD 陳述式中的運算式,以建立 minute 欄位中的值。
範例 2 – 圖表物件 (圖表)
概覽
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
-
與第一個範例相同的資料集和情境。
-
已使用預設的 TimeStamp 系統變數 (M/D/YYYY h:mm:ss[.fff] TT)。
不過,在此範例中,不變的資料集會載入到應用程式中。會透過圖表物件中的量值計算 minute 值。
載入指令碼
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';
Transactions:
Load
*
Inline
[
id,timestamp,amount
9497,'2022-01-05 19:04:57',47.25,
9498,'2022-01-03 14:21:53',51.75,
9499,'2022-01-03 05:40:49',73.53,
9500,'2022-01-04 18:49:38',15.35,
9501,'2022-01-01 22:10:22',31.43,
9502,'2022-01-05 19:34:46',13.24,
9503,'2022-01-04 22:58:34',74.34,
9504,'2022-01-06 11:29:38',50.00,
9505,'2022-01-02 08:35:54',36.34,
9506,'2022-01-06 08:49:09',74.23
];
結果
載入資料並開啟工作表。建立新的表格並將此欄位新增為維度: timestamp。
建立下列量值:
=minute(timestamp)
時間戳記 | minute |
---|---|
2022-01-01 22:10:22 | 10 |
2022-01-02 08:35:54 | 35 |
2022-01-03 05:40:49 | 40 |
2022-01-03 14:21:53 | 21 |
2022-01-04 18:49:38 | 49 |
2022-01-04 22:58:34 | 58 |
2022-01-05 19:04:57 | 4 |
2022-01-05 19:34:46 | 34 |
2022-01-06 08:49:09 | 49 |
2022-01-06 11:29:38 | 29 |
minute 值的建立方式是使用 minute() 函數並傳遞 timestamp 作為圖表物件量值中的運算式。
範例 3 – 情境
概覽
開啟資料載入編輯器並將下面的載入指令碼新增至新的索引標籤。
載入指令碼包含:
-
時間戳記的資料集,產生以在票閘入口呈現。
-
含每個 timestamp 及其對應 id 的資訊,這載入到稱為 Ticket_Barrier_Tracker 的表格中。
-
已使用預設的 TimeStamp 系統變數 (M/D/YYYY h:mm:ss[.fff] TT)。
使用者希望圖表物件依分鐘顯示票閘入口計數。
載入指令碼
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';
tmpTimeStampCreator:
load
*
where year(date)=2022;
load
date(recno()+makedate(2021,12,31)) as date
AutoGenerate 1;
join load
maketime(floor(rand()*24),floor(rand()*59),floor(rand()*59)) as time
autogenerate 10000;
Ticket_Barrier_Tracker:
load
recno() as id,
timestamp(date + time) as timestamp
resident tmpTimeStampCreator;
drop table tmpTimeStampCreator;
結果
請執行下列動作:
-
載入資料並開啟工作表。建立新的表格。
-
使用下列運算式建立計算維度:
=minute(timestamp)
-
新增下列彙總量值以計算總入口數:
=count(id)
-
將量值的數字格式設定為金錢。
minute(timestamp) | =count(id) |
---|---|
0 | 174 |
1 | 171 |
2 | 175 |
3 | 165 |
4 | 188 |
5 | 176 |
6 | 158 |
7 | 187 |
8 | 178 |
9 | 178 |
10 | 197 |
11 | 161 |
12 | 166 |
13 | 184 |
14 | 159 |
15 | 161 |
16 | 152 |
17 | 160 |
18 | 176 |
19 | 164 |
20 | 170 |
21 | 170 |
22 | 142 |
23 | 145 |
24 | 155 |
還有 + 35 列 |