이전 포스트 OLAP란?에 이어서

OLAP의 기본적인 오퍼레이션(operation) 4가지를 공부하였고, 2개를 먼저 소개하겠다.

OLAP의 기본적인 분석 operation이 4가지 있다.

  1. Roll-up
  2. Drill-down
  3. Slice and dice
  4. Pivot

그 중 첫번째와 두번째를 먼저 소개하겠다.

먼저, Roll-up부터 해보겠다.

Roll-upconsolidation이나 aggregation이라고 알고 있는 것과 같다.

Roll-up은 2개의 방법으로 실행된다.

  1. 차원들 줄이기
  2. 컨셉 계층(Concept Hierarchy) 올라가기

컨셉 계층이란 순서 또는 수준에 다라 어떤 것을 그룹화하는 것을 말한다

아래와 같은 데이터가 있다고 해보자

종류 기간 도시 개수 종류 기간 도시 개수
컴퓨터 1Q 서울 350 1Q 서울 1000
컴퓨터 1Q 부산 100 1Q 부산 800
컴퓨터 1Q 광주 250 1Q 광주 600
컴퓨터 1Q 수원 300 1Q 수원 900
컴퓨터 1Q 성남 500 1Q 성남 700

이렇게 있을 때 Roll-up을 적용해보자.

Roll-up을 적용하면 아래와 같은 데이터 형태로 만든다(Roll-up은 도시를 도로 차원을 더 올려보자)

그렇다면 아래의 표와 같이 바뀐다

종류 기간 개수 종류 기간 개수
컴퓨터 1Q 서울 350 1Q 서울 1000
컴퓨터 1Q 부산 100 1Q 부산 800
컴퓨터 1Q 광주 250 1Q 광주 600
컴퓨터 1Q 경기 800 1Q 경기 1600

표로 보면 잘 와닿지 않을 수 있다.

그래서 그림으로 보면 더 한 번에 알 수 있을 것 같아서 준비했다.

OLAP Roll-up - Guru99

다음은 Drill-down 이다.

Drill-down은 데이터들을 작은 단위로 분할한 것이다. 그러니까 위의 Roll-up의 반대이다. Roll-up은 차원을 1차원 줄여서 데이터를 조금 더 큰 단위로 묶었다면,

Drill-down은 다음과 같이 진행한다.

  1. 컨셉 계층을 아래로 내려간다.
  2. 차원을 늘린다.

위의 Roll-up과 정반대이지 않은가?

그렇다면 보여줄 에제도 Roll-up과 비교하면 더 이해가 쉬울 것이다. 왜냐하면 Roll-up의 데이터를 그대로 사용하되 약간의 변형을 할 것이기 때문이다.

자 원본데이터는 이렇다.

종류 기간 개수 종류 기간 개수
컴퓨터 1Q 서울 350 1Q 서울 1000
컴퓨터 1Q 부산 100 1Q 부산 800
컴퓨터 1Q 광주 250 1Q 광주 600
컴퓨터 1Q 경기 800 1Q 경기 1600

그럼 Drill-down을 적용한다면?

종류 개수 종류 개수
컴퓨터 01 서울 100 01 서울 300
컴퓨터 02 서울 150 02 서울 500
컴퓨터 03 서울 100 03 서울 200
컴퓨터 01 부산 30 01 부산 300
컴퓨터 02 부산 50 02 부산 400
컴퓨터 03 부산 20 03 부산 100
컴퓨터 01 광주 50 01 광주 200
컴퓨터 02 광주 150 02 광주 300
컴퓨터 03 광주 50 03 광주 100
컴퓨터 01 경기 200 01 경기 500
컴퓨터 02 경기 400 02 경기 800
컴퓨터 03 경기 200 03 경기 300

이렇게 변한다.

분기 단위였던 단위를 월로 분할하여 나눈 것이다.

이것은 쉽게 이해가 갈 것이다.

그래도 이해가 안간다면 위의 Roll-up과 유사한 그림으로 살펴보자.

OLAP Drill-down - Guru99

그림을 통해 어떻게 변하는지 보면 표를 볼 때마다 더 직관적으로 와 닿을 것이다.

Roll-upDrill-down은 유사하여 묶어서 공부하였고 이를 설명하였다.

결론적으로

Roll-up

작은 개념을 더 큰 개념으로 묶어서 차원을 줄이는 것이다.

Drill-down

큰 개념을 더 작은 개념으로 분할하여 차원을 늘리는 것이다.

이렇게 막상 공부하고 나니 우리가 흔히 데이터를 분석하거나 할 때 많이 사용하는 것들이었다.


포스트에 대한 피드백이 있으시다면 여기로 메일 부탁드립니다. 읽어주셔서 감사합니다.