水晶报道

时间:2010-09-22 21:43:43

标签: crystal-reports crystal-reports-2008

我是Crystal Reports的新手。 有一个参数在映射的数据库列中有2个值Yes和NULL。我正在尝试使用count创建一个交叉表,例如 -

Name    Yes   NULL
ABC      5     2
XYZ      3     7

如何代替Null显示'No',如姓名是否

3 个答案:

答案 0 :(得分:4)

正如Beth所说,在DB(即查询)方面,这类事情往往更容易。

如果你真的想在Crystal中创建它,请创建一个新的适当命名的公式,其表达式类似于:

If IsNull ({TABLE.FIELD}) Then "No" Else {TABLE.FIELD}

并将交叉表更改为公式上的分组,而不是TABLE.FIELD值。

答案 1 :(得分:1)

如果可以的话,在db端替换No为Null。

答案 2 :(得分:1)

通常您无法控制数据源,例如在针对后端使用SQL Server的专有程序进行报告时。在那些情况下,你会想要完全像马克建议的那样。

有时可以让事情变得更容易的另一种习惯: 创建一个名为Group1的公式。在其中只需输入您正在分组的字段名称。然后,如果你遇到这种情况 - 你必须交换真实字段的公式来处理NULL,你只需要将公式Group1的内容从{fieldname}更改为@formulaname。

这里的一大优势是,如果您有一份报告,其中您已经完成了大量工作 - 即大量摘要和其他元素添加到群组页脚 - 如果您从{field}更改GroupBy,则会将它们全部丢失 - > @式。如果通过对名为@ Group1的公式进行分组并简单地更改其内容,则可以避免丢失该工作。