2013-12-10 3 views
0

Как разрешить ниже выражение:Два агрегации в одном выражении

sum({<Category={'Internal Ops SLA'}>}(RangeSum(Above(sum(InternalOpsSLA),0,12))/TargetOpsSLA)*Weight) 

Это дает ошибку в выражении, из-за двойную сумму.

Значение коэффициента умножителя выбирается согласно категории в модификаторе заданного выражения. Есть ли другой способ, кроме переменной с ТОЛЬКО, поскольку мне нужно суммировать окончательные результаты, для вышеуказанного выражения?

+0

Я не знаю, почему выражение в {} не придет в этом вопросе. Выражение в {} есть user3011919

+0

Его первый раз, когда нет ответов в стеке. Угадайте, что многие в отпуске. – user3011919

+0

Трудно помочь, не зная, как выглядят данные и как выглядит ваша цель. Это просто догадка, но вы пытались суммировать «TargetOpsSLA» в своем выражении? 'сумма ( {<Категория = { 'Internal OpsSLA'}>} ( RangeSum (Выше (сумма (InternalOpsSLA), 0,12))/сумма (TargetOpsSLA) ) * Вес )' – Scheballs

ответ

0

Я знаю, что это сообщение довольно старое. Отвечая на это, думая, что это может помочь некоторым.

Я столкнулся с аналогичной проблемой в 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')) 
Смежные вопросы