0

我正在尝试计算数据表中每一行的百分位数/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 图表中生成的值。

所以,我的计算列一定有问题。

任何帮助将不胜感激。

谢谢,杰森

4

1 回答 1

0

SpotFire 代码是正确的,它只是没有考虑过滤器中存在的维度之一,我正在与之比较的相关图表并且无法获得匹配的数字。

顺便说一句:这就是我最终排除故障的方法。

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

首先我使用了 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])))

顺便说一句:我在 Intersect 中添加了 AllPrevious 函数,这样我就只会考虑在我测量之前发生的条目。

另外,这是我需要完成的图片: 针对第 90 和 75 %ile 的趋势值

杰森

于 2015-03-17T22:45:57.600 回答