You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qlik中按PN计算Date_1与Date_2指定年份日期的需求

Qlik脚本实现指定年份日期计算

思路

不用搞复杂循环,直接用Qlik自带的AddMonths()函数,基于原始的Date和Periodicity字段,直接算出2023年的Date_1和2024年的Date_2就行,刚好满足每个PN只出这两个日期的需求。

脚本代码

// 加载数据库原始数据,替换为你的实际数据源连接/文件路径
RawData:
LOAD
    PN,
    Date,
    Periodicity,
    // 计算2023年目标日期:原始日期加周期月数
    AddMonths(Date, Periodicity) AS Date_1,
    // 计算2024年目标日期:在Date_1基础上再加一轮周期月数
    AddMonths(Date_1, Periodicity) AS Date_2
FROM [你的数据源信息] (对应格式,如qlikview/odbc);

// 可选:过滤确保日期落在目标年份(避免特殊周期导致的偏移)
FilteredData:
LOAD *
Resident RawData
WHERE
    Year(Date_1) = 2023 AND
    Year(Date_2) = 2024;

DROP TABLE RawData;

细节说明

  • AddMonths(date, n):Qlik内置函数,自动处理月份天数差异(比如2月28日加1个月会自动适配为3月28日),不用手动调整日期格式
  • 无需循环的原因:需求仅需2023、2024各一个日期,两次AddMonths计算直接得到结果,没必要生成大量中间日期再筛选
  • 过滤步骤的作用:比如当Periodicity=6、原始Date为2022-10-01时,Date_2会是2023-10-01,不属于2024年,过滤能剔除这类不符合要求的记录

示例验证

以你给出的PN 10101为例:

  • 原始Date=01/02/2022,Periodicity=12
  • Date_1 = AddMonths('01/02/2022',12) → 01/02/2023
  • Date_2 = AddMonths('01/02/2023',12) → 01/02/2024
    完全匹配需求。

内容的提问来源于stack exchange,提问作者Juji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 04:50:29