2012-01-04 97 views
0

我在我的oracle数据库中有一个表格,其结构如下:student(studentNumber,name,dateOfCreation)。水晶报告中的分组记录

dateOfCreation是创建学生记录的日期。

在水晶报表,我要组记录为以下几组,使用​​dateOfCreation领域:

  1. 超过4周(记录其dateOfCreation超过4个星期前)较早

  2. 2至4周(记录其dateOfCreation超过2个星期前,但少于2周前)。

  3. 1周和2周之间(记录其dateOfCreation超过1个星期前,但不到2个星期前)。

  4. 不到1周

    (记录其dateOfCreation不到1个星期前)。

我试过使用组专家按照指定的顺序进行分组,但我无法找到这些组。请帮忙。我如何实现这一目标?

回答

0

创建要分组的公式。

公式qould读取类似的信息(伪代码):

if CreationDate > 4 weeks 
then A; 
else if CreationDate >2 weeks and CreationDate <4 weeks 
then B; 

然后,您可以在这个公式创建一个组。

CR为了寻找创作和当前日期之间的时间差有足够的日期函数。

0

由于@vice建议,在其上创建一个公式,然后组 - 像这样的公式应该工作:

if  DateDiff ("d", {student.dateOfCreation}, CurrentDate) > 28 then 1 
else if DateDiff ("d", {student.dateOfCreation}, CurrentDate) > 14 and 
     DateDiff ("d", {student.dateOfCreation}, CurrentDate) < 28 then 2 
else if DateDiff ("d", {student.dateOfCreation}, CurrentDate) > 7 and 
     DateDiff ("d", {student.dateOfCreation}, CurrentDate) < 14 then 3 
else if DateDiff ("d", {student.dateOfCreation}, CurrentDate) < 7 then 4 

{student.dateOfCreation}可能需要进行修订,以符合这一领域的水晶的代表 - 你应该能够在公式编辑器的“字段树”窗格中找到它。)

请注意,此公式与您问题中的条件完全匹配 - 因此它不允许dateOfCreation值恰好为1,2或4周。我建议你调整它来考虑这些。

+0

哇!非常感谢你们两位。它像一个魅力! – Raymond8893 2012-01-06 14:16:56