跳到主要内容

inday - 脚本和图表函数

此函数用于返回 True,如果 timestamp 位于包含 base_timestamp 的一天以内。

语法:  

InDay (timestamp, base_timestamp, period_no[, day_start])

inday 函数的图表

该图显示了如何使用 inday 函数识别时间段并基于该段返回布尔结果。

inday() 函数使用base_timestamp 参数来标识时间戳属于哪一天。一天的开始时间默认为午夜;但是可以使用 inday() 函数的 day_start 参数更改一天的开始时间。一旦定义了这一天,当将规定的时间戳值与当天进行比较时,该函数将返回布尔结果。

inday() 函数返回布尔结果。通常,这种类型的函数将用作 if expression 中的条件。这将返回一个聚合或计算,具体取决于评估的日期是否发生在相关时间戳的当天。

例如,inday() 函数可用于识别给定日期内制造的所有设备。

返回数据类型: 布尔值

Qlik Sense 中,布尔 true 值由 -1 表示,false 值由 0 表示。

参数
参数 说明
timestamp 想要用来与 base_timestamp 进行比较的日期和时间。
base_timestamp 日期和时间用于计算时间戳的值。
period_no 该天可通过 period_no 偏移。period_no 为整数,其中值 0 表示该天包含 base_timestampperiod_no 为负数表示前几天,正数表示随后的几天。
day_start 如果不想从每一日的午夜开始处理,可指定一个偏移作为某日内时间的小数 day_start。例如,0.125 表示上午 3 点。

区域设置

除非另有规定,本主题中的示例使用以下日期格式:MM/DD/YYYY。日期格式已经在数据加载脚本中的 SET DateFormat 语句中指定。由于区域设置和其他因素,系统中的默认日期格式可能有所不同。您可以更改以下示例中的格式以满足您的要求。或者,您可以更改加载脚本中的格式以匹配这些示例。有关详细信息,请参阅修改应用程序区域设置

应用程序中的默认区域设置基于身份提供商设置、系统设置或浏览器设置的组合。这些区域格式设置与 Qlik Cloud 用户界面中显示的语言无关。Qlik Cloud 将以与您使用的浏览器相同的语言显示。

如果你是应用程序创建者,你可以为自己创建的应用程序设置默认区域。有关更多信息,请参阅设置创建应用程序所用的首选区域设置

函数示例
示例 结果
inday ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', 0) 返回 True
inday ('01/12/2006 12:23:00 PM', '01/13/2006 12:00:00 AM', 0) 返回 False
inday ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', -1) 返回 False
(inday'01/11/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', -1) 返回 True
inday ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', 0, 0.5) 返回 False
inday ('01/12/2006 11:23:00 AM', '01/12/2006 12:00:00 AM', 0, 0.5) 返回 True

示例 1 – LOAD 语句(脚本)

示例 2 – period_no

示例 3 – day_start

示例 4–图表对象(图表)

示例 5 – 场景