2015-01-15 98 views
0

谢谢你看我的问题。水晶报告:按日期分组

我想在报告修订日期的水晶报告中,我有4个不同的类别。基本上,我试图将以下报告分组:过期到期,30天内到期,30-90天内到期,90天后到期。

  1. 如果{reviseddate}是< = {currentdate}那么它们已经过期。
  2. 如果{revisiondate}是> {currentdate}和< {currentdate} + 30天,那么这些在30天内到期。
  3. 如果{revisiondate}> = {currentdate} + 31天,< = {currentdate} + 90天,那么这些在30-90天内到期。
  4. 如果{revisiondate}> = {currentdate} + 91天,那么这些将在90天后到期。

我不擅长日期编码,可以使用一点点指导如何在Crystal Reports(2008)中编写它。希望我解释正确。

非常感谢你,麦克

回答

0

第一任分组创建是这样的(伪)公式字段

if ({reviseddate} <= {currentdate}) then 1 
else if (({reviseddate} > {currentdate}) and ({reviseddate} < DateAdd("d", 30 , {currentdate}))) then 2 
else if (({reviseddate} >= DateAdd("d", 31 , {currentdate})) and ({reviseddate} <= DateAdd("d", 90 , {currentdate}))) then 3 
else if (({reviseddate} >= DateAdd("d", 91 , {currentdate})) then 4 

然后把你的配方在细节部分之前。一旦你看到你的公式产生1,2,3,4的值如预期,然后在公式字段上分组。

注:

  1. 使用水晶报表的DateAdd函数使用DateAdd( “d”,30,{的currentdate})来处理增加的天
  2. 如果您的日期字段进入晶体作为字符串而不是日期,首先使用DateValue函数将它们转换为日期。
+0

谢谢道格拉斯,我会试一试并回报。 –