【问题标题】:Calculate a sum of non-zero values in Crystal Reports在 Crystal Reports 中计算非零值的总和
【发布时间】:2014-04-16 07:42:21
【问题描述】:

我有一个场景,我在 Crystal Report 中有 5-6 行,列的类型为“Money”,我想要计算 Column1 的值为“非零”的所有行的计数

稍后我使用该计数在“TextField”中的 Crystal Report 中显示

到目前为止,我已经创建了一个公式并输入了以下代码

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

在这种情况下,我想在“TextField”中显示 (3)

【问题讨论】:

  • 如果变量应该在节之间保留数据,则应将其声明为共享 numbervar cnt;

标签: crystal-reports formula


【解决方案1】:

创建公式:

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

插入一个汇总字段;选择公式字段;将摘要更改为Count;选择所需的位置(或者,您可以在窗口中创建一个新组)。

无需将公式字段添加到画布即可使用此方法。

【讨论】:

    【解决方案2】:

    存在语法错误...您缺少:。改成这样。

    numbervar cnt;
    cnt := 1;
    if {MyReport;1.Cash_deposit} <> 0.00 then
      cnt := cnt +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 是不完整的——它只会显示非零值。方法 2 是错误的 - 抑制字段的显示不会将其从汇总字段的计算中删除。
    • @craig。让用户评论解决方案在多大程度上有用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多