본문 바로가기

[오라클 레퍼런스 함수] PREVIOUS - 반복문(ITERATE) 내에서 이전 값 반환

by ㅇㅍㅍ 2023. 8. 14.
[오라클 레퍼런스 함수] PREVIOUS - 반복문(ITERATE) 내에서 이전 값 반환
728x90

 

PREVIOUS

 

구문

PREVIOUS(cell_reference)

 

목적

PREVIOUS 함수는 SELECT 문의 model_clause 내에서만 사용할 수 있으며, model_rules_clauseITERATE ... [ UNTIL ] 절에서만 사용될 수 있습니다. 이 함수는 각 반복의 시작에서 cell_reference의 값을 반환합니다.

 

참고:

 

예제

다음 예제는 cur_val의 값이 반복문의 시작과 끝에서 차이가 1보다 작을 때까지 최대 1000번 규칙을 반복합니다.

SELECT dim_col, cur_val, num_of_iterations
  FROM (SELECT 1 AS dim_col, 10 AS cur_val FROM dual)
  MODEL
    DIMENSION BY (dim_col)
    MEASURES (cur_val, 0 num_of_iterations)
    IGNORE NAV
    UNIQUE DIMENSION
    RULES ITERATE (1000) UNTIL (PREVIOUS(cur_val[1]) - cur_val[1] < 1)
    (
      cur_val[1] = cur_val[1]/2,
      num_of_iterations[1] = num_of_iterations[1] + 1
    );

   DIM_COL    CUR_VAL NUM_OF_ITERATIONS
---------- ---------- -----------------
         1       .625                 4

 


출처: 오라클 레퍼런스

원문 링크: Oracle PREVIOUS 함수 문서

 

반응형

댓글