2017-03-22 4 views
1

나는 각각의 팩트 테이블을 가지고있는 SSAS를 가지고 있는데, 각각은 ("Dimension Usage"탭에서) "Regular"Dimensions를 사용하고있다. 이것은 분리되어 잘 작동합니다. 이제 큐브에서 좀 더 폭이 필요합니다.SSAS 링크 2 사실 테이블 함께 - 어떻게?

일반적인 DimLocation에 링크 된 모든 SR 세부 정보가있는 FactServiceRequest 테이블이 있습니다. 유사하게도 동일한 세부 (즉, 개가 등록 된 주소)를 사용하여 Dog 세부 사항의 목록이있는 FactDog 테이블이 있습니다.

그래서 나는 2 측정 값 그룹 열 및 1 (희미한) 행을 가지고 모두 사용하여 위치 대체 키

나는 내가 개, 그들이 다음에 등록되어있는 주소를 선택 할 수있을 것으로 예상했다

그 주소와 개와 관련된 사건. 그러나 나는 결과의 거의 기하 급수적 인 수를 돌려주고있다 - 모든 것을위한 모든 사건 등

아무도 도와 줄 수 있습니까? 나는 어둠에 대한 사실의 결합에 도달 할 것이라고 생각하지만 어떤 방향으로 나아갈 지 확신 할 수 없다.

답변

0

몇 가지 가능한 대답이있는 까다로운 질문이다.

(이 단어의 사용 실례가 안된다면!) 그것은 사실로 내려 오는 개는 차원과 사실 둘 다 :

  1. 개는 그것이 존재하기 때문에 사실입니다. 나는 MeasureGroup에서 귀하의 측정을 추측하고 있습니다. Dog는 간단한 Count입니다 (이 위치에서 얼마나 많은 개를 얻으려고 위치별로 슬라이스합니까?)
  2. Dog는 또한 ServiceRequest 사실을 슬라이스하는 차원입니다.

한 가지 방법은 모든 SR 행이 모든 개 세부 사항을 포함하도록 큐브 소스 역할을하는 데이터베이스 (denormalise) 서비스 요청을 축소하는 것입니다. 이 두 가지 단점이있다 반복을 많이있을거야 것을 의미한다 :

  • 그것은 더 많은 공간을 차지을 제대로 일관 개 모든 사본의 자세한 사항 업데이트하지의 위험을 소개합니다 (ETL이 될 것입니다 매우 신중하게 지어졌다).
  • SR (예 : 개의 나이와 같은)이 아닌 개와 실제로 관련된 다른 모든 척도는 집계하기가 어려울 것입니다.

그러나이 방법에서는 측정 값 그룹이 하나만 있습니다.

몇 가지 프로젝트에서 취한 다른 접근 방식은 팩트 테이블을 그대로 두는 것입니다 (Dog의 경우 1, SR의 경우 1). 그런 다음 을 만들 수 있습니다. a 치수 Dog 테이블에서 측정 그룹. Dimension Usage 큐브에서 "Fact"유형 관계를 통해 "MeasureGroup Dogs"를 "Dimension Dogs"에 연결할 수 있습니다 (대화 상자의 간단한 설명에 "차원 테이블이 사실 테이블 임").

Dog 차원은 ServiceRequest 팩트 테이블/측정 값 그룹을 통해 "다 대다"유형 관계를 통해 ServiceRequest 테이블 (예 : ServiceRequest 유형, ServiceRequest 날짜)을 기반으로하는 차원과 관련 될 수 있습니다 .

+0

고맙습니다 @SebTHU, 옵션 2는 나를 위해가는 길 같습니다. 시간 내 주셔서 감사합니다. – user3735855

+0

@ user3735855 : 기꺼이 도와 드리겠습니다!내 대답이 문제를 해결했다면 "받아 들인 대답"(이 사이트의 작동 방식)으로 표시하십시오. – SebTHU