计算Spotfire中的相对销售指数与1个选定基本计划中的销售额相比较

时间:2016-11-02 08:12:29

标签: spotfire

我在Spotfire中获得了以下数据,我想要显示每个产品的销售额与选定基本计划的相对指数。

enter image description here

如上图所示,可以使用以下over语句计算相对于先前计划的指数:

100 * (Sum([Sales]) - Sum([Sales]) OVER (PreviousPeriod([Axis.Columns]))) / 
Sum([Sales]) OVER (PreviousPeriod([Axis.Columns]))

然而,这种解决方案有以下三个缺点:

  1. 它将所有销售额与之前计划中的销售额进行比较,而不是一个基本计划。更改OVER语句以使用FirstNode并不总是有效,因为实际应用程序中的数据是基于查询从数据库导入的。这导致FirstNode的值不总是可用。
  2. 计划的顺序基于字符串值而不是计划编号(计划名称中的第二个字符)。
  3. 基本计划无法选择。在实际应用程序中的文档属性" SelectedPlan"已创建(包含下拉列表中的选定值)。
  4. 那么如何计算相对于1个选定基本计划的销售额的相对销售指数呢?

1 个答案:

答案 0 :(得分:1)

经过一些研究后,我们找到了一个可行的解决方案:

100 * (Sum([Sales]) / Sum(If([Plan] = '${SelectedPlan}',[Sales],0)) OVER All([Axis.Columns]))