Crystal reports 在Crystal报告中插入缺失的日期

Crystal reports 在Crystal报告中插入缺失的日期,crystal-reports,Crystal Reports,我用的是Crystal Reports 10 在我的数据库中,我有每个日期的生产值。有一个日期列和一个数量列。当我对此运行报告时,报告上的日期与数据库中的日期相对应,但我希望报告显示每个日期,如果没有值,则显示0。这是否可能在报告中做对 日期是一个组字段,其详细信息已被抑制。数字值是放置在组标题中的详细信息的总和,如果这有区别的话 你有两个问题 要为空值显示0,您可以进入选项菜单并“将数据库空值转换为默认值” 或者,您可以使用此代码生成新公式,并使用如果为空({Table1.Amount}),

我用的是Crystal Reports 10

在我的数据库中,我有每个日期的生产值。有一个日期列和一个数量列。当我对此运行报告时,报告上的日期与数据库中的日期相对应,但我希望报告显示每个日期,如果没有值,则显示0。这是否可能在报告中做对

日期是一个组字段,其详细信息已被抑制。数字值是放置在组标题中的详细信息的总和,如果这有区别的话

你有两个问题

  • 要为空值显示0,您可以进入选项菜单并“将数据库空值转换为默认值”
    或者,您可以使用此代码生成新公式,并使用
    如果为空({Table1.Amount}),则使用0否则{Table1.Amount}
    。我建议使用此选项,因为它不会影响报告中的其他字段

  • 要显示每个日期,您应该在数据源中创建一个“helper/index”表,并将实际数据右键连接到该表中。如果没有记录,Crystal无法显示2010年7月1日的数据


  • 我无法更改数据库中的任何内容。我在这里发现了这一点:但说明书有点太复杂了,我无法适应我的需要。它确实表明我可以使用Crystal添加数据库中缺少的日期。(我不能代表您找到的另一个线程。它可能有效,也可能无效)。幸运的是,Crystal接受来自多个不同数据库的输入。因此,在Access数据库甚至Excel文件中创建“helper”表。此帮助表将用作报表的“索引”,即其他所有内容都将直接连接到它。一旦这些日期存在,请使用报表选择公式编辑器将其限制为仅关注的日期,即2010年的所有日期。我已尝试使用辅助表路由。我制作了一个excel电子表格,并将其添加到我的报告中,并链接了各个字段。但是,右侧外部联接将灰显。我在问题中添加了一张图片,说明了我当前的设置。在阅读了关于连接的内容后,似乎左连接也应该起作用,但事实并非如此。报告中显示的唯一日期是原始数据库中的日期。电子表格中的“附加值”没有出现。excel字段的字段类型是CR报告的DateTime,而数据库字段的字段类型是Date,这与此有关吗?几乎没有。尝试将分组字段从{TransactionDate}更改为{Sheet1_u1;.F1}。如果仍然存在问题,请尝试将“强制加入”更改为“不强制”。