2015-07-20 168 views
3

在Crystal Reports中,是有可能有,如果if語句的計算結果爲真,否則返回null返回數值的功能?水晶報表如果爲true,則返回數否則返回NULL

我現在有

IF ({INDICATOR} = 'Y') Then 
(
    {numeric value} 
) 
Else 
(
    0 
); 

但由於0 {數值}的可能值,它沒有任何意義。相反,如果指標不是'Y',我寧願讓該字段空白,但當我用NULL替換0時,它會給我一個類型不匹配錯誤。

有沒有辦法對我來說,只顯示值時指示符「Y」?

回答

1

你不能在一個if聲明中返回兩個不同的數據類型。如果if是數字,那麼其他的也應該是數字..而是嘗試拆分語句並嘗試..像下面的東西。

IF ({INDICATOR} = 'Y') Then 
    (
     ToText({numeric value}) 
    ) 

    Else if ({INDICATOR} <> 'Y') Then 
    (
     "" 
    ); 
+0

我無法返回NULL在第二個如果,我得到一個錯誤,指出「缺少)」。 是否有一些其他關鍵字爲空或什麼? – Nickknack

+0

檢查我的編輯.... – Siva

+0

我試着昨天運行我的報告,它顯示0.00而不是「」。 – Nickknack

5

如果你真的想有一個空值,而不是空的請嘗試以下

創建一個名爲NULL公式,然後將其保存並關閉,不會在公式區域輸入任何數據。然後在公式中上述嘗試

If {INDICATOR} = 'Y' then {numeric value} 
else tonumber({@NULL}) 
+0

如何將null轉換爲數字? – Siva

+0

它的工作原理..嘗試 – CoSpringsGuy

+0

我已經使用這個解決方案之前和測試送我的回答:) – CoSpringsGuy

0
If {INDICATOR} = 'Y' then {numeric value} 
else {Command.NULLCOL} 

在數據庫專家的設置是使用添加命令與SQL:

select null as nullcol 
from dual 

然後離開了加入到它。

返回的空值可以非常強大,所以你的空值需要不應該受到質疑。空值自動顯示不同以突出顯示。與0或「」相比,空值與DistinctCount函數正常工作。空值也可以與段摘要和交叉表正確工作,這可以爲您節省大量的工作,這是使用水晶的全部要點。

相關問題