Análise de Tipos de Hierarquias de Dimensão

É atribuído um tipo de hierarquia a cada dimensão ASO: Armazenado, Dinâmico ou Múltiplo. Os elementos de dimensões com o tipo Armazenado são armazenados e as agregações são materializadas em exibições agregadas.

Elementos de dimensões do tipo Dinâmico não podem ser agregadas em exibições. Nas dimensões do tipo Múltiplo, a geração 2 (filhos do nó principal) é definida como Armazenado ou Dinâmico. Para o tipo de hierarquia Múltiplo, você escolhe o tipo de hierarquia como Armazenado ou Dinâmico na geração2. O primeiro filho da geração 2 (geralmente, a hierarquia principal) deve ser do tipo Armazenado. Para essas hierarquias, você deve editar todos os membros da geração 2 e selecionar Armazenado (preferido) ou Dinâmico como tipo de hierarquia.

As dimensões armazenadas são as preferidas para garantir o desempenho ideal. Como os tipos de hierarquia escolhidos também impactam o número de exibições agregadas que podem ser criadas, a Oracle recomenda o seguinte:

  • Se possível, use apenas dimensões do tipo Armazenado.
  • Quando possível, use Múltiplo, se o tipo de dimensão Armazenado não puder ser usado.
  • Nas dimensões do tipo Múltiplo, a geração 2 (filhos do nó principal) é definida como Armazenado ou Dinâmico.
  • Use dimensões Dinâmicas somente se não for possível usar o tipo de hierarquia Múltiplo.
  • A dimensão Account deve sempre ser Dinâmica porque ela é a dimensão de compactação ASO. Ela não pode ser alterada.

Impacto dos Tipos de Hierarquia na Conversão de Dimensão

Ao converter uma dimensão, por exemplo, de Dinâmica para Múltipla, o membro do nó (Gen1) torna-se Somente Rótulo. A conversão funcionará se a dimensão dinâmica tiver apenas um filho (+) em geração 2. A conversão da dimensão de Dinâmica para Múltipla pode não ser possível se você precisar de um total no nível de Gen1 (nó).

Definição de Tipos de Hierarquia

O tipo de hierarquia (Armazenado, Dinâmico ou Múltiplo) é definido no membro de nó superior de cada dimensão. Em todos os casos, os descendentes herdarão o tipo de hierarquia do pai. Consequentemente, os tipos de hierarquia Armazenado e Dinâmico são definidos para toda a dimensão. Para as dimensões cujo tipo de hierarquia atribuído é Múltiplo, cada membro da geração 2 (os filhos do membro do nó) é definido como Dinâmico ou Armazenado.

As considerações sobre o tipo de hierarquia Armazenado incluem o seguinte:

  • O tipo de hierarquia Armazenado pode conter os operadores de consolidação + (adição) e ~ (ignorar).
  • O operador de não consolidação ou operador de ignorar só poderá ser usado em uma hierarquia Armazenado se o pai do membro estiver definido como LABEL_ONLY.

As considerações sobre o tipo de hierarquia Dinâmico incluem o seguinte:

  • Os membros com o tipo de hierarquia Dinâmico podem usar qualquer operador de consolidação, inclusive de adição e ignorar.
  • É possível usar fórmulas dentro do tipo de hierarquia Dinâmico.
  • Em algumas circunstâncias, é possível haver membros compartilhados em um tipo de hierarquia Armazenado, mas eles devem estar em uma hierarquia Dinâmica (consulte Membros Compartilhados e Tipos de Hierarquia).
  • Evite criar dimensões Dinâmicas grandes.

Uso de Fórmula e Tipos de Hierarquia

Embora seja possível usar fórmulas dentro do tipo de hierarquia Dinâmico, é importante notar que a dimensão inteira não precisa ser Dinâmica. Somente a hierarquia em que a fórmula existe deverá ser Dinâmica.

Nos casos em que for possível, quando uma dimensão contiver uma fórmula, use Múltiplo como o tipo de hierarquia. Na geração 2, defina como Dinâmicas somente as hierarquias dentro da dimensão que contêm fórmula; defina as demais como Armazenadas.

Um bom exemplo é a dimensão Scenario, que pode ter Actual, Budget, Forecast e alguma fórmula. Geralmente, esses são membros da geração 2. Nesse caso, defina o tipo da hierarquia Scenario como Múltiplo, defina como Dinâmico os membros da geração 2 com fórmula e defina todos os outros membros como Armazenado.

Membros Compartilhados e Tipos de Hierarquia

Os membros compartilhados podem afetar decisões sobre o tipo da hierarquia nos bancos de dados ASO. Embora as dimensões Armazenadas não possam ter membros compartilhados, as hierarquias Armazenadas com um tipo de dimensão Múltiplo podem ter membros compartilhados.

Ao definir tipos de hierarquia em dimensões do tipo Múltiplo, defina o máximo possível de hierarquias com o tipo Armazenado (definição na geração 2).

Os membros compartilhados podem existir em hierarquias Armazenadas dentro de dimensões Múltiplas se o membro compartilhado for compartilhado apenas uma vez e com um membro de nível 0. No entanto, pode haver as seguintes restrições em membros compartilhados dentro de uma hierarquia Armazenada, tornando necessário definir uma hierarquia de geração 2 dentro da dimensão Múltiplo como Dinâmica:

  • Para garantir que valores não sejam contados em dobro, uma hierarquia armazenada não pode conter várias cópias do mesmo membro compartilhado.
  • Uma hierarquia Armazenada não pode conter versões armazenadas e compartilhadas do mesmo membro.
  • Uma hierarquia Armazenada poderá conter uma instância compartilhada de um membro de uma hierarquia Dinâmica apenas se o membro da hierarquia Dinâmica for um membro de nível 0 sem uma fórmula. Ou seja, uma hierarquia Armazenada não pode conter um membro compartilhado de um membro de nível superior ou um membro com uma fórmula.
  • Os membros compartilhados podem existir dentro de uma dimensão Múltipla se cada membro compartilhado for usado apenas uma vez e for uma instância compartilhada de um membro de nível 0.

Defina a hierarquia de membro compartilhada (e não a dimensão) como Dinâmica somente se não for possível defini-la com Armazenada. No entanto, em muitos casos, membros compartilhados podem existir em uma dimensão Múltipla com todos os membros da geração 2 definidos como Armazenados; por exemplo, quando membros compartilhados são usados apenas uma vez em todas as hierarquias compartilhadas.