팩트 관계 정의

사용자는 팩트 테이블에 있는 데이터 항목별로 측정값 차원을 구분하거나 특정 판매 팩트에 관련된 송장 번호나 구매 주문 번호와 같은 특정 추가 관련 정보를 팩트 테이블에서 쿼리할 수 있습니다. 이러한 팩트 테이블 항목을 기반으로 차원을 정의할 경우 이 차원을 팩트 차원이라고 합니다. 팩트 차원은 중복 제거 차원이라고도 합니다. 팩트 차원은 특정 송장 번호에 관련된 모든 행과 같은 관련 팩트 테이블 행을 함께 그룹화하는 데 유용합니다. 이 정보를 관계형 데이터베이스에 있는 별도의 차원 테이블에 넣을 수 있는데도 정보에 대한 별도의 차원 테이블을 만들면 차원 테이블이 팩트 테이블과 같은 속도로 커지고 중복 데이터가 발생하며 과도하게 복잡해지기 때문에 좋지 않습니다.

Microsoft SQL Server 2005 Analysis Services(SSAS)에서 쿼리 성능 향상을 위해 팩트 차원 데이터를 MOLAP 차원 구조로 복제할지 또는 쿼리 성능을 향상시키는 대신 저장 공간을 절약하기 위해 팩트 차원을 ROLAP 차원으로 정의할지 결정할 수 있습니다. MOLAP 저장소 모드를 사용하여 차원을 저장하면 모든 차원 멤버는 측정값 그룹의 파티션에 저장될 뿐만 아니라 고도로 압축된 MOLAP 구조로 Analysis Services 인스턴스에 저장됩니다. ROLAP 저장소 모드를 사용하여 차원을 저장하면 차원 정의만 MOLAP 구조로 저장되고 차원 멤버 자체는 쿼리 시에 기본 관계형 팩트 테이블에서 쿼리됩니다. 팩트 차원의 쿼리 빈도, 표준 쿼리에서 반환된 행 수, 쿼리 성능 및 처리 비용에 따라 적절한 저장소 모드를 결정하십시오. 차원을 ROLAP으로 정의한다고 해서 해당 차원을 사용하는 모든 큐브도 ROLAP 저장소 모드를 사용하여 저장해야 하는 것은 아닙니다. 이것이 SQL Server 2000 Analysis Services와의 차이점입니다.

팩트 차원을 정의하면 팩트 차원과 측정값 그룹의 관계를 팩트 관계로 정의할 수 있습니다. 팩트 관계에 적용되는 제약 조건은 다음과 같습니다.

  • 세분성 특성이 차원에 대한 키 열이어야 하며 이에 따라 차원과 팩트 테이블의 팩트 간 일대일 관계를 만듭니다.
  • 차원은 하나의 측정값 그룹에 대한 팩트 관계만 가질 수 있습니다.

[!참고] 매번 팩트 관계에서 참조하는 측정값 그룹을 업데이트한 후에는 팩트 차원을 증분 업데이트해야 합니다.

자세한 내용은 차원 관계팩트 관계 및 팩트 관계 속성 정의를 참조하십시오.

이 항목의 작업에서는 FactInternetSales 팩트 테이블의 CustomerPONumber 열을 기반으로 새 큐브 차원을 추가한 다음 이 큐브 차원과 Internet Sales 측정값 그룹의 관계를 팩트 관계로 정의하는 방법에 대해 설명합니다.

Internet Sales Orders 팩트 차원 정의

