跳到主要内容 跳到补充内容

yeartodate - 脚本和图表函数

此函数用于判断输入时间戳是否在最后加载脚本的日期的年份以内,并返回 True(如果在)或返回 False(如果不在)。

语法:  

YearToDate(timestamp[ , yearoffset [ , firstmonth [ , todaydate] ] ])

返回数据类型: 布尔值

信息注释

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

yeartodate() 函数的示例图表

显示 yeartodate 函数将返回 True 或 False 值的日期值的图表。

如果未使用可选参数,年初至今指日历年中 1 月 1 日以后任何一天,包括最近一次脚本执行日期。

换言之,当在没有其他参数的情况下触发 yeartodate() 函数时,该函数用于评估时间戳,并根据该日期是否发生在日历年内(包括重新加载发生的日期)返回布尔结果。

但是,也可以使用 firstmonth 参数取代年份的开始日期,以及使用 yearoffset 参数与前几年或后几年进行比较。

最后,在历史数据集的实例中,yeartodate() 函数提供了一个要设置 todaydate 的参数,该参数会将时间戳与 todaydate 参数中提供的日期(包括该日期)之前的日历年进行比较。

参数
参数 描述
timestamp

评估的时间戳,如 '10/12/2012'.。

yearoffset

通过指定 yearoffsetyeartodate 对于其他年份的同一时期返回 Trueyearoffset 为负表示上一年,偏移量为正表示下一年。通过指定 yearoffset = -1 获得至今的最近一年。如果忽略,则假设为 0。

firstmonth

通过在 1 和 12 之间(如果省略,则为 1)指定 firstmonth,年初可移动到任何一个月的第一天。例如,如果您想要从 5 月 1 日开始的财政年工作,请指定 firstmonth = 5。 值 1 表示从 1 月 1 日开始的财政年度,值 12 表示从 12 月 1 日起的财政年度。

todaydate 通过指定一个 todaydate(如果忽略执行上次脚本时间戳),这可作为该时期的上限移动该日。

适用场景

yeartodate() 函数返回布尔结果。通常,这种类型的函数将用作 if 表达式中的条件。这将返回一个聚合或计算,取决于评估日期是否发生在应用程序的最后一个重新加载日期之前(包括该日期)。

例如,YearToDate() 函数可用于标识当前年份迄今为止制造的所有设备。

下例假设上次重新加载时间 = 11/18/2011。

函数示例
Example 结果
yeartodate( '11/18/2010') 返回 False
yeartodate( '02/01/2011') 返回 True
yeartodate( '11/18/2011') 返回 True
yeartodate( '11/19/2011') 返回 False
yeartodate( '11/19/2011', 0, 1, '12/31/2011') 返回 True
yeartodate( '11/18/2010', -1) 返回 True
yeartodate( '11/18/2011', -1) 返回 False
yeartodate( '04/30/2011', 0, 5) 返回 False
yeartodate( '05/01/2011', 0, 5) 返回 True

区域设置

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

应用程序中的默认区域设置基于安装 Qlik Sense 的计算机或服务器的区域系统设置。如果您访问的 Qlik Sense 服务器设置为瑞典,则数据加载编辑器将使用瑞典地区设置的日期、时间和货币。这些区域格式设置与 Qlik Sense 用户界面中显示的语言无关。Qlik Sense 将以与您使用的浏览器相同的语言显示。

示例 1 – 基本示例

示例 2 – yearoffset

示例 3 – firstmonth

示例 4 – todaydate

示例 5 – 图表对象示例

示例 6 – 场景

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!