如何基于Crystal Reports中的公式为分组添加空白记录

时间:2017-06-22 21:35:59

标签: crystal-reports grouping

我有一个表并使用公式对记录进行分组,基于形成为时间的字符串字段(HH:mm:ss) 公式如下:

select Minute (TimeValue ({MASTER.Saat}))
case 0 to 14: ReplicateString ("0", 2-len(TOTEXT(Hour (TimeValue ({MASTER.Saat})),0))) & TOTEXT(Hour (TimeValue ({MASTER.Saat})),0) & ":00:00"
case 15 to 29: ReplicateString ("0", 2-len(TOTEXT(Hour (TimeValue ({MASTER.Saat})),0))) & TOTEXT(Hour (TimeValue ({MASTER.Saat})),0) & ":15:00"
case 30 to 44: ReplicateString ("0", 2-len(TOTEXT(Hour (TimeValue ({MASTER.Saat})),0))) & TOTEXT(Hour (TimeValue ({MASTER.Saat})),0) & ":30:00"
case 45 to 59: ReplicateString ("0", 2-len(TOTEXT(Hour (TimeValue ({MASTER.Saat})),0))) & TOTEXT(Hour (TimeValue ({MASTER.Saat})),0) & ":45:00"

实际上,分组工作正常但我的问题是如果表中没有一段时间的数据,我无法在报告中显示。

作为一个例子;

让我的数据有5条记录如下:

  • 11时01分03秒
  • 11时16分07秒
  • 11时28分十六秒
  • 12时18分47秒
  • 12时22分34秒

我的报告结果如下:

  • 期间|总记录
  • 11:00:00 | 1
  • 11:15:00 | 2
  • 12:15:00 | 2

在这种情况下,我无法将总记录中的句点(表中缺少的句点)显示为0。我必须表现如下:

  • 期间|总记录
  • 11:00:00 | 1
  • 11:15:00 | 2
  • 11:30:00 | 0
  • 11:45:00 | 0
  • 12:00:00 | 0
  • 12:15:00 | 2

感谢所有建议。

1 个答案:

答案 0 :(得分:0)

你不能分组那些不存在的东西。解决此问题的一种方法是使用一个表格来提供您想要查看的所有间隔(称为日期,时间或数字表格)。

对于您的案例,创建一个包含所有期间值(24x4)的表格。将要计数的记录加入此表。在Crystal Reports组中,按周期值 - 您的结果集将包含没有任何连接记录的句点 - 您可以检测到并输出0

您可能希望查看this question,它与您的相似。