2012-06-10 3 views
0

크리스탈 보고서에 대한 문제가 있습니다. PAT_DEP이라는 수식 필드를 만들고 공식은 다음과 같습니다.이 필드는 요약 할 수 없습니다. 크리스탈 보고서 오류

Local NUMBERVAR PAT_DEP_AMT := 0; 

IF NextIsNull({MYOBJ.PAT_DEPOSIT}) = TRUE THEN 
    (  
     IF {MYOBJ.PAT_DEPOSIT} = PREVIOUS({MYOBJ.PAT_DEPOSIT}) THEN 
      (    
       PAT_DEP_AMT := 0; 
      ) 

     ELSE 
      (
       PAT_DEP_AMT := {MYOBJ.PAT_DEPOSIT}; 
      ); 
    ) 
ELSE 
    (
     IF PREVIOUS({MYOBJ.PAT_DEPOSIT}) = NEXT({MYOBJ.PAT_DEPOSIT}) THEN 
      (
       PAT_DEP_AMT := ToNumber(0); 
      ) 
     ELSE 
      (
       PAT_DEP_AMT := {MYOBJ.PAT_DEPOSIT}; 
      ); 
    ) 

그럼 난과 수식을 수식 필드 위의 요약처럼 다음과 같다 TOT_PAT_DEP라는 다른 수식 필드를 만들었습니다.

TOTAL_PAT_DEP := SUM(@PAT_DEP) 

그러나 얻었다 크리스탈 리포트 오류 이 필드는 크리스탈 리포트 오류를 ​​요약 할 수 없습니다. 어떻게이 오류가 발생하는지 도와주세요.

+0

pat_dep로 달성하려는 것을 설명해 주시겠습니까? 당신이 그룹의 변화를 평가하는 누적 합계를 원하는 것처럼 보입니다. –

+0

PAT_DEP에는 각 환자의 개별 입금액이 포함됩니다. 그래서 PAT_DEP에서 소계와 총계를 얻고 싶습니다. – ppshein

+0

else 부분에 the) 다음에 세미콜론을 넣는 이유는 무엇입니까? 왜 그 중 일부에서만 그것을 사용합니까? – K09P

답변

0

설명과 공식을 바탕으로 일대 다 관계로 인해 어려움을 겪고있는 것처럼 보입니다. 의는 예를 들어 보자 :

주문 표를 당신이 두 개의 테이블을 조인 할 때

주문 항목 표 주문 번호, 행 번호, 설명

가 더 이상 총 합계 수 유료 주문 번호, 총,/지불 된 열은 주문 행 수로 곱해지기 때문에

이 문제를 극복하는 방법은 키를 사용하여 그룹을 만드는 것입니다. 나의 예에서 당신은 주문 #에 그룹화 할 것입니다. 그런 다음 합계/유료 열을 합산하기 위해 누적 합계를 만들 수 있지만 주문 # 그룹의 변경 사항 만 평가합니다.

의미가 있습니까?