Spotfire中Over函数计算日期差:Rank1无前置日期的填充方案
Spotfire 日期差计算优化方案
可以通过Case条件判断语句实现需求,既保留原有Over函数的日期差计算逻辑,又对Rank=1的行单独处理:
- 核心计算表达式:
Case When [Rank] = 1 Then DateDiff('day', [B列], [A列]) Else DateDiff('day', Max([前置日期列]) OVER (Intersect([分组列], Previous([Rank]))), [当前日期列]) End
- 细节说明:
- 当行的
[Rank]值为1时,直接计算[A列]与[B列]的日期差(示例用day作为时间单位,可根据需求替换为hour/month等) - 对于Rank≠1的行,继续沿用你之前基于Over函数的日期差计算逻辑,确保原有业务逻辑不受影响
- 请将表达式中的
[Rank]、[A列]、[B列]、[前置日期列]、[分组列]、[当前日期列]替换为你实际使用的列名
内容的提问来源于stack exchange,提问作者Irma
相关产品推荐
相关产品推荐

