Dimensões e Membros

Se você entende dimensões e membros, você está bem no seu caminho para entender o poder de um banco de dados multidimensional.

Uma dimensão representa o nível de consolidação mais alto no outline do banco de dados do Essbase. O outline apresenta dimensões e membros em uma estrutura de árvore para definir um relacionamento de consolidação hierárquica.

Por exemplo, Year é uma dimensão (do tipo Time) e Qtr1 é um membro:

Year Time
   Qtr1 (+)
      Jan (+)
......Feb (+)
......Mar (+)

Há dois tipos de dimensões: padrão e atributo.

  • As dimensões padrão representam os principais componentes de um plano de negócios e, muitas vezes, se relacionam com funções departamentais. Dimensões padrão típicas: Tempo, Contas, Linha de Produtos, Mercado e Divisão. As dimensões mudam com menos frequência do que os membros.

  • As dimensões de atributo são associadas às dimensões padrão. Por meio de dimensões de atributo, você agrupa e analisa membros de dimensões padrão com base nos atributos de membro (características). Por exemplo, você pode comparar a rentabilidade de produtos não cafeinados que são embalados em vidro com a rentabilidade de produtos não cafeinados embalados em latas.

Os membros são os componentes individuais de uma dimensão. Por exemplo, Produto A, Produto B e Produto C podem ser membros da dimensão Produto. Cada membro tem um nome exclusivo. Os dados associados a um membro podem ser armazenados (chamados de membro armazenado neste capítulo) ou podem ser calculados dinamicamente quando um usuário os recupera.

Hierarquias de Outline

Comece a projetar seu cubo do Essbase definindo um outline. A organização do outline reflete o relacionamento de suas categorias de dados como hierarquias estruturais e matemáticas.

O desenvolvimento do banco de dados (cubo) do Essbase começa com a criação de um outline, que realiza os seguintes objetivos:

  • Define relacionamentos estruturais

  • Organiza dados

  • Define as consolidações e os relacionamentos matemáticos entre itens

O conceito de membros é usado para representar hierarquias de dados. Cada dimensão consiste em um ou mais membros. Os membros, por sua vez, podem ser constituídos por outros membros. Ao criar uma dimensão, você define como consolidar os valores de seus membros individuais. Dentro da estrutura em árvore do outline do cubo, uma consolidação é um grupo de membros em uma ramificação da árvore.

Por exemplo, muitas empresas resumem seus dados mensalmente, acumulando dados mensais para obter números trimestrais e acumulando dados trimestrais para obter números anuais. As empresas também podem resumir os dados por CEP, cidade, estado e país. Qualquer dimensão pode ser usada para consolidar dados para fins de geração de relatórios.

No cubo Sample.Basic, por exemplo, a dimensão Year inclui membros trimestrais: Qtr1, Qtr2, Qtr3 e Qtr4, cada um armazenando dados para um trimestre individual e Year, armazenando dados resumidos para o ano. O Trim1 inclui Jan, Fev e Mar, cada um armazenando dados por um mês, e o Trim1, armazenando dados resumidos para o trimestre. Da mesma forma, Trim2, Trim3 e Trim4 incluem os membros que representam os meses individuais e o membro que armazena os totais trimestrais.

A estrutura hierárquica a seguir representa as consolidações de dados e os relacionamentos no Trimestre 1.

Year Time
   Qtr1 (+)
      Jan (+)
......Feb (+)
......Mar (+)

Algumas dimensões consistem em relativamente poucos membros, enquanto outros podem ter centenas ou milhares de membros.

Relações de Membros e Dimensão

A organização de um outline do Essbase é descrita usando a terminologia hierárquica e familiar, pois é uma maneira fácil de conceituar funções e relacionamentos de membros dentro de uma dimensão. Os termos hierárquicos incluem gerações e níveis, que são análogos às raízes e folhas. Os termos familiares incluem pais, filhos, irmãos, descendentes e ancestrais.

Os subtópicos nesta seção fazem referência ao outline mostrado abaixo ao descrever a posição dos membros no outline.

Figura 2-1 Geração de Membros e Números de Nível


Esta imagem ilustra as funções e os relacionamentos dos membros no outline, conforme descrito no texto que segue a imagem. O número de geração e nível de cada membro é rotulado. O nível de Medidas depende da ramificação.

Pais, filhos e irmãos

