차원 계층 유형 검토

각 ASO 차원에 저장, 동적 또는 다중으로 계층 유형이 지정됩니다. 저장 계층 유형의 차원 요소는 저장되며 집계는 집계 뷰에서 구체화됩니다.

동적 차원 요소는 뷰로 집계할 수 없습니다. 다중 유형 차원에서 2세대(최상위 노드의 1차 하위)는 저장 또는 동적으로 설정됩니다. 다중 계층 유형의 경우 2세대의 계층 유형을 저장 또는 동적으로 선택합니다. 첫번째 2세대 1차 하위(일반적으로 기본 계층)는 저장 유형이어야 합니다. 이러한 계층의 경우 모든 2세대 멤버를 편집하고 계층 유형으로 저장(선호) 또는 동적을 선택해야 합니다.

최적의 성능을 보장하기 위해 저장 차원이 선호됩니다. 선택한 계층 유형은 생성할 수 있는 집계 뷰 개수에도 영향을 주므로 Oracle에서는 다음과 같이 권장합니다.

  • 가능한 경우, 저장 유형 차원만 사용합니다.
  • 저장 유형 차원을 사용할 수 없으면 가능한 경우 다중을 사용합니다.
  • 다중 계층 차원에서는 가능한 경우 2세대를 동적이 아닌 저장으로 설정합니다.
  • 다중 계층 유형을 사용할 수 없는 경우에만 동적 차원을 사용합니다.
  • 계정 차원은 ASO 압축 차원이므로 항상 동적이어야 합니다. 이 항목은 변경될 수 없습니다.

계층 유형이 차원 변환에 미치는 영향

차원을 변환하는 경우(예: 동적에서 다중으로 변환) 노드 멤버(Gen1)는 레이블 전용이 됩니다. 동적 차원의 2세대에 1차 하위(+)가 하나뿐이면 변환이 실행됩니다. Gen1(노드) 레벨에 합계가 필요한 경우에는 차원을 동적에서 다중으로 변환하지 못할 수 있습니다.

계층 유형 설정

계층 유형(저장, 동적 또는 다중)은 각 차원의 최상위 노드 멤버에 대해 설정됩니다. 모든 경우에서 하위는 상위 계층 유형을 상속합니다. 따라서 저장 및 동적 계층 유형은 전체 차원에 대해 설정됩니다. 다중 계층 유형으로 지정된 차원의 경우 각 2세대 멤버(노드 멤버의 1차 하위)는 동적 또는 저장으로 설정됩니다.

저장 계층 유형의 고려사항은 다음과 같습니다.

  • 저장 계층 유형은 연결 연산자 +(더하기) 및 ~(무시)를 포함할 수 있습니다.
  • 비연결 또는 무시 연산자는 멤버의 상위가 LABEL_ONLY로 설정된 경우 저장 계층 유형에서만 사용할 수 있습니다.

동적 계층 유형의 고려사항은 다음과 같습니다.

  • 동적 계층 유형 멤버는 더하기 및 무시를 포함한 모든 연결 연산자를 사용할 수 있습니다.
  • 동적 계층 유형 내에서 공식을 사용할 수 있습니다.
  • 일부 상황에서는 공유 멤버가 저장 계층 유형 내에 있을 수도 있으나 동적 계층에 있어야 할 수도 있습니다(공유 멤버 및 계층 유형 참조).
  • 큰 차원을 동적으로 만들지 마십시오.

공식 및 계층 유형 사용

동적 계층 유형 내에서는 공식을 사용할 수 있지만 전체 차원이 동적일 필요는 없습니다. 공식이 있는 계층만 동적이면 됩니다.

가능한 경우, 차원에 공식이 포함되어 있으면 계층 유형으로 다중을 사용하십시오. 2세대에서는 공식을 포함하는 차원 내의 계층만 동적으로 지정하고 나머지 계층은 저장으로 지정합니다.

실제, 예산, 예측 및 일부 공식이 포함되어 있을 수 있는 시나리오 차원이 좋은 예입니다. 이들은 2세대 멤버인 경우가 많습니다. 이 경우 시나리오 계층 유형을 다중으로 지성하고 공식이 포함된 2세대 멤버를 동적으로 지정하고 다른 모든 멤버는 저장으로 지정합니다.

공유 멤버 및 계층 유형

공유 멤버는 ASO 데이터베이스 내 계층 유형에 대한 결정에 영향을 줄 수 있습니다. 저장 차원에는 공유 멤버를 포함할 수 없으나 다중 차원 유형 내 저장 계층에는 공유 멤버를 포함할 수 있습니다.

다중 차원에서 계층 유형을 설정할 때는 가능한 한 많은 계층을 저장 유형(2세대에서 설정)으로 설정합니다.

공유 멤버가 한 번만 공유되고 레벨 0 멤버와 공유되는 경우 공유 멤버는 다중 차원 내의 저장된 계층에 존재할 수 있습니다. 하지만 다음과 같이 다중 차원 내 2세대 계층을 동적으로 설정해야 하는 저장 계층 내 공유 멤버에 대한 제한사항이 있을 수 있습니다.

  • 값이 이중 계산되지 않도록 하기 위해 저장 계층에는 동일한 공유 멤버의 여러 복사본을 포함할 수 없습니다.
  • 저장 계층에 동일한 멤버의 저장 버전과 공유 버전을 둘 다 포함할 수는 없습니다.
  • 동적 계층 멤버가 공식이 없는 레벨 0 멤버인 경우에만 저장 계층에 동적 계층 멤버의 공유 인스턴스를 포함할 수 있습니다. 즉, 저장 계층에는 상위 레벨 멤버 또는 공식이 포함된 멤버의 공유 멤버를 포함할 수 없습니다.
  • 각 공유 멤버가 한 번만 사용되고 레벨 0 멤버의 공유 인스턴스인 경우 공유 멤버는 다중 차원 내에 존재할 수 있습니다.

계층을 저장으로 설정할 수 없는 경우에만 공유 멤버 계층(차원 아님)을 동적으로 설정합니다. 하지만 대부분의 경우 모든 2세대 멤버가 저장으로 설정된 다중 차원에 공유 멤버가 있을 수 있습니다. 공유 멤버가 모든 공유 계층에서 한 번만 사용되는 경우를 예로 들 수 있습니다.