Два агрегации в одном выражении
Как решить приведенное ниже выражение:
sum({<Category={'Internal Ops SLA'}>}(RangeSum(Above(sum(InternalOpsSLA),0,12))/TargetOpsSLA)*Weight)
Это дает ошибку в выражении из-за двойной суммы.
Значение веса множителя выбирается в соответствии с категорией в модификаторе набора выражений. Есть ли другой способ, кроме переменной с ТОЛЬКО, поскольку мне нужно суммировать конечные результаты, для вышеприведенного выражения?
1 ответ
Я знаю, что этот пост довольно старый. Отвечая на это, думая, что это может помочь немногим.
Я столкнулся с аналогичной проблемой в qlikview, пытаясь вычислить сумму средних. С сообщением об ошибке:
(Error in expression: Nest Aggregation not allowed)
Я понял, что для этого нужно использовать агрегирующие функции. Вместо того, чтобы группировать их как:
sum(avg(<Dimension_Name>condition))
Я сгруппировал их как:
Sum(Aggr(Avg(condition), Dimension_Name))
и это хорошо сработало для меня.
Так что для вашей проблемы, я бы попробовал что-то вроде этого:
sum(aggr(if(Category = {'Internal Ops SLA'},(RangeSum(Above(sum(InternalOpsSLA),0,12))/TargetOpsSLA)*Weight),'Dimension Name'))