포스팅 목차
o PRESENTV
문법
presentv::=
목적
PRESENTV 함수는 행 상호 간 계산에 대해 유용하다. PRESENTNNV함수는 단지 SELECT구문의 model_clause에서 이용되고, model rule의 오른쪽에서 사용될 수 있다.
model_clause의 실행 전에 cell_reference가 존재할 때 expr1을 반환한다. 그 이외에는 expr2를 반환한다.
예제
다음 예제는 만약 2000년 마우스 패드에 대한 판매액을 가지는 행이 존재한다면, 20001년의 마우스패드에 대한 값은 2000년도의 값을 설정한다. 만약 행이 존재하지 않는다면, 2001년도의 값은 0으로 설정한다.
Oracle Program |
SELECT country, prod, year, s
FROM sales_view
MODEL
PARTITION BY (country)
DIMENSION BY (prod, year)
MEASURES (sale s)
IGNORE NAV
UNIQUE DIMENSION
RULES UPSERT SEQUENTIAL ORDER
(
s['Mouse Pad', 2001] =
PRESENTV(s['Mouse Pad', 2000], s['Mouse Pad', 2000], 0)
)
ORDER BY country, prod, year;
Results |
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 3000.72
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 7375.46
Germany Standard Mouse 1998 7116.11
Germany Standard Mouse 1999 6263.14
Germany Standard Mouse 2000 2637.31
Germany Standard Mouse 2001 6456.13
16 rows selected.
이 예제는 뷰 sales_view가 필요한다. 이 뷰 생성은 오라클 도움말을 참조. (모델 구분)
오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크 |
[SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 |
반응형
'오라클 게시판 > 오라클 함수' 카테고리의 다른 글
[오라클 SQL 함수] PRESENTNNV 함수 (0) | 2021.10.19 |
---|---|
[오라클 SQL 함수] PREVIOUS 함수 (0) | 2021.10.19 |
【오라클(Oracle) SQL 함수】 PERCENTILE_CONT 함수 (0) | 2021.10.19 |
[오라클 SQL 함수] POWERMULTISET_BY_CARDINALITY 함수 (0) | 2021.10.19 |
[오라클 SQL 함수] POWERMULTISET 함수 (0) | 2021.10.19 |
댓글