큐브 쓰기 저장(Writeback) 사용(MDX)

큐브를 업데이트하는 데는 UPDATE CUBE 문을 사용합니다. 이 문은 특정 값을 가진 튜플을 업데이트할 수 있도록 해줍니다. 큐브 업데이트에 UPDATE CUBE 문을 효과적으로 사용하기 위해서는 문의 구문, 발생할 수 있는 오류 조건 및 업데이트로 인한 큐브의 영향을 이해해야 합니다.

UPDATE CUBE 문 구문

다음은 UPDATE CUBE 문의 구문입니다.

UPDATE [CUBE] <Cube_Name> SET <tuple>.VALUE = <value> [,<tuple>.VALUE = <value>...]
 [ USE_EQUAL_ALLOCATION | USE_EQUAL_INCREMENT |
  USE_WEIGHTED_ALLOCATION [BY <weight value_expression>] |
  USE_WEIGHTED_INCREMENT [BY <weight value_expression>] ] 

튜플의 전체 좌표 집합을 지정하지 않으면 지정되지 않은 좌표에 계층의 기본 멤버가 사용됩니다. 확인된 튜플은 Sum 함수를 사용하여 집계한 셀을 참조해야 하며 셀 좌표 중 하나로 계산 멤버를 사용해선 안 됩니다.

UPDATE CUBE 문은 원자 셀에 일련의 개별 쓰기 저장 작업을 생성하는 서브루틴으로 볼 수 있습니다. 이 쓰기 저장 작업은 모두 지정된 합계로 롤업됩니다. 다음 예에서는 UPDATE CUBE 문으로 음료 제품군의 출하 수량을 영(0)으로 업데이트합니다.

UPDATE CUBE [Warehouse and Sales] SET ([Measures].[Units Shipped], [Product].[Product Family].[Product Family].&[Drink]) = 0 USE_NO_ALLOCATION

[!참고]

Microsoft SQL Server Analysis Services에서는 모든 셀을 업데이트할 수 있습니다.

중요 정보중요

업데이트된 셀이 겹치지 않을 경우 Update Isolation Level 연결 문자열 속성을 사용하여 UPDATE CUBE의 성능을 향상시킬 수 있습니다. 자세한 내용은 ConnectionString을 참조하십시오.

오류 조건

다음 표에서는 쓰기 저장 실패를 유발하는 원인과 해당 오류의 결과를 설명합니다.

오류 조건

결과

업데이트가 함께 존재할 수 없는 동일한 차원의 멤버를 포함합니다.

업데이트가 실패합니다. 참조된 셀이 큐브 공간에 포함되지 않습니다.

업데이트가 부호 없는 형식의 측정값을 원본으로 하는 측정값을 포함합니다.

업데이트가 실패합니다. 증가분은 음수 값을 사용할 수 있는 측정값이 필요합니다.

업데이트가 sum 이외의 집계를 수행하는 측정값을 포함합니다.

오류가 발생합니다.

하위 큐브에서 업데이트를 시도했습니다.

오류가 발생합니다.

큐브 변경의 영향

다음 변경 사항은 쓰기 저장(writeback)에 영향을 주지 않습니다.

  • 큐브, 큐브의 측정값 그룹 또는 큐브의 차원에 대한 처리

  • 임의의 차원에 속성 추가

  • 새 차원 추가

  • 쓰기 저장(writeback)을 포함하지 않는 차원 삭제

  • 계층 추가, 수정 또는 제거

  • 새 측정값 추가

다음 변경은 쓰기 저장(writeback) 데이터를 제거하기 전에는 수행할 수 없습니다.

  • 쓰기 저장(writeback)가 속성을 포함할 때 속성 또는 속성 계층 삭제. 여기에는 속성 또는 속성 계층의 명시적 제거 또는 속성의 부모 차원 제거도 포함됩니다.

  • 쓰기 저장(writeback)에 포함된 측정값 삭제

  • 쓰기 저장(writeback)에 포함된 차원에 (All) 수준 없이 속성 추가

  • 쓰기 저장(writeback)에 포함된 차원의 차원 세분성 변경

참고 항목

개념