我有关于水晶报告的问题。我创建了一个名为 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)
但得到水晶报告错误此字段无法汇总水晶报告错误。请帮我解决这个错误。
答案 0 :(得分:0)
根据您的解释和公式,看起来您有一对多的关系,这会给您带来一些困难。我们来举个例子:
订单表 订单#,总计,付费
订单商品表 订单#,行号,说明
当您加入两个表时,您不能再对总/付费列求和,因为它们将乘以订单行数。
克服这个问题的方法是使用密钥创建一个组。在我的示例中,您将对Order#进行分组。然后,您可以创建一个总计/付费列的总计,但只评估您的订单号组的更改。
这有意义吗?