UPDATE CUBE 문(MDX)

큐브의 지정된 리프 또는 리프가 아닌 셀의 값을 업데이트합니다. 지정된 리프가 아닌 셀 값을 종속되는 여러 리프 셀에 할당할 수도 있습니다.

구문

UPDATE [ CUBE ] Cube_Name 
   SET 
            <update clause> 
           [, <update clause> ...n ]
  
<update clause> ::= 
      Tuple_Expression[.VALUE]= New_Value
      [ 
        NO_ALLOCATION
      | USE_EQUAL_ALLOCATION 
            | USE_EQUAL_INCREMENT 
            | USE_WEIGHTED_ALLOCATION [ BY Weight_Expression] 
           | USE_WEIGHTED_INCREMENT [ BY Weight_Expression]
      ]

인수

  • Cube_Name
    큐브의 이름을 지정하는 유효한 문자열입니다.

  • Tuple_Expression
    튜플을 반환하는 유효한 MDX 식입니다.

  • New_Value
    유효한 숫자 식입니다.

  • Weight_Expression
    0에서 1 사이의 10진수 값을 반환하는 유효한 MDX 숫자 식입니다.

주의

튜플 식으로 지정되는 셀은 다차원 공간의 유효한 셀일 수 있으며, 리프 셀일 필요가 없습니다. 그러나 Sum 집계 함수를 사용하여 셀을 집계해야 하며, 셀을 식별하는 데 사용되는 튜플의 계산 멤버가 셀에 포함되어서는 안됩니다.

UPDATE CUBE 문은 지정된 합계로 롤업되는 리프 셀 및 리프가 아닌 셀로 일련의 개별 셀 쓰기 저장(writeback) 작업을 자동으로 생성하는 하위 루틴으로 이해될 수 있습니다.

다음 표에서는 할당 메서드에 대해 설명합니다.

할당 메서드

설명

USE_EQUAL_ALLOCATION

업데이트된 셀에 영향을 주는 모든 리프 셀에 다음 식에 따른 동일 값이 할당됩니다.

<leaf cell value> = 
<New Value> / Count(leaf cells that are contained in <tuple>)

USE_EQUAL_INCREMENT

업데이트된 셀에 영향을 주는 모든 리프 셀은 다음 식에 따라 변경됩니다.

<leaf cell value> = <leaf cell value> + 
(<New Value > - <existing value>) /
Count(leaf cells contained in <tuple>)

USE_WEIGHTED_ALLOCATION

업데이트된 셀에 영향을 주는 모든 리프 셀에 다음 식에 따른 동일 값이 할당됩니다.

<leaf cell value> = < New Value> * Weight_Expression

USE_WEIGHTED_INCREMENT

업데이트된 셀에 영향을 주는 모든 리프 셀은 다음 식에 따라 변경됩니다.

<leaf cell value> = <leaf cell value> + 
(<New Value> - <existing value>)  * Weight_Expression

가중치 식이 지정되지 않은 경우 UPDATE CUBE 문은 암시적으로 다음 식을 사용합니다.

Weight_Expression = <leaf cell value> / <existing value>

가중치 식은 영(0)과 1 사이의 10진수 값으로 표현해야 합니다. 이 값은 할당의 영향을 받는 리프 셀에 할당하려는 할당 값의 비율을 지정합니다. 클라이언트 응용 프로그램 프로그래머는 해당 롤업 집계 값이 식의 할당된 값과 동일하도록 식을 만들어야 합니다.

주의 사항주의

클라이언트 응용 프로그램에서는 잘못된 롤업 값이나 일관적이지 않은 데이터 등의 발생 가능한 예기치 않은 결과를 방지하기 위해 모든 차원에 대한 할당을 동시에 고려해야 합니다.

UPDATE CUBE 할당은 트랜잭션에 있어서 핵심적인 요소로 고려되어야 합니다. 즉, 식이나 보안 위배 등의 어떤 이유로 인해 할당 작업 중 하나라도 실패하면 전체 UPDATE CUBE 작업이 실패합니다. 개별 할당 작업의 계산을 처리하기 전에 데이터의 스냅숏을 사용하여 결과 계산이 올바른지 확인해야 합니다.

주의 사항주의

정수가 포함된 측정값에서 사용되는 경우 USE_WEIGHTED_ALLOCATION 메서드는 증분적인 반올림 변화로 인한 부정확한 결과를 반환할 수 있습니다.

중요 정보중요

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

참고 항목

참조

관련 자료