All thing of the world!

Oracle CUBE_TABLE 설명 : 오라클 함수 본문

IT/Oracle DBMS

Oracle CUBE_TABLE 설명 : 오라클 함수

WorldSeeker 2021. 4. 2. 21:00

1. 함수의 목적 

   Oracle CUBE_TABLE은 CUBE 또는 DIMENSION 테이블에서 데이터를 추출하여 2차원 관계형 테이블 형식으로 변환한다.

  * 참고 : 본 함수는 Oracle Database OLAP 옵션이 설치되어 있어야 한다.


2. 샘플을 통한 개념 퀵뷰

GLOBAL스키마의 CHANNEL 디멘젼 테이블을 2차원으로 변환

SELECT dim_key, level_name, long_description, channel_total_id tot_id,
channel_channel_id chan_id, channel_long_description chan_desc,
total_long_description tot_desc
FROM TABLE(CUBE_TABLE('global.channel'));

DIM_KEY LEVEL_NAME LONG_DESCRIPTION TOT_ID CHAN_ID CHAN_DESC TOT_DESC
----------- ---------- ---------------- ------ ------- ------------ -------------
CHANNEL_CAT CHANNEL Catalog TOTAL CAT Catalog Total Channel
CHANNEL_DIR CHANNEL Direct Sales TOTAL DIR Direct Sales Total Channel
CHANNEL_INT CHANNEL Internet TOTAL INT Internet Total Channel
TOTAL_TOTAL TOTAL Total Channel TOTAL Total Channel

3. 사용방법  


4. 함수 PARAMETER 설명

[schema]
cube나 dimension 테이블이 위치한 스키마를 기입한다.
 
[cube][dimension]

cube 혹은 dimension테이블의 이름을 기입한다.

[HIERARCHY][hierarchy]
optional 파라미터로, 지정하면 dimesion 계층 구조를 지정할 수 있다.
cube에는 각 차원에 하나씩 여러 개의 계층 구조가 있을 수 있다.

아래와 같이 여러가지의 테이블을 생성할 수 있다.

 큐브 테이블에는 각 차원(dimension)을 위한 키(key) 컬럼과 각 계수(measure)를 위한 컬럼과 큐브의 계산된 계수(measure)가 들어있다.
큐브 테이블을 만들려면 cube hierarchy 절이 있거나 없는 큐브를 지정하면 된다.
여러 계층 구조가 있는 차원의 경우, hierrachy절은 반환값을 지정된 계층 구조의 차원 멤버나 level 수준으로 제한한다.
hierarchy 절이 없으면 모든 차원 멤버와 모든 레벨이 포함된다


 디멘젼테이블의 경우 key 컬럼과 각 레벨과 각 속성을 위한 컬럼을 포함한다.
또한 다음 코드 중 하나를 갖는 MEMER_TYPE컬럼을 포함한다.
- L : 테이블, 뷰, 시노님으로부터 로드됨
- A : 디멘젼내의 로드된 멤버와 모든 계층의 단일 루트
- C : 계산된 멤버

모든 디멘전 멤버와 모든 레벨이 테이블에 포함된다.
차원 테이블을 만들려면 dimension hierarchy 절이 없는 차원을 지정한다.

 계층구조(hierarchy) 테이블은 디멘전의 모든 컬럼과 상위 멤버의 컬럼과 각 소스레벨의 컬럼을 포함한다. 계층구조 테이블 역시 MEMBER_TYPE 컬럼을 가진다.
명명된 계층 구조의 일부가 아닌 차원 멤버 및 레벨은 테이블에서 제외된다.
계층 구조 테이블을 만들려면 dimension hierarchy 절을 지정한다.


cube_table 함수는 항상 아래와 같은 select형식으로 쓰인다.

SELECT ... FROM TABLE(CUBE_TABLE('arg'));

5. 다양한 샘플표현

example1) MARKET와 CALENDAR 계층구조로 제한된 global.units_cube의 큐브테이블을 조회

Comments