A estrutura de tópicos ilustra os seguintes relacionamentos pai, filho e irmão:

  • Um pai é um membro que tem uma ramificação abaixo dele. Por exemplo, Margem é um membro pai para Vendas e Custo de Mercadorias Vendidas.

  • Um filho é um membro que tem um pai acima dele. Por exemplo, Vendas e Custo de Mercadorias Vendidas são filhos da Margem pai.

  • Os irmãos são membros filhos do mesmo pai imediato, na mesma geração. Por exemplo, Vendas e Custo de Mercadorias Vendidas são irmãos (ambos têm a Margem pai), mas Marketing (no mesmo nível de agência) não é um irmão, porque seu pai é Total de Despesas.

Descendentes e Antecessores

O esboço ilustra os seguintes relacionamentos descendentes e ancestrais:

  • Descendentes são membros em ramificações abaixo de um pai. Por exemplo, Lucro, Inventário e Índices são descendentes de Medidas. Os filhos de Lucro, Inventário e Índices também são descendentes de Medidas.

  • Os ancestrais são membros em ramificações acima de um membro. Por exemplo, Margem, Lucro e Medidas são antecessores de Vendas.

Raízes e folhas

A estrutura de tópicos ilustra os seguintes relacionamentos de membros raiz e folha:

  • A raiz é o membro superior em uma ramificação. Medidas é a raiz para Lucro, Inventário e Índices.

  • Os membros da folha não têm filhos e também são chamados de membros de nível 0. Por exemplo, Inventário de Abertura, Adições e Inventário Final são membros de nível 0.

Gerações e Níveis

No Essbase, gerações e níveis são indicadores sobre o lugar de um membro na estrutura de tópicos. Uma geração indica a distância de um membro da raiz da dimensão. Um nível mede o número de ramificações entre um membro e o membro mais baixo abaixo dele (uma "folha" hierárquica).

Gerações

Geração refere-se a um nível de consolidação dentro de uma dimensão. Uma ramificação-raiz da árvore é a geração 1. Os números de geração aumentam conforme você conta da raiz para o membro folha. No resumo, Medidas é a geração 1, Lucro é a geração 2 e Margem é a geração 3. Todos os irmãos de cada nível pertencem à mesma geração; por exemplo, Inventário e Índices são a geração 2.

Na ilustração a seguir, parte da dimensão Produto é mostrada, com suas gerações numeradas. O produto é a geração 1, 100 é a geração 2, 100-10 é a geração 3 e 100-10-12 e 100-10-16 são a geração 4.

Figura 2-2 Gerações


Esta imagem ilustra os números de geração de membros na dimensão Produto, conforme descrito no texto que precede a imagem.

Níveis

Nível também se refere a um ramo dentro de uma dimensão; níveis invertem a ordem numérica usada para gerações. Os níveis são contados do membro da folha em direção à raiz. O número do nível da raiz varia dependendo da profundidade do ramo. Na ilustração de estrutura de tópicos no início desta seção, Vendas e Custo das Mercadorias Vendidas são de nível 0. Todos os outros membros da folha também são de nível 0. A margem é o nível 1 e o lucro é o nível 2. Observe que o número do nível de Medidas varia dependendo da ramificação. Para a ramificação de Índices, Medidas é o nível 2. Para a agência Total de Despesas, Medidas é o nível 3.

Na ilustração a seguir, parte da dimensão Produto é mostrada, com seus níveis numerados. 100 é nível 2, 100-10 é nível 1, e 100-10-12 e 100-10-16 são nível 0.

Figura 2-3 Níveis


Esta imagem ilustra os números de nível dos membros na dimensão Produto, conforme descrito no texto que precede a imagem.

Nomes de Nível e Geração

Para facilitar a manutenção do relatório, você pode atribuir um nome a uma geração ou a um nível e, em seguida, usar o nome como uma abreviação para todos os membros dessa geração ou nível. Como as alterações em um outline são refletidas automaticamente em um relatório, quando você usa nomes de geração e nível, não será necessário alterar o relatório se um nome de membro for alterado ou excluído do outline do banco de dados.

Formas de Hierarquia

As hierarquias no Essbase podem ser simétricas ou assimétricas (arrastadas).

O Essbase trata algumas operações de forma diferente, dependendo da forma da hierarquia. Exportação de dados tabulares, determinadas funções de cálculo (incluindo @ANCESTVAL) e drill-through de mapeamento de relatórios podem ter resultados diferentes quando uma dimensão contém hierarquias assimétricas.

Hierarquias Simétricas

Em hierarquias simétricas, os membros com o mesmo número de nível estão na mesma profundidade no outline. Por exemplo, no diagrama a seguir, os membros 100-10 e 200-10 são ambos membros de nível 0 e ambos são membros da geração 3:


