可以在SUM字段上使用DECODE嗎? 例如,像這樣:Oracle Discoverer BI:如何將DECODE用於帶SUM的計算中
DECODE(SUM("QTA' CONV SUM 1 2 2"),'>0',1,'=0',0)
感謝
可以在SUM字段上使用DECODE嗎? 例如,像這樣:Oracle Discoverer BI:如何將DECODE用於帶SUM的計算中
DECODE(SUM("QTA' CONV SUM 1 2 2"),'>0',1,'=0',0)
感謝
到@EdGibbs的選擇,如果你正在總結的值是整數:
Greatest(Sum(...),1)
如果你有底片與當時也許抗衡:
Least(Greatest(Sum(...),1),0)
的語法變得有點粗糙的,所以如果你是想堅持解碼或案例則:
Case Sum(...)
When 0 Then 0
Else 1
End
......或者......
Decode(Sum(...),0,0,Sum(...))
我不會去重複Sum()的解決方案。保持它DRY
在特定情況下,如果你想要得到的結果是1
如果SUM
大於零或者0
如果SUM
是零,你可以使用Oracle SIGN
函數。我不知道是否有任何特殊的發現者語法,但發現者之外我會做這樣的事情:
SIGN(SUM(whatever you're summing))
的「techonthenet」站點文檔的功能here。
你需要在這裏使用'CASE'或'SIGN'和'DECODE'和'GREATEST'一樣使用Ed和David的建議。我會使用'CASE'。 – haki 2013-04-10 07:54:20