SQL Server/SSAS 강좌 28

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

단항 연산자 안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://jevida.blog.me) 이번 시간에는 [단항 연산자]에 대해서 알아 보겠습니다. 계정차원의 집계는 각각의 멤버별로 다른 규칙을 적용해야 할 필요가 있습니다. 예를 들어 부모 값에 더한다, 부모 값에서 뺀다, 부모 값에 포함시키지 아니한다 등 다양한 규칙이 존재할 수 있습니다. 그리고 이러한 규칙은 각 멤버별로 존재하기 때문에 차원 테이블에 별도의 열로 관리하는 것이 가능 합니다. 각 멤버별로 부모 멤버로의 집계 규칙을 단항 연산자(Unary Operator) 기능을 통해 해결 합니다. 사용가능한 단항연산자 산술연산자 - (+, -, *, /) (~) - (~)는 부모값에 포함시키지 않을 때 사..

17 - SSAS - 계정차원 - (1) 계정 인텔리전스

계정차원 – 계정 인텔리전스 안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://jevida.blog.me) 이번 시간에는 계정차원(계정 인텔리전스)에 대해서 알아 보도록 하겠습니다. 모든 기업에서 대차대조표나 손익계산서 등과 같이 재무 분석은 가장 큰 관심사이고 핵심이 되는 영역입니다. 그런데 분석에서 가장 중요한 역할을 하는 차원인 계정 과목 계층 구조의 특수성으로 인해 접근 및 설계 방법이 기존 영역과 다릅니다. 계정 차원은 다른 차원과 구별되는 특징이 있습니다. 계정 차원의 계층 구조상에서 리프멤버들의 수준 깊이가 다양하게 존재. 하위 수준에서 상위 수준으로 집계가 단순하지 않음. 자식 멤버들의 값이 부모 멤버로 더해지기도 하고 빼지기도 함. 더해지거나 ..

15 - SSAS 차원관계 - (1)참조 관계 유형

차원관계 – 참조 관계 유형 안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://jevida.blog.me) 이번 시간에는 차원 관계(참조 관계 유형)에 대해서 알아 보도록 하겠습니다. 앞에서 차원과 팩트 테이블간의 관계를 정의하는 차원용도(Dimension Usage0를 살펴 보았습니다. 이외에도 차원과 팩트 테이블 사이에는 다른 유형의 관계를 설정할 수 있습니다. [참조 관계 유형]은 차원 테이블이 팩트 테이블과 직접적인 관계를 가지고 있지 않더라도 다른 차원들을 경유하여 분석하고자 할 때 유용합니다. 이번 예제에서 다루게 될 예제로 설명하면 FactResellerSales -> DimReseller -> DimGeography로 참조하고 있습니다. 첫번째는..

14 - SSAS 계산 작업

계산 작업 안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com. http://jevida.blog.me) 이번 시간은 계산 작업에 대해서 알아 보도록 하겠습니다. 집합 함수 설정만을 통해서 원하는 측정값을 구하지 못하는 경우도 있습니다. 예를 들어 고객 1인당 평균 구매 금액은 집계 과정을 통해 값을 구할 수 없습니다. 단가나 성장률 등과 같이 비율을 구하는 측정값은 비가산(Non-additive) 측정값으로 집계 후에 계산을 해야 합니다. SSAS에서는 계산 멤버나 MDX 스크립트 등을 통해서 집계 과정을 통해 어려운 값을 효과적으로 처리 할 수 있습니다. (이번 시간에는 MDX에 대해서는 다루지 않습니다. 예제를 위한 코드만 언급합니다.) 큐브에 계산을 추가하여 원하는 결..

13 - SSAS 고유 카운트 측정값