Árvore de hierarquia simétrica. O produto, o membro no topo, é a geração 1 e o nível 2. Os filhos do produto, 100 e 200, são geração 2 e nível 1. Filhos de 100 e 200, membros 100-10, 100-20, 200-10 e 200-20, são geração 3 e nível 0.

Os números de geração começam a contar com 1 no nome da dimensão; os números de geração mais altos são aqueles mais próximos dos membros da folha em uma hierarquia.

Números de nível começam com 0 na parte mais profunda da hierarquia; o número de nível mais alto é um nome de dimensão.

Hierarquias Assimétricas

Em hierarquias assimétricas (ou irregular), ter o mesmo número de nível não significa que os membros estejam na mesma profundidade no esboço. Por exemplo, no diagrama a seguir, o membro aa e o membro f são membros de nível 0 e, no entanto, não estão na mesma profundidade:


Ilustração de árvore de membro de hierarquia assimétrica (arrastada). Medidas, o membro no topo é de geração 1 e está nos níveis 2 e 3. Filhos de Medidas, Lucro, Inventário e Proporções são de geração 2 e estão nos níveis 1 e 2. Os membros que vão de a até h são filhos de Lucro, Inventário e Proporções, são da geração 3 e estão nos níveis 0 e 1. Os membros aa, ab, ba, bb e bc são filhos de a e b, são da geração 4 e estão no nível 0.

Dimensões Padrão e Dimensões de Atributo

O Essbase tem dimensões padrão e dimensões de atributo. Este capítulo se concentra em dimensões padrão, porque o Essbase não aloca armazenamento para membros de dimensão de atributo. Em vez disso, ele calcula dinamicamente os membros quando o usuário consulta os dados associados a eles.

Uma dimensão do atributo é um tipo especial de dimensão que está associada a uma dimensão padrão. Consulte Trabalhar com Atributos do Essbase.

Dimensões Esparsas e Densas

A maioria dos conjuntos de dados de bancos de dados multidimensionais tem duas características:

  • Os dados não são distribuídos de forma uniforme e uniforme.

  • Os dados não existem para a maioria das combinações de membros. Por exemplo, todos os produtos podem não ser vendidos em todas as áreas do país.

O Essbase divide as dimensões padrão de um aplicativo em dois tipos: denso e esparso. Essa divisão permite que o Essbase lide com dados que não são distribuídos sem problemas, sem perder as vantagens do acesso ao estilo de matriz aos dados. O Essbase acelera a recuperação de dados enquanto minimiza os requisitos de memória e disco.

A maioria dos bancos de dados multidimensionais é inerentemente esparsa; eles não têm valores de dados para a maioria das combinações de membros. Uma dimensão esparsa é uma com uma baixa porcentagem de posições de dados disponíveis preenchidas.

Por exemplo, a estrutura do banco de dados Sample.Basic na Figura 2-4 inclui as dimensões Ano, Produto, Mercado, Medidas e Cenário. Produto representa as unidades do produto, Mercado representa as regiões geográficas em que os produtos são vendidos e Medidas representa os dados das contas. Como nem todos os produtos são vendidos em todos os mercados, o Mercado e o Produto são escolhidos como dimensões esparsas.

Bancos de dados multidimensionais também contêm dimensões densas. Uma dimensão densa tem uma alta probabilidade de que uma ou mais células sejam ocupadas em cada combinação de dimensões. Por exemplo, no banco de dados Sample.Basic, existem dados de contas para quase todos os produtos em todos os mercados, portanto, Medidas são escolhidas como uma dimensão densa. Ano e Cenário também são escolhidos como dimensões densas. Ano representa o tempo em meses, e Cenário representa se os valores de contas são valores de orçamento ou reais.

Caffeinated, Intro Date, Ounces, Pkg Type e Population são dimensões de atributo. Consulte Trabalhar com Atributos do Essbase.

Quando um banco de dados do Essbase é armazenado em disco, o produto cartesiano de combinações de membros densos forma unidades de armazenamento chamadas blocos e um bloco é gravado em disco para cada combinação de membros esparsos no banco de dados.

Figura 2-4 Esquema de Tópicos do Banco de Dados Sample.Basic


Esta imagem mostra uma estrutura do banco de dados Sample.Basic, conforme descrito no texto que precede a imagem.

Seleção de Dimensões Densas e Esparsas

