큐브 쓰기 저장(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
[!참고]
MicrosoftSQL ServerAnalysis Services에서는 모든 셀을 업데이트할 수 있습니다.
![]() |
---|
업데이트된 셀이 겹치지 않을 경우 Update Isolation Level 연결 문자열 속성을 사용하여 UPDATE CUBE의 성능을 향상시킬 수 있습니다. 자세한 내용은 ConnectionString을 참조하십시오. |
오류 조건
다음 표에서는 쓰기 저장 실패를 유발하는 원인과 해당 오류의 결과를 설명합니다.
오류 조건 |
결과 |
---|---|
업데이트가 함께 존재할 수 없는 동일한 차원의 멤버를 포함합니다. |
업데이트가 실패합니다. 참조된 셀이 큐브 공간에 포함되지 않습니다. |
업데이트가 부호 없는 형식의 측정값을 원본으로 하는 측정값을 포함합니다. |
업데이트가 실패합니다. 증가분은 음수 값을 사용할 수 있는 측정값이 필요합니다. |
업데이트가 sum 이외의 집계를 수행하는 측정값을 포함합니다. |
오류가 발생합니다. |
하위 큐브에서 업데이트를 시도했습니다. |
오류가 발생합니다. |
큐브 변경의 영향
다음 변경 사항은 쓰기 저장(writeback)에 영향을 주지 않습니다.
큐브, 큐브의 측정값 그룹 또는 큐브의 차원에 대한 처리
임의의 차원에 속성 추가
새 차원 추가
쓰기 저장(writeback)을 포함하지 않는 차원 삭제
계층 추가, 수정 또는 제거
새 측정값 추가
다음 변경은 쓰기 저장(writeback) 데이터를 제거하기 전에는 수행할 수 없습니다.
쓰기 저장(writeback)가 속성을 포함할 때 속성 또는 속성 계층 삭제. 여기에는 속성 또는 속성 계층의 명시적 제거 또는 속성의 부모 차원 제거도 포함됩니다.
쓰기 저장(writeback)에 포함된 측정값 삭제
쓰기 저장(writeback)에 포함된 차원에 (All) 수준 없이 속성 추가
쓰기 저장(writeback)에 포함된 차원의 차원 세분성 변경