포스팅 목차
o PRESENTNNV
문법
presentnnv::=
목적
PRESENTNNV 함수는 행상호간 계산에 대해 유용하다. PRESENTNNV함수는 단지 SELECT구문의 model_clause에서 이용되고, model rule의 오른쪽에서 사용될수 있다.
이 함수는 cell_reference가 존재하고 NULL이 아닌 경우, model_clause이 실행되기 전에 expr1을 반환한다. 이 외의 경우에는 expr2를 반환한다.
예제
다음 예제는 만약 2002년 마우스 패드에 대한 판매액을 가진 행이 존재하고 판매액이 NULL이 아니라면, 그 판매액 값을 반환한다. 만약 행이 존재하나, 판매액이 NULL이라면, 그 때 판매액 값은 10으로 설정된다. 만약 행이 존재하지 않는다면, 행은 10으로 설정한 판매액을 생성한다.
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', 2002] =
PRESENTNNV(s['Mouse Pad', 2002], s['Mouse Pad', 2002], 10)
)
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 3269.09
France Mouse Pad 2002 10
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 9535.08
Germany Mouse Pad 2002 10
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가 필요한다. 이 뷰 생성에 대하여는 Oracle 도움말 참조. (모델 구분)
오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크 |
[SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크 |
반응형
'오라클 게시판 > 오라클 함수' 카테고리의 다른 글
【오라클 SQL 함수】 RATIO_TO_REPORT 함수 (0) | 2021.10.19 |
---|---|
【오라클(Oracle) SQL 함수】 RANK 함수 (0) | 2021.10.19 |
[오라클 SQL 함수] PREVIOUS 함수 (0) | 2021.10.19 |
[오라클 SQL 함수] PRESENTV 함수 (0) | 2021.10.19 |
【오라클(Oracle) SQL 함수】 PERCENTILE_CONT 함수 (0) | 2021.10.19 |
댓글