我的oracle数据库中有一个表,其中包含以下模式:student(studentNumber,name,dateOfCreation)。
dateOfCreation是学生记录的创建日期。
在水晶报告中,我必须使用dateOfCreation字段将记录分组到以下组中:
超过4周(dateOfCreation超过4周前的记录)。
2至4周(dateOfCreation超过2周前,但不到4周前的记录)。
1至2周(dateOfCreation超过1周前但不到2周前的记录)。
不到1周(dateOfCreation小于1周前的记录)。
我已尝试使用群组专家按指定顺序进行分组,但我找不到这些群组。请帮忙。我如何实现这一目标?
答案 0 :(得分:0)
创建要分组的公式。
公式可以读取(伪代码):
if CreationDate > 4 weeks
then A;
else if CreationDate >2 weeks and CreationDate <4 weeks
then B;
然后,您可以在此公式上创建一个组。
CR具有足够的日期功能,以便找到创建日期和当前日期之间的日期差异。
答案 1 :(得分: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}
可能需要修改以匹配Crystal对此字段的表示 - 您应该能够在公式编辑器的“字段树”窗格中找到它。)
请注意,此公式与您问题中的条件完全匹配 - 因此不允许正好为1周,2周或4周的dateOfCreation值。我建议您调整它以考虑这些因素。