如何在TIBCO Spotfire中获取每行对应上月末的物料数量?
TIBCO Spotfire 获取上月最后一天物料数量实现月初库存
以下是针对需求的具体实现步骤:
步骤1:计算每行对应的上月最后一天日期
新建计算列(命名为上月最后一天),使用Spotfire日期函数定位目标日期:
LastDay(DateAdd("month", -1, [你的日期列名]))
- 解释:
DateAdd("month", -1, ...)将当前日期回推1个月,LastDay()提取该月份的最后一天,精准定位到需要匹配的日期节点。
步骤2:匹配对应物料的上月最后一天库存数量
根据数据情况选择以下两种方法之一:
方法A:使用Lookup函数精准匹配
新建计算列(命名为月初物料数量),通过双条件匹配物料ID和日期:
Lookup([物料数量列名], [日期列名], [上月最后一天], [物料ID列名], [物料ID列名])
- 若存在上月最后一天无记录的情况,可加入空值处理:
IfNull(Lookup([物料数量列名], [日期列名], [上月最后一天], [物料ID列名], [物料ID列名]), 0)
方法B:使用窗口函数聚合
如果同一物料在当月最后一天有多条记录,可通过窗口函数取最后一条的数量:
Last([物料数量列名]) OVER (Intersect([物料ID列名], [上月最后一天]) ORDER BY [日期列名])
- 解释:
Intersect([物料ID列名], [上月最后一天])限定只在当前物料、上月最后一天的记录范围内聚合,ORDER BY确保取到当天的最后一条记录值。
验证结果
将新建的月初物料数量列加入表格,即可得到每行对应每月初的物料库存(以上月最后一天数量为准)。
内容的提问来源于stack exchange,提问作者Baybala
相关产品推荐
相关产品推荐

