在单独的专栏中,如何显示总自定义表达式百分比的差异?

时间:2016-06-29 14:31:59

标签: spotfire

我在CROSS TABLE中有两个环境,A和B.每个环境都有商店,其旁边有单位数量。此外,还有一列显示每个环境中每个商店的总单位百分比。

总数百分比代码如下:

Sum([UNITS]) THEN [Value] / Sum([Value]) OVER (All([Axis.Rows])) as [% Units]

假设商店1的每个环境的总数百分比不同。我想创建一个单独的自定义表达式,显示这两个百分比之间的差异。

现在,我有一个不太可取的变体。它只显示商店1的单位变化百分比,而不是总数百分比的变化。此代码如下所示:

(Sum([UNITS]) - Sum([UNITS]) OVER (PreviousPeriod([Axis.Columns]))) / Sum([UNITS]) OVER (PreviousPeriod([Axis.Columns])) as [Unit Difference]

我尝试将第一段代码嵌入到第二段中,但未成功。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我相信你所寻找的是

SUM(If([Environment] = 'A', [Units], 0))/(SUM(If([Environment] = 'A', [Units], 0)) OVER (Parent([Axis.Rows])) - SUM(If([Environment] = 'B', [Units], 0))/(SUM(If([Environment] = 'B', [Units], 0)) OVER (Parent([Axis.Rows])) as [% Difference]

这将需要从水平访问中删除A / B区别并将其替换为(列名称)并制作两个不同的自定义表达式列,由

组成
SUM(If([Environment] = 'A', [Units], 0))/(SUM(If([Environment] = 'A', [Units], 0)) OVER (Parent([Axis.Rows]))  as [A %]

SUM(If([Environment] = 'B', [Units], 0))/(SUM(If([Environment] = 'B', [Units], 0)) OVER (Parent([Axis.Rows]))  as [B%]

如果这不是您想要的,我建议您使用示例数字来说明您希望输出看起来像什么。