inyeartodate - 脚本和图表函数
此函数用于返回 True,如果 timestamp 位于包含 base_date 为止以及包括 base_date 最后毫秒的年份部分以内。
语法:
InYearToDate (timestamp, base_date, period_no[, first_month_of_year])
返回数据类型: 布尔值
在 Qlik Sense 中,布尔 true 值由 -1 表示,false 值由 0 表示。
inyeartodate 函数图表

inyeartodate() 函数将使用 base_date 分割该年的特定部分,识别该年段的最大允许日期。然后,该函数计算日期字段或值是否属于该段,并返回布尔值结果。
参数 | 描述 |
---|---|
timestamp | 想要用来与 base_date 进行比较的日期。 |
base_date | 日期用于计算年份的值。 |
period_no | 该年份可通过 period_no 偏移。period_no 为整数,其中值 0 表示该年份包含 base_date。period_no 为负数表示前几年,为正数表示随后几年。 |
first_month_of_year | 如果您不想从一月开始处理(财政)年,可在 first_month_of_year 中指定一个介于 2 和 12 之间的值。 |
适合使用 inyeartodate 的情况
inyeartodate() 函数返回布尔值结果。通常,这种类型的函数将用作 if 表达式中的条件。这将返回一个聚合或计算,这取决于评估日期是否发生在该日期之前的年份。
例如,inyeartodate() 函数可用于识别截至特定日期的一个年内制造的所有设备。
以下示例使用日期格式 MM/DD/YYYY。日期格式已经在数据加载脚本顶部的 SET DateFormat 语句中指定。可以根据要求更改示例中的格式。
示例 | 结果 |
---|---|
inyeartodate ('01/25/2013', '02/01/2013', 0) | 返回 TRUE。 |
inyeartodate ('01/25/2012', '01/01/2013', 0) | 返回 FALSE。 |
inyeartodate ('01/25/2012', '02/01/2013', -1) | 返回 TRUE。 |
inyeartodate ('11/25/2012', '01/31/2013', 0, 4) | 返回 TRUE。 timestamp 的值在第四个月中开始的财政年内,并在 base_date 的值之前。 |
inyeartodate ('3/31/2013', '01/31/2013', 0, 4 ) | 返回 FALSE。 与前面的示例相比, timestamp 的值仍在财政年内,但它在 base_date 的值之后,因此它属于一年的某一部分以外。 |
区域设置
除非另有规定,本主题中的示例使用以下日期格式:MM/DD/YYYY。日期格式已经在数据加载脚本中的 SET DateFormat 语句中指定。由于区域设置和其他因素,系统中的默认日期格式可能有所不同。您可以更改以下示例中的格式以满足您的要求。或者,您可以更改加载脚本中的格式以匹配这些示例。有关详细信息,请参阅修改应用程序和脚本的区域设置。
应用程序中的默认区域设置基于用户配置文件。这些区域格式设置与 Qlik Cloud 用户界面中显示的语言无关。Qlik Cloud 将以与您使用的浏览器相同的语言显示。
如果你是应用程序创建者,你可以为自己创建的应用程序设置默认区域。有关更多信息,请参阅设置 Qlik Cloud Analytics 中创建应用程序和脚本所用的首选区域设置。