본문 바로가기

[오라클 레퍼런스 함수] ITERATION_NUMBER - ITERATE(n)인 경우 n-1을 반환

by ㅇㅍㅍ 2023. 8. 6.
[오라클 레퍼런스 함수] ITERATION_NUMBER - ITERATE(n)인 경우 n-1을 반환
728x90

ITERATION_NUMBER

 

구문

ITERATION_NUMBER

 

목적

ITERATION_NUMBER 함수는 SELECT 문의 model_clause에서만 사용할 수 있으며, model_rules_clause에서 ITERATE(number)가 지정된 경우에만 사용할 수 있습니다. 이 함수는 모델 규칙을 통해 완료된 반복(completed iteration)을 나타내는 정수를 반환합니다. ITERATION_NUMBER 함수는 첫 번째 반복 중에는 0을 반환합니다. 이후의 각 반복에서는 iteration_number에 1을 더한 값과 동일한 값을 반환합니다.

 

참고:

model_clause와 "Model Expressions"에 대한 구문과 의미에 대해서는 다음을 참조하세요.

 

예제

다음 예제는 1998년과 1999년의 Mouse Pad의 매출을 각각 2001년과 2002년의 Mouse Pad의 매출로 할당합니다.

SELECT country, prod, year, s
  FROM sales_view_ref
  MODEL
    PARTITION BY (country)
    DIMENSION BY (prod, year)
    MEASURES (sale s)
    IGNORE NAV
    UNIQUE DIMENSION
    RULES UPSERT SEQUENTIAL ORDER ITERATE(2)
      (
        s['Mouse Pad', 2001 + ITERATION_NUMBER] =
          s['Mouse Pad', 1998 + ITERATION_NUMBER]
      )
  ORDER BY country, prod, year;

COUNTRY       PROD                                         YEAR           S
----------    -----------------------------------      --------   ---------
France        Mouse Pad                                    1998     2509.42
France        Mouse Pad                                    1999     3678.69
France        Mouse Pad                                    2000     3000.72
France        Mouse Pad                                    2001     2509.42
France        Mouse Pad                                    2002     3678.69
France        Standard Mouse                               1998     2390.83
France        Standard Mouse                               1999     2280.45
France        Standard Mouse                               2000     1274.31
France        Standard Mouse                               2001     2164.54
Germany       Mouse Pad                                    1998     5827.87
Germany       Mouse Pad                                    1999     8346.44
Germany       Mouse Pad                                    2000     7375.46
Germany       Mouse Pad                                    2001     5827.87
Germany       Mouse Pad                                    2002     8346.44
Germany       Standard Mouse                               1998     7116.11
Germany       Standard Mouse                               1999     6263.14
Germany       Standard Mouse                               2000     2637.31
Germany       Standard Mouse                               2001     6456.13
 
18 rows selected.

 

앞선 예제에서는 sales_view_ref라는 view가 필요합니다. 이 뷰를 생성하려면 "The MODEL clause: Examples"를 참조하세요.

 


출처: 오라클 레퍼런스

원문 링크: Oracle ITERATION_NUMBER 함수 문서

 

반응형

댓글