Spotfire:计算列百分位列

时间:2015-03-17 17:09:49

标签: spotfire

我正在尝试计算数据表中每一行的Percentile / P90,以及在其他两列中具有相同值的所有其他行中的Percentile / P90。

我尝试了以下内容:

P90([Value]) OVER (Intersect([Genre (Primary)],[Days To Release]))

而且:

Percentile([Value],90) OVER (Intersect([Genre (Primary)],[Days To Release],AllPrevious([Measurement Date])))

但是,它似乎没有产生正确的价值。生成图表并使用P90功能时我注意到了这一点。然后我将其转储到Excel以在另一个工具中检查它,Excel与SpotFire图表中生成的值匹配。

因此,我的计算列必须有问题。

非常感谢任何帮助。

谢谢, 杰森

1 个答案:

答案 0 :(得分:0)

SpotFire代码是正确的,它没有考虑过滤器中存在的一个维度,即我所比较的关联图表并且无法匹配数字。

BTW:以下是我最终排除故障的方法。

我创建了一些不同的统计数据,看看我是否可以缩小发生的情况。

首先我使用了max函数:

Max([value]) OVER (Intersect([Genre (Primary)],[Days To Release],AllPrevious([Measurement Date])))

然后,我使用了COUNT函数:

Count([value]) OVER (Intersect([Genre (Primary)],[Days To Release],AllPrevious([Measurement Date])))

那时我意识到数字之间的数量不一样,我错过了一个过滤器。

这是正确的:

P90([value]) OVER (Intersect([Genre (Primary)],[Days To Release],[Wide Release],AllPrevious([Measurement Date])))

BTW:我将AllPrevious函数添加到Intersect中,这样我才会考虑在测量之前发生的条目。

此外,这是我需要完成的图片: Trend Value against 90th and 75th %ile

杰森