2014-11-06 67 views
3

我熟悉Excel和SQL,但是對於Cognos來說是新的。我正在爲每個[Item Code][Total Margin]的有條件總和。這個結果應該顯示在每個項目的每一行上。我在Cognos中嘗試了兩種方法,並在Excel中進行了概念驗證。請參閱下面的單個[Item Code]的樣本數據。Cognos等價於excel的sumif()函數

data screenshot

共有相關產品保證金A(COGNOS)

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

這裏的問題是,總的結果是不正確的,只是沒有顯示在第二排。

共有相關產品保證金B(COGNOS)

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

在這裏,總的結果是大多數行是正確的,但在第2行不同。

共有相關產品空白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 2014-11-06 13:47:31

+0

有時,當您無法查看{expression}如何真正使用的示例時,Cognos 10中的工具提示有時幾乎無用。這是一個很好的例子。 – 2017-03-02 16:16:57