SQL Server/SSAS 강좌

18 - SSAS - 계정차원 - (2)단항 연산자

SungWookKang 2015. 7. 15. 16:47
반응형

단항 연산자

 

안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://jevida.blog.me)

이번 시간에는 [단항 연산자]에 대해서 알아 보겠습니다.

 

계정차원의 집계는 각각의 멤버별로 다른 규칙을 적용해야 할 필요가 있습니다. 예를 들어 부모 값에 더한다, 부모 값에서 뺀다, 부모 값에 포함시키지 아니한다 등 다양한 규칙이 존재할 수 있습니다. 그리고 이러한 규칙은 각 멤버별로 존재하기 때문에 차원 테이블에 별도의 열로 관리하는 것이 가능 합니다.

 

각 멤버별로 부모 멤버로의 집계 규칙을 단항 연산자(Unary Operator) 기능을 통해 해결 합니다.

사용가능한 단항연산자

  • 산술연산자 - (+, -, *, /)
  • (~) - (~)는 부모값에 포함시키지 않을 때 사용.
  • 수치 사용 – 예를 들어 단항 연산자 값으로 0.5를 사용하면 자신의 값에 0.5를 곱한 후 부모 멤버에 더해집니다.

 

 

[솔루션 탐색기]에서 [새 큐브]를 선택 합니다.

 

 

큐브 마법사가 실행되면 [기존 테이블 사용]을 선택 합니다.

 

 

[측정값 그룹 테이블 선택]에서 아래 그림과 같이 테이블을 선택 합니다.

FactFinance, FactInternetSales, FactResellerSales, FactSalesQuota

 

 

[측정값 선택]에서 전체 측정값을 선택 합니다.

 

 

[기존 차원 선택]에서 아래 그림과 같이 차원을 선택 합니다.

 

 

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

 

큐브 [처리]를 클릭하고 [브라우저] 탭으로 이동 합니다.

필드에 아래 그림과 같이 측정값과 차원을 끌어다 놓습니다.

계정별 금액을 살펴보면 계정에 상관없이 단순히 Sum 집계가 된 것을 확인 할 수 있습니다.

 

 

[솔루션 탐색기]에서 [Account.dim]을 선택하여 더블클릭 또는 [디자이너 보기]를 선택 합니다.

 

 

[차원 구조]탭을 클릭하고 특성창의 [Parent Account Key]를 클릭합니다. [속성]창에서 [UnaryOperatorColumn] 속성을 클릭합니다.

 

 

[단항 연산자 열]창이 나타나면 원본테이블에 [Dim Account]를 선택하고 [원본 열]에 [Operator]를 선택 합니다.

 

 

프로젝트를 [처리]하고 [브라우저] 탭으로 이동하여 [다시 연결]을 클릭 합니다.

 

각 멤버 아이콘 앞에 [단항 연산자]가 나타납니다.

 

 

[솔루션 탐색기]에서 [Adventure Works DW.cube]를 더블클릭 또는 [디자이너 보기]를 선택 합니다.

 

[브라우저]탭을 클릭하고 [다시 연결]을 클릭합니다.

 

단항 연산자의 적용에 따라 멤버별 집계가 달라짐을 확인 할 수 있습니다.

반응형