Я пытаюсь рассчитать ежемесячный процент, но он всегда дает мне неправильный ответ

это мои данные.

Ключевой ресурс MOnth

Янв да янв да янв да янв нет янв нет

Я хотел рассчитать процент ключевых ресурсов в январе месяце. Итак, я сначала вычислил, сколько ключевых ресурсов есть в расчете (случай, когда [Key Resource] = «Да», затем 1, иначе 0, конец. Затем для расчета ежемесячный процент ключевого ресурса. Я попробовал вычислить = сумма (ключевые ресурсы) / количество (ключевой ресурс). Но это не дает мне правильного ответа. Пожалуйста, помогите


person Vibin Venugopal    schedule 11.08.2015    source источник


Ответы (1)


Если вы просто вставите вычисляемый столбец, вы столкнетесь с проблемами. Spotfire рассчитает эту запись для записи.

Я создал столбец [Calc] (вставив вычисляемый столбец): (case when [Key] = "Yes" then 1 else 0 end)

вычисление Sum ([Calc]) / Count ([Key]) вернет правильные значения в большинстве визуализаций, если вы введете это как пользовательское выражение. Просто попробуйте это на гистограмме с месяцем на категориальной оси.

Если вы хотите, чтобы вычисление было в стандартной таблице, вам необходимо вставить вычисляемый столбец со следующим синтаксисом: Sum([Calc]) over ([Month]) / Count([Key]) over ([Month]). Это нарушает ваш расчет, поэтому он рассчитывается за месяц.

Я использовал следующие данные, вычисление и расчет указаны выше:

Month Key Calc Calculation
Jan Yes 1 0.6
Jan Yes 1 0.6
Jan Yes 1 0.6
Jan No 0 0.6
Jan No 0 0.6
Feb Yes 1 0.25
Feb No 0 0.25
Feb No 0 0.25
Feb No 0 0.25
person phiver    schedule 11.08.2015
comment
просто совет, что вы также можете поместить операторы CASE и IF внутри агрегатных функций: Sum(if(Upper([Key]) = "YES", 1, 0)) действителен на 100% и пригодится, когда у вас есть много небольших одноразовых вычислений, которые действительно не требуют нового столбца. Обратной стороной этого подхода является то, что маркировка может вести себя странно, потому что Spotfire оценивает ВСЕ записи как часть Sum (); не только записи, которые оцениваются как 1. - person niko; 11.08.2015
comment
@niko, я знаю, но чтобы сохранить обзор в примере, я подумал, что будет разумным держать все отдельно, особенно с задействованными сверхфункциями. - person phiver; 11.08.2015