Na maioria dos conjuntos de dados, os dados existentes tendem a seguir padrões previsíveis de densidade e esparsidade. Se você corresponder padrões corretamente, poderá armazenar os dados existentes em um número razoável de blocos de dados bastante densos, em vez de em muitos blocos de dados altamente esparsos.

Por padrão, uma nova dimensão Essbase é definida como esparsa. As dimensões de atributo são sempre dimensões esparsas.

Para ajudá-lo a determinar se as dimensões devem ser densas ou esparsas, o Essbase fornece uma opção de configuração automática nas propriedades do outline.

O Essbase pode fazer recomendações para a configuração esparsa e densa de dimensões com base nos seguintes fatores:

  • As tags de tempo e contas em dimensões

  • O tamanho provável dos blocos de dados

  • Características que você atribui às dimensões

Você pode aplicar uma configuração recomendada, ou pode desativar a configuração automática e definir manualmente a propriedade esparsa ou densa para cada dimensão. Lembre-se de que você só pode associar dimensões de atributo a dimensões padrão esparsas.

Observação:

A configuração automática de dimensões densas e esparsas fornece apenas uma estimativa. Não pode levar em conta a natureza dos dados que você carregará em seu banco de dados ou várias considerações de usuário.

Configuração densa-esparsa para Sample.Basic

Considere o banco de dados Sample.Basic, que representa os dados da The Beverage Company (TBC).

Como a TBC não vende todos os produtos em todos os mercados, o conjunto de dados é razoavelmente esparso. Os valores de dados não existem para muitas combinações de membros nas dimensões Produto e Mercado. Por exemplo, se a Caffeine Free Cola não for vendida na Flórida, os valores de dados não existem para a combinação Caffeine Free Cola (100-30) -> Flórida, portanto, Produto e Mercado são dimensões esparsas. Portanto, se não existirem valores de dados para uma combinação específica de membros nessas dimensões, um bloco de dados não será criado para a combinação.

No entanto, considere combinações de membros nas dimensões Ano, Medidas e Cenário. Os valores de dados quase sempre existem para algumas combinações de membros nessas dimensões. Por exemplo, existem valores de dados para a combinação de membros Vendas -> Janeiro -> Real, porque pelo menos alguns produtos são vendidos em janeiro. Assim, Ano e, da mesma forma, Medidas e Cenário, são dimensões densas.

A configuração esparsa-densa das dimensões padrão no banco de dados Sample.Basic pode ser resumida:

  • As dimensões padrão esparsas são Produto e Mercado.

  • As dimensões padrão densas são Ano, Medidas e Cenário.

Um bloco de dados é criado para cada combinação exclusiva de membros nas dimensões Produto e Mercado (consulte Armazenamento de Dados). Cada bloco de dados representa dados das dimensões densas. Os blocos de dados provavelmente terão poucas células vazias.

Por exemplo, considere a combinação de membros esparsos Caffeine Free Cola (100-30), Nova York, na Figura 2-5:

  • Se existirem dados de contas (representados pela dimensão Medidas) para esta combinação para janeiro, eles provavelmente existirão para fevereiro e para todos os membros na dimensão Ano.

  • Se existir um valor de dados para um membro na dimensão Medidas, é provável que existam outros valores de dados de contas para outros membros na dimensão Medidas.

  • Se existirem valores de dados de contas Reais, é provável que existam valores de dados de contas de Orçamento.

    Figura 2-5 Bloco de Dados Denso para o Sample.Basic Database


    Esta imagem ilustra um bloco de dados denso para cola livre de cafeína, conforme descrito no texto que precede a imagem.

Cenários de Seleção Densa e Esparsa

Nos cenários a seguir, você verá como um banco de dados é afetado quando seleciona diferentes dimensões padrão. Suponha que esses cenários sejam baseados em bancos de dados típicos com pelo menos sete dimensões e várias centenas de membros.

Cenário 1: Todas as Dimensões Padrão Esparsas

Se você tornar todas as dimensões esparsas, o Essbase criará blocos de dados que consistem em células de dados únicas que contêm valores de dados únicos. Uma entrada de índice é criada para cada bloco de dados e, portanto, neste cenário, para cada valor de dados existente.

Esta configuração produz um índice que requer uma memória grande. Quanto mais entradas de índice, mais tempo o Essbase procurará um bloco específico.

Figura 2-6 Banco de Dados com Todas as Dimensões Padrão Esparsas


Esta imagem ilustra como as dimensões padrão esparsas têm índices complexos, conforme descrito no texto que precede a imagem.

Cenário 2: Todas as Dimensões Padrão Densas

