2015-03-17 1 views
0

Я пытаюсь вычислить Percentile/P90 для каждой строки в моей таблице данных среди всех других строк, которые имеют одинаковое значение в двух других столбцах для всех записей, которые произошли до него.Spotfire: Calculated Column Percentile Column

Я попытался следующие:

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.

Итак, в моей расчетной колонке должно быть что-то не так.

Любая помощь была бы принята с благодарностью.

Спасибо, Джейсон

ответ

0

Код Spotfire был правильным, он просто был не принимая во внимание один из аспектов, которые присутствовали в фильтрах, что связано Chart, что я по сравнению с и не мог числа для соответствия.

BTW: Вот как я закончил поиск и устранение неисправностей.

Я создал несколько разных статистических данных, чтобы увидеть, могу ли я сузить то, что происходит.

Сначала я использовал максимальную функцию:

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

Джейсон