группировка записей в отчетах Crystal - PullRequest
0 голосов
/ 04 января 2012

В моей базе данных оракула есть таблица со следующей схемой: student (studentNumber, name, dateOfCreation).

dateOfCreation - дата создания записи студента.

В отчетах Crystal мне нужно сгруппировать записи по следующим группам, используя поле dateOfCreation:

  1. Старше 4 недель (записи, дата создания которых более 4 недель назад).

  2. Между 2 и 4 неделями (записи, дата создания которых более 2 недель назад, но менее 4 недель назад).

  3. От 1 до 2 недель (записи, дата создания которых больше 1 недели назад, но менее 2 недель назад).

  4. Менее 1 недели (записи, дата создания которых меньше 1 недели назад).

Я пробовал группировать в указанном порядке, используя группового эксперта, но я просто не могу найти эти группы. Пожалуйста, помогите. Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 05 января 2012

Как предложил @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 этого поля - вы должны найти его на панели дерева полей в редакторе формул.)

Обратите внимание, что эта формула точно соответствует условиям в ваших вопросах - поэтому она не учитывает значения dateOfCreation, которым ровно 1, 2 или 4 недели. Я предлагаю вам настроить его, чтобы учесть это.

0 голосов
/ 04 января 2012

Создание формулы для группировки.

Формула может выглядеть примерно так (в псевдокоде):

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

Затем можно создать группу по этой формуле.

CR имеет адекватные функции даты, чтобы найти разницу между датой создания и текущей датой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...