고유 카운트 측정값 안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://blog.naver.com/jevida) 이번 시간에는 고유 카운트 측정값에 대해서 알아 보도록 하겠습니다. 많은 분석에서 고유 카운트 측정값을 사용 합니다. 이때 판매 건수가 10건이라고 하여 10명의 고객이 1건씩 구매한 경우와 1명의 고객이 10건의 구매를 한 경우가 구분되지 않습니다. 이런 경우 DistinctCount 집계 함수를 이용하여 실제로 몇 명의 고객이 물건을 구매하였는지 쉽게 알 수 있습니다. 솔루션 탐색기에서 [Adventure Works.cube]를 더블클릭 또는 [디자이너 보기]를 선택 합니다. 측정값 창에서 마우스 오른쪽을 클릭하여 [새 측정값]을 선택 합니다. 새..

12 - SSAS 반가산 측정값 집계

반가산 측정값 집계 안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://blog.naver.com/jevida) 이번 시간에는 반가산 측정값 집계에 대해서 알아보도록 하겠습니다. 반가산(Semi-additive) 측정값은 일반 차원들에 대한 Sum 집계는 의미 있지만 시간 차원에 대한 Sum 집계는 의미 없는 측정값 입니다. AggregateFunction 속성을 이용하여 반가산 측정값을 처리할 수 있습니다. 참고로 측정값의 AggregateFunction 속성은 기본적으로 Sum으로 설정되어 있습니다. 솔루션 탐색기에서 Adventure Works.cube를 더블 클릭 또는 [디자이너 보기]를 선택 합니다. 측정값 창에서 마우스 오른쪽을 클릭하여 [새 측정값]..

11 - SSAS 측정값 그룹의 세분성

측정값 그룹의 세분성 측정값 그룹의 세분성은 차원들과의 관계에 의해 결정되며 큐브 디자이너의 차원 용도 작업창에서 확인 할 수 있습니다. 하나의 큐브에 여러 개의 측정값 그룹에 속해 있는 경우 측정값 그룹마다 관계를 맺고 있는 차원들의 구성이 다르고 관계 설정시 사용된 세분성 특성이 다를 수 있습니다. 세분성 특성으로 키 특성이 아닌 특성이 사용되면 세분석 특성이상의 수준 데이터는 의미를 가지지만 아래 수준의 데이터는 의미가 없습니다. 예를들어 Sales Amount Quota는 분기가 세분성 수준이므로 분기, 년도별 데이터는 의미를 가지지만 월, 일별 데이터는 의미가 없습니다. 주의할 점은 년도 특성과 분기 특성 사이에 특성 관계가 존재하지 않으면 분기 데이터로부터 년도 데이터를 집계하지 못하므로 관계..

10 - SSAS 차원용도

차원용도 안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://blog.naver.com/jevida) 이번 시간에는 차원 용도에 대해서 알아 보도록 하겠습니다. 하나의 큐브 안에는 여러 개의 측정값 그룹이 포함될 수 있는데 측정값 그룹들은 차원들과의 관계가 서로 다르고 세분성도 서로 다를 수 있습니다. 팩트 테이블과 차원 테이블 사이의 관계가 많을 경우 큐브 마법사나 디자이너에서 작업하는 과정에서 자동으로 관계가 설정 됩니다. 큐브 디자이너 차원 용도에서 그러한 관계들을 확인하고 필요하면 수정도 할 수 있습니다. 솔루션 탐색기에서 [큐브] – [Adventure Works.cube]를 더블클릭 또는 마우스 오른쪽을 이용해서 [디자이너 보기]를 선택 합니다. [차..

09 - SSAS 측정값 그룹

측정값 그룹 안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://blog.naver.com/jevida) 이번 시간에는 측정값 그룹에 대해서 알아 보도록 하겠습니다. 측정값 그룹은 분석의 대상이 되는 측정값 들의 모음 입니다. 동일한 측정값 그룹에 속하는 측정값들은 동일한 세분성(Granularity)를 가집니다. 측 하나의 팩트 테이블에서 관리가 가능 합니다. Analysis Services에서 하나의 측정값 그룹은 기본적으로 하나의 팩트 테이블로부터 구현되도록 설계되었습니다. 하나의 큐브는 여러 개의 측정값 그룹을 포함할 수 있습니다. 그리고 각 측정값 그룹의 세분성은 동일하지 않아도 됩니다. 하나의 큐브 안에는 임의의 측정값 그룹과 한번이라도 관계가 있는 ..