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

inlunarweek - 脚本和图表函数

此函数用于判断 timestamp 是否位于包含 base_date 的阴历周以内。Qlik Sense 中的农历周定义为将 1 月 1 日计算为一周的第一天。除了一年中的最后一周外,每周都会有七天。

语法:  

InLunarWeek (timestamp, base_date, period_no[, first_week_day])

返回数据类型: 布尔值

信息注释

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

inlunarweek() 函数决定 base_date 属于哪个农历周。一旦确定每个时间戳值是否与 base_date 发生在同一个农历周内,它就会返回布尔值结果。

inlunarweek() 函数的图表

inlunarweek 函数的示例图,显示给定输入信息时函数将返回 TRUE 值的日期。

适用场景

inlunarweek() 函数返回布尔值结果。通常,这种类型的函数将用作 IF 表达式中的条件。这将返回聚合或计算结果,具体取决于评估的日期是否发生在所讨论的农历周。

例如,inlunarweek() 函数可用于识别特定农历周内制造的所有设备。

参数
参数 说明
timestamp 想要用来与 base_date 进行比较的日期。
base_date 日期用于计算阴历周的值。
period_no 阴历周可通过 period_no 偏移。period_no 为整数,其中值 0 表示该阴历周包含 base_dateperiod_no 为负数表示前几个阴历星期,为正数表示随后的几个阴历星期。
first_week_day 偏移可以大小或小于零。这可以按指定的天数和/或某日内时间的小数对更改一年的开始。
函数示例
示例 结果
inlunarweek('01/12/2013', '01/14/2013', 0) 由于 timestamp01/12/2013 的值, 属于 01/08/201301/14/2013 的周之内,返回 TRUE
inlunarweek('01/12/2013', '01/07/2013', 0) 由于 base_date 01/07/2013 处于定义为 01/01/201301/07/2013 的农历周,返回 FALSE
inlunarweek('01/12/2013', '01/14/2013', -1) 返回 FALSE。将 period_no 的值指定为 -1,表示将周移动到前一周,即 01/01/201301/07/2013
inlunarweek('01/07/2013', 01/14/2013', -1) 返回 TRUE。与前面的示例相比,timestamp 是在考虑到向后移动后的后续周内。
inlunarweek('01/11/2006', '01/08/2006', 0, 3) 返回 FALSE。为 first_week_day 指定值 3 表示从 01/04/2013 开始计算年初。因此,base_date 的值在第一周下降,而 timestamp 的值在周 01/11/2013 内下降到 01/17/2013

inlunarweek() 函数通常与以下功能结合使用:

相关函数
函数 交互
lunarweekname - 脚本和图表函数 此函数用于确定输入日期所在年份的农历周数。

区域设置

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

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

示例 1 – 没有其他参数

示例 2 – period_no

示例 3 – first_week_day

示例 4 – 图表对象

示例 5 – 场景

本页面有帮助吗?

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