Se você tornar todas as dimensões densas, o Essbase criará uma entrada de índice e um bloco grande e esparso. Na maioria dos aplicativos, essa configuração requer milhares de vezes mais armazenamento do que outras configurações. O Essbase deve carregar todo o banco de dados na memória ao procurar qualquer valor de dados, o que requer uma memória enorme.

Figura 2-7 Banco de Dados com Todas as Dimensões Padrão Densas


Esta imagem ilustra como as dimensões padrão densas têm índices de entrada única, conforme descrito no texto que precede a imagem.

Cenário 3: Dimensões Padrão Densa e Esparsa

Com base no seu conhecimento dos dados da sua empresa, você identificou todas as suas dimensões padrão esparsas e densas.

O Essbase cria blocos densos que podem caber na memória facilmente e cria um índice relativamente pequeno. Seu banco de dados é executado com eficiência usando recursos mínimos.

Figura 2-8 Uma Configuração Ideal com Combinação de Dimensões Densa e Esparsa


Esta imagem ilustra como o uso de uma combinação de dimensões padrão esparsas e densas resulta em blocos densos e um índice relativamente simples, conforme descrito no texto que precede a imagem.

Cenário 4: Um problema multidimensional típico

Considere um banco de dados com quatro dimensões padrão: Tempo, Contas, Região e Produto. No exemplo a seguir, Tempo e Contas são dimensões densas e Região e Produto são dimensões esparsas.

Os blocos de dados bidimensionais mostrados na imagem abaixo representam valores de dados das dimensões densas: Tempo e Contas. Os membros na dimensão Tempo são J, F, M e Q1. Os membros na dimensão Contas são Rev, Exp e Líquido.

Figura 2-9 Bloco de Dados Bidimensional para Tempo e Contas


Esta imagem ilustra um bloco de dados para as dimensões Tempo e Contas, conforme descrito no texto que precede a imagem.

O Essbase cria blocos de dados para combinações de membros nas dimensões padrão esparsas (desde que exista pelo menos um valor de dados para a combinação de membros). As dimensões esparsas são Região e Produto. Os membros da dimensão Região são Leste, Oeste, Sul e Total dos EUA. Os membros na dimensão Produto são Produto A, Produto B, Produto C e Produto Total.

A imagem abaixo mostra 11 blocos de dados. Não existem valores de dados para o Produto A no Oeste e no Sul, para o Produto B no Leste e Oeste ou para o Produto C no Leste. Portanto, o Essbase não criou blocos de dados para essas combinações de membros. Os blocos de dados que o Essbase criou têm poucas células vazias. Este exemplo concentra efetivamente toda a esparsa no índice e concentra todos os dados em blocos totalmente utilizados. Essa configuração fornece armazenamento e recuperação de dados eficientes.

Figura 2-10 Blocos de Dados Criados para Membros Esparsos em Região e Produto


Esta imagem ilustra os blocos de dados criados para membros esparsos das dimensões Região e Produto, conforme descrito no texto que precede a imagem.

Em seguida, considere uma reversão das seleções de dimensão densa e esparsa. No exemplo a seguir, Região e Produto são dimensões densas e Tempo e Contas são dimensões esparsas.

Na imagem abaixo, os blocos de dados bidimensionais representam valores de dados das dimensões densas: Região e Produto. Na região Oeste, não há dados disponíveis para o Produto A e o Produto B. Os dados também não estão disponíveis para o Produto Total nos EUA.

Figura 2-11 Bloco de Dados Bidimensional para Região e Produto


Esta imagem ilustra um bloco de dados criado para membros densos das dimensões Região e Produto, conforme descrito no texto que precede a imagem.

O Essbase cria blocos de dados para combinações de membros nas dimensões padrão esparsas (desde que exista pelo menos um valor de dados para a combinação de membros). As dimensões padrão esparsas são Tempo e Contas.

A imagem abaixo mostra 12 blocos de dados. Existem valores de dados para todas as combinações de membros nas dimensões Tempo e Contas; portanto, o Essbase cria blocos de dados para todas as combinações de membros. Como os valores de dados não existem para todos os produtos em todas as regiões, os blocos de dados têm muitas células vazias. Blocos de dados com muitas células vazias armazenam dados de forma ineficiente.

Figura 2-12 Blocos de Dados Criados para Membros Esparsos no Prazo e Contas


Esta imagem ilustra os blocos de dados criados para membros esparsos das dimensões Tempo e Contas, conforme descrito no texto que precede a imagem.