분류 전체보기 1383

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에서 하나의 측정값 그룹은 기본적으로 하나의 팩트 테이블로부터 구현되도록 설계되었습니다. 하나의 큐브는 여러 개의 측정값 그룹을 포함할 수 있습니다. 그리고 각 측정값 그룹의 세분성은 동일하지 않아도 됩니다. 하나의 큐브 안에는 임의의 측정값 그룹과 한번이라도 관계가 있는 ..

08 - SSAS 넌-리프 수준의 멤버

넌리프 수준의 데이터 멤버 안녕하세요 강성욱 입니다. (www.sqltag.org, www.sqler.com, http://blog.naver.com/jevida) 이번 시간에는 넌리프 수준의 멤버들을 적재해 보도록 하겠습니다. 일반 차원에서는 팩트 테이블로부터 데이터를 읽어와 리프 수준의 멤버들에 적재합니다. 그리고 넌리프 수준 멤버들의 데이터는 하위 수준의 멤버들로부터 집계 과정을 통해 계산됩니다. 즉 팩트 데이터를 넌리프 수준의 멤버들로 직접 적재하지 못합니다. 그러나 앞에서 생성한 Employee 차원의 경우 넌리프 수준의 사원 멤버들로 개인별로 실적 데이터를 부모-자식 차원의 MemberWithData 속성을 이용하여 이러한 요구를 쉽게 해결 할 수 있습니다. 모든 강좌의 실습은 순서대로 진행 ..

07 - SSAS 부모-자식 차원 - 부모자식 차원 생성

부모-자식 차원 안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://blog.naver.com/jevida) 이번 시간에는 차원에 대해서 (그 중에 부모-자식 차원)알아 보도록 하겠습니다. 일반 차원의 경우 차원의 각 특성은 차원 테이블이 각 열에 대응되며 동일한 세분성을 가지는 멤버들을 포함하합니다. 이 때 하나의 차원 테이블을 기반으로 하는 경우 스타 스키마 차원이라 하고 두 개 이상의 차원 테이블들을 기반으로 하는 경우 스노우 플레이크 스키마 라고 합니다. 부모-자식 차원은 하나의 차원 테이블을 기반으로 합니다. 스타 스키마 차원과 다른 점은 won기 참조 관계를 이용하여 계층 구조를 생성한다는 것입니다. 즉 키 특성에 해당하는 열과 그 열을 참조하는 다른..

06 - SSAS 차원 - (3) 롤-플레잉 차원

차원 – (3)롤-플레잉 차원 안녕하세요 강성욱 입니다.(www.sqltag.org, www.sqler.com, http://blog.naver.com/jevida) 이번 시간에는 차원에 대해서(그 중에 롤-플레잉 차원) 알아 보도록 하겠습니다. 차원 테이블과 팩트 테이블 사이에는 참조 관계가 존재 합니다. 대부분의 경우에는 하나의 관계자 존재하는데 경우에 따라서 여러 개의 관계가 존재 할 수 있습니다. 이 때 각 관계는 역할에 따라 구분이 됩니다. 팩트 테이블이 동일한 차원 테이블을 여러 역할을 가지고 참조하는 경우 해당 차원 테이블을 기반으로 정의한 차원을 큐브에 포함시킬 때 각 역할별로 차원을 별도로 정의하지 않고 하나의 차워을 역할별로 재활용할 수 있습니다. 이를 롤-플레잉 차원이라고 합니다. 실..