具有NULL值的Crystal Reports公式

时间:2012-07-24 20:46:00

标签: crystal-reports

我正在使用Crystal Reports 2008。

我在解决公式的语法时遇到问题。

报告按客户分组。我有2个命令。第一个将始终具有值,但第二个具有某些客户的值,但不是全部。

我需要做的是编写一个公式,如果第二个命令没有该客户的值,它将只使用第一个命令的值。如果第二个命令确实有一个值,那么它应该采用命令一和二的总和。

我试过这样的话:

IF ISNULL({Command_2.fin_bal_60}) THEN

  {Command_1.inv_bal_60}

ELSE

  {Command_1.inv_bal_60} + {Command_2.fin_bal_60}

这不起作用,因为当我将它放入报表时,它只显示在command_2中具有值的记录。

我试图找出如何写这个,所以即使command_2没有返回值,它只使用command_1。

对此的任何帮助都会很棒。

提前致谢。

1 个答案:

答案 0 :(得分:1)

公式似乎是正确的,所以你不必看那里。

我认为问题在于您将表“Command_2”(菜单[数据库,数据库专家])链接起来的方式。假设它是一个外表,当您将链接类型从“INNER JOIN”更改为“LEFT OUTER JOIN”(双击链接线以更改设置)时,您可能很有可能解决此问题。

如果不使用表中的字段,则Crystal Reports会忽略该表,并且不会在基础SQL查询中使用它。因此,在这种情况下,不会发生此问题。这就解释了为什么只有当您将公式字段放在报表中时才会使用“Command_2”表。