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 字段中的值是通过使用 second() 函数并将日期作为前置 Load 语句中的表达式传递来创建的。
示例 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 – 场景 加载脚本和图表表达式 概述
打开数据加载编辑器,并将下面的加载脚本添加到新选项卡。
加载脚本包含:
在这种情况下,共有 10000 张门票,于 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 更多行