차원 – (1)표준차원

By 01/08/2018SSAS 강좌

차원 – (1)표준차원

 

 

이번 시간에는 차원에 대해서 (그 중에 표준 차원)알아 보도록 하겠습니다. 표준 차원은 가장 일반적인 차원을 의미 합니다.

 

실습 방법은 차원 마법사를 이용하여 기존 테이블로부터 차원을 생성합니다. 차원 마법사를 이용하여 생성한 차원은 차원 디자이너를 사용해 추가적인 작업 및 유지보수가 가능 합니다, 차원 디자이너에서 차원 구조를 검토하고 속성을 변경하고 차원 데이터를 조회해 볼 수 있습니다.

 

[BIDS]를 실행하여 [Analysis Services 프로젝트]를 생성 합니다.

 

[솔루션 탐색기]에서 [데이터 원본]에서 마우스 오른쪽을 클릭하여 [새 데이터 원본]을 선택 합니다. 데이터 원본은 Analysis Services가 차원이나 큐브를 생성할 때 사용하는 기저 데이터를 의미하며 주로 데이터웨어하우스나 데이터마트로 구축 됩니다. 차원이나 큐브를 생성할 때 일반적으로 어디로부터 데이터를 가져오는지 설정하는 데이터 원본 추가 작업을 가장 먼저 하게 됩니다.

데이터 원본은 연결할 서버와 연결할 때 필요한  인증 정보를 포함하는 연결 문자열을 포함하고 있습니다.

 

[데이터 원본 마법사]가 나타나면 SNAC(SQL Native Client)를 사용하여 연결을 만듭니다.

 

[솔루션 탐색기]에서 [데이터 원본 뷰]에서 마우스 오른쪽을 클릭하여 [새 데이터 원본 뷰]를 선택 합니다.

[데이터 원본]에는 차원과 큐브 용도외의 관리용 테이블도 존재 합니다. 또한 비즈니스 용어가 아닌 개발자 용어로 관리됩니다, 필요한 데이터가 누락되거나 형식이 맞지 않을 수도 있기에 데이터 원본에서 필요한 스키마 정보만 선택적으로 가져오고 필요에 따라 일부 데이터 처리를 할 필요가 있습니다. 이러한 문제를 논리적으로 해결하기 위하여 [데이터 원본 뷰]를 사용합니다. 또한 테이블 이름이나 열이름 등을 비즈니스 용어로 표현 함으로써 보다 사용자 친화적으로 접근 합니다.

 

[새 데이터 원본 뷰 마법사]가 나타나면 앞에서 만들었던 [데이터 원본]을 선택 합니다.

 

[테이블 및 뷰 선택]에서 DimProduct, DimProductCategory, DimProductSubCategory를 포함된 개체로 이동 합니다.

(세 개의 테이블이 제품 관련 차원테이블이 정규화 되어 있음.)

 

[마법사 완료]에서 차원 이름을 지정하고 완료 합니다.

 

물리적인 참조 관계를 기반으로 자동으로 테이블간 관계가 표시 됩니다.

 

[솔루션 탐색기]에서 [차원]을 마우스 오른쪽을 클릭하여 [새 차원]을 선택 합니다.

 

[생성 방법 선택]에서 [기존 테이블 사용]을 선택 합니다.

 

[원본 정보 지정]에서 [데이터 원본 뷰]를 선택 하고 [주 테이블]을 선택 합니다.

[키 열]과 [이름 열]을 선택 합니다.

 

[관련 테이블 선택]에서는 자동으로 테이블이 선택되어 있습니다.

 

[차원 특성 선택]에서 Color, Price, Size를 선택 합니다.

 

EnglishProductCategoryName의 특성 이름을 Category로 변경 합니다.

 

차원 이름을 지정하고 마법사를 완료 합니다.

 

차원 디자이너에서 [Dim Product] 특성의 이름을 [Product]로 변경 합니다.

 

차원 디자이너의 브라우저 탭으로 이동 합니다. 아직은 BIDS에서 차원 정의만 한 상태라서 차원 구조를 탐색 하지 못합니다. [배포]를 클릭합니다.

 

[실행]을 선택하면 차원이 서버로 배포되어 생성 됩니다.

 

정상적으로 배포 처리가 완료 되면 다음과 같은 화면이 나타납니다. 만약 빨간색의 오류가 발생한다면 문제점을 해결한 후 다시 배포를 합니다,

 

차원 디자이너에서 다시 연결 버튼을 클릭하면 특성 계층별로 차원 구조를 살펴 볼 수 있습니다.

차원 마법사를 이용하여 차원을 만든 후에 차원 디자이너를 이용하여 수정 및 유지 관리할 수 있습니다. 차원 테이블의 열을 특성으로 추가하면 해당 특성은 기본적으로 계층을 가집니다. 계층을 가진다는 것은 데이터를 그룹화 하는데 사용할 수 있음을 의미 합니다.

계층을 [List Price]로 변경 합니다. 그림과 같이 가격 멤버가 불규칙적으로 보입니다. 비즈니스적으로는 큰 의미 없는 구분입니다.

 

[차원 구조]탭으로 이동하여 [List Price] 특성을 선택하고 [속성] 창에서 AttributeHierarchyEnabled 속성을 [False]로 변경 합니다. 이 때 [List Price]의 특성의 아이콘은 회색으로 바뀌며 비활성화 됩니다.

 

프로젝트를 배포 후 다시 연결하여 계층 리스트에 보면 [List Price]가 나타나지 않습니다.

계층을 [Product]를 선택하고 [멤버 속성]을 클릭한 후 [List Price]를 선택 합니다.

 

아래 그림과 같이 [List Price]를 더 이상 특성 계층으로 활용하지는 못하지만 Product에 대한 멤버 속성으로 활용이 가능 합니다.

 

다음에는 시간 차원에 대해서 알아 보도록 하겠습니다.

 

2012-06-29 / 강성욱 / http://sqlmvp.kr / http://sqlangeles.com

 

SSAS, OLAP, 다차원모델링, BI, 큐브, MSBI, MSCUBE, SQLServer, mssql, 큐브만들기, BIDS, SSDT, 표준차원

 

Leave a Reply