Qlik Sense集合分析:筛选去年最后一月至当前月的Period数据
Qlik Set Analysis:筛选去年最后一个月至当前月的数据
针对你的需求,这里提供两种常见Period字段格式下的Set Analysis实现方案:
情况1:Period为YYYYMM格式(字符串/数值,如202112、202211)
直接通过字符串拼接生成时间范围的边界值,Set表达式如下:
{<Period={">=$(=Year(Today())-1 & '12') <=$(=Date(Today(),'YYYYMM'))"}>}
Year(Today())-1 & '12':自动计算去年12月的YYYYMM标识(当前年为2022时,结果为202112)Date(Today(),'YYYYMM'):将当前日期转换为YYYYMM格式,得到当前月的标识(当前月为2022年11月时,结果为202211)- 通过
>=和<=限定Period落在目标区间内
情况2:Period为日期格式(如2021-12-01、2022-11-30)
利用Qlik的日期函数直接定位时间边界,Set表达式如下:
{<Period={">=$(=MonthStart(YearEnd(Today(),-1))) <=$(=MonthEnd(Today()))"}>}
MonthStart(YearEnd(Today(),-1)):获取去年12月的第一天(如果你的Period是每月最后一天,可去掉MonthStart()直接用YearEnd(Today(),-1))MonthEnd(Today()):获取当前月的最后一天,确保覆盖当前月全量数据
额外注意事项
- 如果
Period是其他格式(如MM/YYYY),需调整日期函数的格式参数,匹配字段存储格式,例如Date(Today(),'MM/YYYY') - 可将
Today()替换为自定义变量(如vCurrentMonthEnd),方便灵活控制筛选的基准时间 - 调试时可单独计算表达式中的时间函数(如在表达式编辑器输入
=Year(Today())-1 & '12'),验证边界值是否符合预期
内容的提问来源于stack exchange,提问作者Juji
相关产品推荐
相关产品推荐

