2014-04-16 67 views
1

我有一個場景,我在Crystal Report中有5-6行,列的類型爲「Money」,我希望所有具有Column1的行的計數值「非零」在Crystal Reports中計算非零值的總和

後來我用計數水晶報表顯示在「文本字段」

到目前爲止,我已經創建了一個公式,並輸入以下代碼

numbervar cnt; 
cnt = 1; 
if {MyReport;1.Cash_deposit} <> 0.00 then 
    cnt = cnt +1; 

現在我不能顯示這個值,任何身體幫助?

樣本數據:

Cash_Deposit 
-------------- 
10.05 
0.00 
25.69 
0.00 
89.47 

在這種情況下,我想在我的 「文本字段」

+0

如果變量應該將數據保存在該部分之間,則應將其聲明爲共享numbervar cnt; – Sivaraman

回答

1

有一個語法錯誤(3)表示...你缺少:。像這樣改變。

numbervar cnt; 
cnt := 1; 
if {MyReport;1.Cash_deposit} <> 0.00 then 
    cnt := cnt +1; 

方法1:

你爲什麼要採取這個公式,而不是你可以使用下面的方法。

if {MyReport;1.Cash_deposit} <> 0.00 then 
    {MyReport;1.Cash_deposit}; 

方法2:

剿的提交時計數zero

supress式下面的代碼段寫入的:

if {MyReport;1.Cash_deposit} = 0.00 then 
true 
else false 
+1

方法1不完整 - 它只會顯示非零值。方法2是錯誤的 - 抑制字段的顯示不會從彙總字段的計算中刪除它。 – craig

+0

@craig。讓用戶瞭解解決方案的有用程度 – Siva

+0

@downvoter ...提供解決方案並降低其他用戶... – Siva

2

建立公式:

// {@NonZero} 
If {MyReport;1.Cash_deposit}<>0 Then 
    1 
Else 
    0 

插入彙總字段;選擇公式字段;將摘要更改爲Count;選擇所需的位置(可選,您可以在窗口中創建一個新組)。

公式字段不需要添加到畫布上,以便此方法起作用。

相關問題