2012-05-03 3 views
0

나는 OLAP에서 매우 일반적인 시나리오지만 나를 밖으로 뛰어 밤은 주소의 정말 좋은 방법이 될 것입니다 무엇을 믿는있어 :(OLAP의 치수)을 구체적으로 그룹으로 멤버의 조합을 할당하는 방법

필자 내가 원하는 무엇

enter image description here

이 카테고리로 제품 그룹 조합을 지정입니다 .. 각각에 대해 서로 다른 제품에 여러 항목이 판매 거래를 말한다 가지고 즉 '개 전용', '고양이 '고양이와 개'

내가 거래-SQL 또는 SSIS에서 이것을 달성하기 위해 희망하고 가능하면210

그래서 당신이

enter image description here

.. 뭔가 등으로 끝장 나는 느린 계산 된 구성원/조치를 발견 넣어 즉 그것을 할 수있는 최선의 방법 인 경우 그 솔루션 열려있어

당신이 T-SQL에서 그것을하고 싶은 당신이 당신의 두 번째처럼 (하나 개의 테이블이있는 경우 많이

+0

내 치수 모델을 변경해야하는 경우 BTW를 사용하면 그 모델을 열어 볼 수 있습니다 .. – Rowan

답변

1

를 얻기 위해 SSIS에서 조회 변환을 사용해야합니다 모든 제품 그룹이 포함 된 제품에 대한 하나의 차원 테이블 만 있습니다. 즉, 한 차원에서 모든 제품 속성을 비정규 화합니다. 이 Product 차원에는 대리 키인 ProductKey (SQL Server에서 Identity 열 사용)가 있습니다. PK 인이 키는 모든 전환이있는 사실 테이블의 FK입니다. 따라서 간단한 모델을 기반으로 모든 측정 값 (수량, 수량) 및 하나의 FK가 Product 차원 (ProductKey)에있는 판매 정보에 대한 하나의 팩트 테이블을 얻게됩니다. 제품 측정 기준에는 카테고리를 포함한 모든 제품 속성이 있습니다.

SSAS에서 단순히 DSV에 두 개의 테이블을 가져 와서 하나의 차원 (제품)을 만들고 모든 것이 처리됩니다.

+0

예. 내 모델을 다시 방문해야한다는 사실을 깨달았습니다. – Rowan

+0

본질적으로이 그룹 (고양이, 개, 고양이, 고양이)이 '판매'유형을 기술하고 제품 유형이 아니라고 생각하고 내 생각으로 판매 차원을 만들고 해당 차원의 수준으로 그룹화합니다. – Rowan

+0

예, 기여자가 제품과 관련이없는 경우 새 특성 항목을 만들어야합니다. –

0

음 감사 어떤 도움 예를 들어) 다음과 같이하면 트릭을 수행하게됩니다.

단지 제품 ID, 이름이 아닌
  • 제품 갖는 ID, 이름 및 카테고리 ID
  • 을 가지고,

    1. 거래 :
      update [transactions_table] set [product_group] = 'dog only' 
      where [product] in ('labrador', 'st bernard') 
      
      update [transactions_table] set [product_group] = 'cat and dog' 
      where [product] in ('chihuahua', 'tabby') 
      
      update [transactions_table] set [product_group] = 'cat only' 
      where [product] in ('persian') 
      

      하지만 정보를 가지고하는 것이 좋습니다 것은 다른 테이블로 분할

    2. ID 및 이름을 가진 카테고리

    이렇게하면 공간이 절약되고 큰 테이블에 더 빨리 저장됩니다.

    0

    이상적으로 제품 그룹에 대한 표가 있어야하며 제품 정보에이 정보를 추가해야합니다. 당신은 이미 당신의 문제가이 정보를 채울 경우 차원 모델링 (킴볼 방법론), 당신이해야에 대한 모범 사례를 따르십시오

    , 당신은 제품 그룹에

    관련 문제