2012-01-04 2 views
0

다음 스키마와 함께 oracle 데이터베이스에 테이블이 있습니다. student (studentNumber, name, dateOfCreation).크리스탈 보고서의 레코드 그룹화

dateOfCreation은 학생 기록이 만들어진 날짜입니다. 크리스탈 리포트에서

, 나는 그룹에 dateOfCreation 필드를 사용하여 다음 그룹으로 기록을 가지고 :

사주 (그 dateOfCreation 4 주 이상 전에이다 기록)보다 이전
  1. .

  2. 2 주에서 4 주 사이 (dateOfCreation이 2 주 전이지만 4 주 전인 레코드).

  3. 1 주에서 2 주 사이 (dateOfCreation이 1 주일 이상되었지만 2 주 전인 레코드).

  4. 1 주 미만 (dateOfCreation이 1 주일 미만인 레코드).

그룹 전문가를 사용하여 지정된 순서대로 그룹화를 시도했지만 이러한 그룹을 찾을 수 없습니다. 제발 도와주세요. 이것을 어떻게 성취합니까?

답변

0

그룹화 할 수식을 만듭니다.

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

당신은 다음이 공식에 그룹을 만들 수 있습니다

수식 qould는 (의사 코드) 같은 것을 읽어 보시기 바랍니다.

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}은이 분야의 크리스탈의 표현에 맞게 수정해야 할 수도 있습니다 - 당신이해야 이 수식은 수식 편집기의 필드 트리 창에서 찾을 수 있습니다.

이 수식은 질문의 조건과 정확히 일치하므로 정확히 1, 2 또는 4 주 오래된 dateOfCreation 값을 사용할 수 없습니다. 이 점을 고려하여 조정 해주십시오.

+0

와우! 너희 둘 모두에게 정말 고마워. 그것은 매력처럼 일했다! !! – Raymond8893

관련 문제