MDX 데이터 정의 - ALTER CUBE

일반적으로 차원 쓰기 저장을 지원하는 데 사용되는 지정된 큐브의 구조를 변경합니다. 애플리케이션에서 쓰기 저장을 사용하는 방법에 대한 자세한 내용은 이 블로그 게시물: Analysis Services를 사용하여 쓰기 저장 애플리케이션 빌드(블로그)를 참조하세요.

동시 차원 쓰기 저장은 교착 상태가 발생할 수 있으며, 두 번째 쓰기 저장에서 유지되는 공유 잠금으로 인해 첫 번째 쓰기 저장이 커밋에서 차단됩니다. 이 상황에서 생성되는 오류는 없지만 두 작업 모두 진행할 수 없습니다. 결국 시간이 초과되고 변경 내용이 롤백됩니다.

구문

  
ALTER CUBE  
      Cube_Name | CURRENTCUBE  
      <alter clause>   
            [ < alter clause> ...n]  
  
< alter clause> ::=   
   <create dimension member clause>   
  | <remove dimension member clause>  
  | <move dimension member clause>   
    | <update clause>   
    | <create cell calculation clause>  
  
<create dimension member clause> ::=  
CREATE DIMENSION MEMBER [ParentName.]MemberName  
    , [[KEY = Key_Value]   
    | [Property_Name = Property_Value[, ...n]]  
  
<dropping clause>::=  
DROP   
      DIMENSION MEMBER Member_Name   
            Member_Name ...n ]   
      [WITH DESCENDANTS]  
      | [ SESSION ] [ CALCULATED ] MEMBER Member_Name   
                  [ ,Member_Name,...n ]   
    | SET Set_Name  
                  [ ,Set_Name,...n ]   
    | [ SESSION ] CELL CALCULATION CellCalc_Name  
                  [ ,CellCalc_Name,...n ]   
    | ACTION Action_Name  
  
<move dimension member clause> ::=  
MOVE DIMENSION MEMBER MemberName  
        [, SKIPPED_LEVELS = Unsigned_Integer]   
      [WITH DESCENDANTS]  
    UNDER ParentName      
  
<update clause> ::=  
UPDATE   
    CUSTOM ROLLUP FOR MEMBER MemberName  
      [,MemberName, ...n] AS MDX_Expression  
   | DIMENSION Dimension_Name | Hierarchy_Name  
      , DEFAULT_MEMBER = MDX_Expression  
   | DIMENSION MEMBER MemberName AS  
   [MDX_Expression]  
   [Property_Name = Property_Value[, ...n]]  
  
<create cell calculation clause>::=  
CELL CALCULATION Calculation_Name   
   FOR Set_Expression AS MDX_Expression   
            [ [ CONDITION = 'Logical_Expression' ]   
    | [ DISABLED = { TRUE | FALSE } ]   
    | [ DESCRIPTION =String ]   
    | [ CALCULATION_PASS_NUMBER = Integer]   
    | [ CALCULATION_PASS_DEPTH = Integer]   
    | [ SOLVE_ORDER = Integer]   
    | [ Calculation_Name= Scalar_Expression ], ...n]  

차원 멤버 만들기

새 행이 기본 차원 테이블에 추가됩니다.

인수

ParentName
루트에서 차원 멤버를 만들지 않는 한 새 차원 멤버의 부모 이름을 제공하는 유효한 문자열 식입니다.

MemberName
멤버 이름을 지정하는 유효한 문자열 식입니다.

Key_Value
새 차원 멤버의 키 값을 정의하는 유효한 스칼라 식입니다.

Property_Name
멤버 속성을 나타내는 유효한 MDX 식별자입니다.

Property_Value
계산 멤버 속성의 값을 정의하는 유효한 MDX(다차원 식) 스칼라 식입니다.

차원 멤버 삭제

쓰기 사용 차원에서 차원 멤버를 삭제하면 멤버와 해당 행이 기본 차원 테이블에서 삭제됩니다.

인수

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

Member_Name
멤버 이름 또는 멤버 키를 제공하는 유효한 문자열 식입니다.

설명

WITH DESCENDANTS 절을 사용하지 않으면 삭제된 멤버의 자식이 삭제된 멤버의 부모의 자식이 됩니다. WITH DESCENDANTS 절을 사용하는 경우 차원 테이블의 모든 하위 항목과 해당 행도 삭제됩니다.

참고 항목

계산 멤버, 명명된 집합, 작업 및 셀 계산을 삭제하는 방법에 대한 자세한 내용은 MDX(DROP MEMBER 문), MDX(DROP SET 문), MDX(DROP ACTION 문)DROP CELL CALCULATION 문(MDX)을 참조하세요.

기본 차원 멤버 업데이트

이 절은 큐브의 기본 멤버를 업데이트하고 MDX 계산 스크립트에서 기본 멤버를 정의하는 데 사용됩니다. 기본 멤버는 데이터베이스 차원, 큐브 차원 또는 사용자 로그인에 대해 지정할 수 있습니다. 세션 중에 기본 멤버를 변경할 수도 있습니다.

인수

Dimension_Name
차원의 이름을 제공하는 유효한 문자열입니다.

MDX_Expression
단일 멤버를 반환하는 유효한 MDX 식입니다.

설명

지정된 MDX 식은 정적 또는 동적일 수 있습니다.

차원 멤버 이동

행이 기본 차원 테이블에서 수정됩니다.

인수

ParentName
이동 중인 차원 멤버의 새 부모 이름을 제공하는 유효한 문자열 식입니다.

MemberName
멤버 이름을 지정하는 유효한 문자열 식입니다.

Unsigned_Integer
건너뛸 수준 수를 지정하는 유효한 숫자입니다.

WITH DESCENDANTS 절을 지정하면 전체 트리가 이동됩니다. WITH DESCENDANTS 절을 지정하지 않으면 이동된 부모의 자식이 이동된 멤버의 부모의 자식이 됩니다. 이동의 효과는 단순히 기본 차원 테이블의 부모 키 열에 대한 값을 업데이트하는 것입니다.

차원 멤버 업데이트

UPDATE DIMENSION MEMBER 절을 사용하면 멤버의 속성뿐 아니라 멤버와 관련된 사용자 지정 멤버 수식도 수정할 수 있습니다.

인수

MemberName
멤버 이름을 지정하는 유효한 문자열 식입니다.

MDX_Expression
단일 멤버를 반환하는 유효한 MDX 식입니다.

Property_Value
계산 멤버 속성의 값을 정의하는 유효한 MDX 스칼라 식입니다.

셀 계산 만들기

ALTER CUBE 문을 사용하여 셀 계산을 만드는 방법에 대한 자세한 내용은 MDX(DROP CELL CALCULATION 문)를 참조하세요.

참고 항목

MDX 데이터 정의 문(MDX)