2014-11-06 7 views
3

Я знаком с Excel и SQL, но знаком с Cognos. Я делаю условную сумму на [Total Margin] за каждые [Item Code]. Этот результат должен отображаться в каждой строке для каждого элемента. Я пробовал 2 подхода в Cognos и доказательство концепции в Excel. Ниже приведены примеры данных из одного [Item Code].Cognos эквивалент функции sumif() excel

data screenshot

Итого Пункт Margin A (Cognos)

case 
when [free of charge flag] = 'FALSE' 
then total([Total Margin] for [Item Code]) 
else null 
end 

Проблема здесь состоит в том, что общий результат неверен, и просто не в состоянии отобразить на 2-м ряду.

Общая маржа товара Б (Cognos)

total([Total Margin] for [Item Code],[free of charge flag]) 

Здесь общий результат правильно на большинстве строк, но отличается на 2-й строке.

Итого Пункт Margin C (Excel)

=SUMIFS([Total Margin],[Item Code],'10001430',[free of charge flag],FALSE) 

Так что я могу получить результат, я хочу, используя формулу Excel SUMIFS. Какой запрос Cognos мне нужно написать, чтобы получить тот же результат непосредственно из Cognos?

ответ

5

попробовать

total(
    case 
    when [free of charge flag] = 'FALSE' 
    then [Total Margin] 
    else null 
    end 
for [Item Code]) 
+0

Это сработало, спасибо! Иногда бывает сложно скомпрометировать синтаксис запроса новой системы. Кажется, что здесь был вложен CASE WHEN. – RedSirius

+0

Советы инструмента в Cognos 10 находятся рядом с бесполезными, когда вы никогда не сможете увидеть примеры того, как {выражение} действительно может быть использовано. Это был отличный пример. –

 Смежные вопросы

  • Нет связанных вопросов^_^