0

我有关于水晶报告的问题。我创建了一个名为PAT_DEP的公式字段,公式如下。

Local NUMBERVAR PAT_DEP_AMT := 0;

IF NextIsNull({MYOBJ.PAT_DEPOSIT}) = TRUE THEN
    (        
        IF {MYOBJ.PAT_DEPOSIT} = PREVIOUS({MYOBJ.PAT_DEPOSIT}) THEN
            (                
                PAT_DEP_AMT := 0;
            )

        ELSE
           (
                PAT_DEP_AMT  := {MYOBJ.PAT_DEPOSIT};
            );
    )
ELSE
    (
        IF PREVIOUS({MYOBJ.PAT_DEPOSIT}) = NEXT({MYOBJ.PAT_DEPOSIT}) THEN
            (
                PAT_DEP_AMT := ToNumber(0);
            )
        ELSE
            (
                PAT_DEP_AMT  := {MYOBJ.PAT_DEPOSIT};
            );
    )

然后我创建了另一个名为TOT_PAT_DEP的公式字段,公式如下,就像上面的公式字段一样。

TOTAL_PAT_DEP := SUM(@PAT_DEP)

但是得到水晶报告错误该字段不能汇总水晶报告错误。请帮助我怎么会得到这个错误。

4

1 回答 1

0

根据您的解释和公式,您似乎有一对多的关系,这给您带来了一些困难。举个例子:

订单表订单编号,总计,已付款

订单项目表订单号、行号、描述

当您加入这两个表时,您不能再对总计/已付列求和,因为它们将乘以订单行数。

克服这个问题的方法是使用密钥创建一个组。在我的示例中,您将按订单号进行分组。然后,您可以创建一个运行总计来对总计/已付列求和,但只会评估您的 Order # 组的变化。

那有意义吗?

于 2012-06-11T12:12:37.833 回答