Internet Sales Orders 팩트 차원을 정의하려면

  1. Analysis Services Tutorial 큐브에 대한 큐브 디자이너에서 큐브 구조 탭을 클릭합니다.

  2. 차원 창의 아무 곳이나 마우스 오른쪽 단추로 클릭한 다음 큐브 차원 추가를 클릭합니다.

  3. 큐브 차원 추가 대화 상자에서 새 차원을 클릭합니다.

    차원 마법사가 열립니다.

  4. 차원 마법사 시작 페이지에서 다음을 클릭합니다.

  5. 데이터 원본 뷰 선택 페이지에서 다음을 클릭하여 Adventure Works DW 데이터 원본 뷰에서 차원에 대한 데이터를 선택합니다.

  6. 차원 유형 선택 페이지에서 다음을 클릭하여 해당 차원을 표준 차원으로 지정합니다.

  7. 주 차원 테이블 선택 페이지의 주 테이블 목록에서 dbo.FactInternetSales를 선택합니다.

    복합 키는 SalesOrderNumber 및 SalesOrderLineNumber 열을 키 열로 사용하여 정의되고 SalesOrderLineNumber 열은 멤버 이름 속성에 대해 정의됩니다. 또한 FactInternetSales 테이블이 아닌 테이블에서는 멤버 이름 속성의 열을 정의할 수 없습니다.

  8. 다음을 클릭합니다.

  9. 관련 테이블 선택 페이지에서 선택된 테이블이 없음을 확인한 후 다음을 클릭합니다.

  10. 차원 특성 선택 페이지에서 선택된 모든 차원 특성의 선택을 취소한 다음 Customer PO Number 차원 특성의 확인란을 선택합니다.

    복합 키는 차원 마법사 내부의 특성으로 선택할 수 없습니다. 복합키는 열 키로 정의되었기 때문입니다. 복합 키를 독립적인 특성으로 추가하려면 차원을 정의한 후에 복합 키를 특성으로 정의해야 합니다.

  11. 마침을 클릭하고 차원 이름을 Internet Sales Order Details로 변경한 후 마침, 확인을 차례로 클릭하여 새로 작성된 데이터베이스 차원을 Analysis Services Tutorial 큐브에 큐브 차원으로 추가합니다.

  12. Internet Sales Order Details 차원에 대한 차원 디자이너를 엽니다.

  13. 특성 창에서 Internet Sales를 선택한 다음 속성 창에서 Name 속성을 Item Description으로 변경합니다.

  14. NameColumn 속성 셀에서 **(새로 만들기)**를 선택하고 원본 테이블로 Product를 선택한 다음 개체 바인딩 대화 상자에서 원본 열로 EnglishProductName을 선택하고 확인을 클릭합니다.

  15. 데이터 원본 뷰 창에서 InternetSales 테이블의 SalesOrderNumber 열을 특성 창으로 끌어다 놓아서 Sales Order Number 특성을 차원에 추가합니다.

  16. Sales Order Number 특성의 Name 속성을 Order Number로 변경하고 OrderBy 속성을 Key로 변경합니다.

  17. 계층 및 수준 창에서 Order NumberItem Description 수준을 순서대로 포함하는 Internet Sales Orders 사용자 계층을 만듭니다.

  18. 특성 창에서 Internet Sales Order Details를 선택한 다음 속성 창에서 StorageMode 속성 값을 검토합니다.

    기본적으로 이 차원은 MOLAP 차원으로 저장됩니다. 저장소 모드를 ROLAP으로 변경하면 처리 시간과 저장소 공간이 절약되지만 쿼리 성능이 저하됩니다. 이 자습서에서는 저장소 모드로 MOLAP을 사용합니다.

팩트 차원의 팩트 관계 정의

팩트 차원의 팩트 관계를 정의하려면

  1. Analysis Services Tutorial 큐브에 대한 큐브 디자이너로 전환한 후 차원 용도 탭을 클릭합니다.

    Internet Sales Order Details 큐브 차원은 고유 아이콘에 표시된 대로 자동으로 팩트 관계를 갖도록 구성되어 있습니다.

    다음 이미지에서는 팩트 관계가 있는 Internet Sales Order Details 큐브 차원을 보여 줍니다.

    인터넷 판매 주문 정보 큐브 차원

  2. Internet Sales 측정값 그룹과 Internet Sales Order Details 차원의 교집합에서 Item Description 셀의 줄임표 단추()를 클릭하여 팩트 관계 속성을 검토합니다.

    관계 정의 대화 상자가 열립니다. 어떤 속성도 구성할 수 없습니다.

    다음 이미지에서는 관계 정의 대화 상자의 팩트 관계 속성을 보여 줍니다.

    관계 정의 대화 상자

  3. 취소를 클릭합니다.

팩트 차원을 사용하여 큐브 찾아보기

팩트 차원을 사용하여 큐브를 찾아보려면

  1. 빌드 메뉴에서 Analysis Services Tutorial 배포를 클릭하여 Analysis Services 인스턴스의 변경 내용을 배포하고 데이터베이스를 처리합니다.

  2. 배포가 성공적으로 완료되면 Analysis Services Tutorial 큐브에 대한 큐브 디자이너에서 브라우저 탭을 클릭한 후 다시 연결을 클릭합니다.

  3. 데이터 창에서 모든 측정값과 계층을 제거한 다음 Reseller Sales-Sales Amount 측정값을 데이터 창의 데이터 영역에 추가합니다.

  4. 메타데이터 창에서 Customer, Location, Customer Geography, Members, All Customers, Australia, Queensland, Brisbane, 4000을 차례로 확장하고 Adam Powell을 마우스 오른쪽 단추로 클릭한 다음 하위 큐브 영역에 추가를 클릭합니다.

    단일 고객에게 반환되는 판매 주문을 제한하도록 필터링하면 해당 쿼리 성능이 크게 저하되지 않고도 대용량 팩트 테이블에서 기본 정보로 드릴다운할 수 있습니다.

  5. Internet Sales Order Details 차원의 Internet Sales Orders 사용자 정의 계층을 데이터 창의 행 영역에 추가합니다.

    판매 주문 번호와 Adam Powell의 해당 인터넷 판매량이 데이터 창에 나타납니다.

  6. 행 영역에서 각 판매 주문 번호를 확장하여 해당 주문에서 각 줄 항목의 정보를 표시합니다.

    다음 이미지에서는 이전 단계에서 구분된 차원을 보여 줍니다.

    인터넷 판매-판매액 차원 지정

단원의 다음 작업

다대다 관계 정의

참고 항목

관련 자료

차원 관계
팩트 관계 및 팩트 관계 속성 정의

도움말 및 정보

SQL Server 2005 지원 받기