inweek - 脚本和图表函数
此函数用于返回 True,如果 timestamp 位于包含 base_date 的星期以内。
语法:
InWeek (timestamp, base_date, period_no[, first_week_day])
返回数据类型: 布尔值
在 Qlik Sense 中,布尔 true 值由 -1 表示,false 值由 0 表示。
inweek() 函数使用base_date 参数来确定日期所属的七天期间。一周的开始日期基于 FirstWeekDay 系统变量。但是,您可以使用 inweek() 函数中的 first_week_day 参数更改将哪个月设置为第一个月。
定义选定的周后,将指定的日期值与该周段进行比较时,函数将返回布尔值结果。
适用场景
InWeek 函数返回布尔值结果。通常,这种类型的函数将用作 if expression 中的条件。InWeek 函数返回一个聚合或计算,该聚合或计算取决于所计算的日期是否发生在 base_date 参数的选定日期所在的周内。
例如,InWeek 函数可用于识别特定周内制造的所有设备。
参数 | 描述 |
---|---|
timestamp | 想要用来与 base_date 进行比较的日期。 |
base_date | 日期用于计算星期的值。 |
period_no | 该星期可通过 period_no 偏移。period_no 为整数,其中值 0 表示该星期包含 base_date。period_no 为负数表示前几个星期,正数表示随后的几个星期。 |
first_week_day |
默认情况下,一周的第一天是星期日(由 FirstWeekDay 系统变量确定),从星期六和星期日之间的午夜开始。first_week_day 参数取代 FirstWeekDay 变量。要指示一周从另外一天开始,指定一个介于 0 和 6 之间的标志。 |
日 | 值 |
---|---|
星期一 | 0 |
星期二 | 1 |
星期三 | 2 |
星期四 | 3 |
星期五 | 4 |
星期六 | 5 |
星期日 | 6 |
区域设置
除非另有规定,本主题中的示例使用以下日期格式:MM/DD/YYYY。日期格式已经在数据加载脚本中的 SET DateFormat 语句中指定。由于区域设置和其他因素,系统中的默认日期格式可能有所不同。您可以更改以下示例中的格式以满足您的要求。或者,您可以更改加载脚本中的格式以匹配这些示例。有关详细信息,请参阅修改应用程序和脚本的区域设置。
应用程序中的默认区域设置基于用户配置文件。这些区域格式设置与 Qlik Cloud 用户界面中显示的语言无关。Qlik Cloud 将以与您使用的浏览器相同的语言显示。
如果你是应用程序创建者,你可以为自己创建的应用程序设置默认区域。有关更多信息,请参阅设置 Qlik Cloud 分析 中创建应用程序和脚本所用的首选区域设置。
示例 | 结果 |
---|---|
inweek ('01/12/2006', '01/14/2006', 0) | 返回 TRUE |
inweek ('01/12/2006', '01/20/2006', 0 ) | 返回 FALSE |
inweek ('01/12/2006', '01/14/2006', -1 ) | 返回 FALSE |
inweek ('01/07/2006', '01/14/2006', -1) | 返回 TRUE |
inweek ('01/12/2006', '01/09/2006', 0, 3) | 返回 FALSE是因为 first_week_day 指定为 3(星期四),这使得 01/12/2006 称为包含 01/09/2006 的一周的下一周的第一天. |
这些主题可以帮助您使用此函数:
主题 | 默认标志/值 | 描述 |
---|---|---|
FirstWeekDay | 6 / 周日 | 定义每周的开始日期。 |