다음을 통해 공유


MDX 데이터 조작 - UPDATE CUBE

UPDATE CUBE 문은 SUM 집계를 사용하여 부모에 집계되는 큐브의 모든 셀에 데이터를 다시 쓰는 데 사용됩니다. 자세한 설명과 예제는 이 블로그 게시물에서 "할당 이해"를 참조하세요. Analysis Services를 사용하여 쓰기 저장 애플리케이션 빌드(블로그).

구문

  
UPDATE [ CUBE ] Cube_Name   
   SET   
            <update clause>   
           [, <update clause> ...n ]  
  
<update clause> ::=   
      Tuple_Expression[.VALUE]= New_Value  
      [   
        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 문을 지정된 합계로 롤업할 리프 및 비 리프 셀에 대한 일련의 개별 셀 쓰기 저장 작업을 자동으로 생성하는 서브루틴으로 생각하면 도움이 될 수 있습니다.

다음은 할당 방법에 대한 설명입니다.

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 메서드는 증분적인 반올림 변화로 인한 부정확한 결과를 반환할 수 있습니다.

Important

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

참고 항목

ConnectionString
MDX 데이터 조작 문(MDX)