如何在Spotfire交叉表中计算当周与上周的累计差值(当周新增量)
在Spotfire交叉表中计算当周新增量(当周vs上周累计差值)
1. 确认数据基础字段
- 必须包含周标识字段(如
WeekNumber周数、WeekStartDate周起始日期,用于精准匹配上周) - 必须包含累计值字段(如
TotalCumulative,每周的累计汇总数据)
2. 方式一:通过计算列实现
2.1 创建「上周累计值」计算列
在「数据」面板中新增计算列,命名为LastWeekCumulative,表达式根据周标识类型选择:
- 若用周数:
Lookup([TotalCumulative], [WeekNumber], [WeekNumber]-1)
- 若用周起始日期:
Lookup([TotalCumulative], [WeekStartDate], DateAdd("week", -1, [WeekStartDate]))
作用:通过
Lookup函数匹配当前周对应的上周累计值
2.2 创建「当周新增量」计算列
再新增计算列WeeklyIncrement,表达式:
If(IsNull([LastWeekCumulative]), [TotalCumulative], [TotalCumulative] - [LastWeekCumulative])
说明:第一周无上周数据时,直接用当期累计值作为新增量,避免返回空值
3. 方式二:交叉表内直接自定义计算(无需提前建列)
右键交叉表的「值」区域 → 选择「添加自定义表达式」,输入以下内容并设置别名(如「当周新增量」):
- 周数场景:
Sum([TotalCumulative]) - Lookup(Sum([TotalCumulative]), [WeekNumber], [WeekNumber]-1)
- 周起始日期场景:
Sum([TotalCumulative]) - Lookup(Sum([TotalCumulative]), [WeekStartDate], DateAdd("week", -1, [WeekStartDate]))
4. 交叉表最终配置
- 将
Week字段拖至交叉表的「行/列」区域 - 将
TotalCumulative(累计值)和WeeklyIncrement(当周新增量)拖至「值」区域 - 按需调整数值格式、字段别名,完成配置
内容的提问来源于stack exchange,提问作者ParthaSarathi
相关产品推荐
相关产品推荐

