Crystal Reports:按日期分组

时间:2015-01-15 20:32:57

标签: crystal-reports basic

感谢您查看我的问题。

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

  1. 如果{reviseddate}是< = {currentdate},那么这些已过期。
  2. 如果{reviseddate}是> {currentdate}和< {currentdate} + 30天,然后在30天内到期。
  3. 如果{reviseddate}是> = {currentdate} + 31天且< = {currentdate} + 90天,那么这些将在30-90天内到期。
  4. 如果{reviseddate}是> = {currentdate} + 91天,那么这些将在90天后到期。
  5. 我对日期编码不太满意,可以在Crystal Reports(2008)中使用一些关于如何编写此内容的指导。希望我解释得对。

    非常感谢,迈克

1 个答案:

答案 0 :(得分: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. 使用Crystal Report的DateAdd函数DateAdd(&#34; d&#34;,30,{currentdate})来处理添加天数
  2. 如果您的日期字段以字符串而不是日期进入Crystal,请使用DateValue函数将它们首先转换为日期。