2014-04-16 69 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;选择所需的位置(可选,您可以在窗口中创建一个新组)。

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

相关问题