Partilhar via


Hierarquias do usuário

Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Hierarquias definidas pelo utilizador são hierarquias definidas pelo utilizador de atributos que são usadas no Microsoft SQL Server SQL Server Analysis Services para organizar os membros de uma dimensão em estruturas hierárquicas e fornecer caminhos de navegação num cubo. Por exemplo, a tabela seguinte define uma tabela de dimensões para uma dimensão temporal. A tabela de dimensões suporta três atributos, chamados Ano, Trimestre e Mês.

Ano Trimestre Mês
1999 Quarto 1 Jan
1999 Quarto 1 Fevereiro
1999 Quarto 1 Mar
1999 Quarto 2 Apr
1999 Quarto 2 Maio
1999 Quarto 2 Jun
1999 Quarto 3 Jul
1999 Quarto 3 Ago
1999 Quarto 3 Sep
1999 4º Quarto Out
1999 4º Quarto Novembro
1999 4º Quarto Dez

Os atributos Ano, Trimestre e Mês são usados para construir uma hierarquia definida pelo utilizador, chamada Calendário, na dimensão temporal. A relação entre os níveis e os membros da dimensão do Calendário (uma dimensão regular) é mostrada no diagrama seguinte.

Hierarquia de níveis e membros para uma dimensão temporal

Observação

Qualquer hierarquia que não seja a hierarquia de atributos padrão de dois níveis é chamada de hierarquia definida pelo utilizador. Para mais informações sobre hierarquias de atributos, consulte Atributos e Hierarquias de Atributos.

Estruturas de Membros

Com exceção das hierarquias pai-filho, as posições dos membros dentro da hierarquia são controladas pela ordem dos atributos na definição da hierarquia. Cada atributo na definição de hierarquia constitui um nível na hierarquia. A posição de um membro dentro de um nível é determinada pela ordem do atributo usado para criar o nível. As estruturas de membros das hierarquias definidas pelo utilizador podem assumir uma de quatro formas básicas, dependendo de como os membros estão relacionados entre si.

Hierarquias Equilibradas

Numa hierarquia equilibrada, todos os ramos da hierarquia descem para o mesmo nível, e o pai lógico de cada membro é o nível imediatamente acima do membro. A hierarquia de Categorias de Produto da dimensão Produto na base de dados SQL Server Analysis Services de exemplo Adventure Works DW Multidimensional 2012 é um bom exemplo de uma hierarquia equilibrada. Cada membro no nível de Nome do Produto tem um membro pai no nível da Subcategoria, que por sua vez tem um membro pai no nível da Categoria. Além disso, cada ramo na hierarquia tem um membro folha no nível do Nome do Produto.

Hierarquias Desequilibradas

Numa hierarquia desequilibrada, os ramos da hierarquia descem para diferentes níveis. Hierarquias pai-filho são hierarquias desequilibradas. Por exemplo, a dimensão Organização na base de dados de exemplo Adventure Works DW Multidimensional 2012 do SQL Server Analysis Services contém um membro para cada funcionário. O CEO é o membro mais alto na hierarquia, e os gestores de divisão e o secretário executivo estão imediatamente abaixo do CEO. Os gestores de divisão têm membros subordinados, mas o secretário executivo não.

Pode ser impossível para os utilizadores finais distinguir entre hierarquias desequilibradas e irregulares. No entanto, empregas técnicas e propriedades diferentes no SQL Server Analysis Services para suportar estes dois tipos de hierarquias. Para mais informações, veja Hierarquias Irregulares e Atributos em Hierarquias Pai-Filho.

Hierarquias Despedaçadas

Numa hierarquia irregular, o membro lógico pai de pelo menos um membro não está no nível imediatamente acima do membro. Isto pode fazer com que ramos da hierarquia desçam para diferentes níveis. Por exemplo, numa dimensão de Geografia definida com os níveis Continente, PaísRegião e Cidade, nessa ordem, a Europa membro aparece no nível superior da hierarquia, a França membro aparece no nível intermédio e a Paris membro aparece no nível inferior. A França é mais específica do que a Europa, e Paris é mais específica do que a França. A esta hierarquia regular, são feitas as seguintes alterações:

  • O membro da Cidade do Vaticano é adicionado ao nível CountryRegion.

  • Os membros são adicionados ao nível da Cidade e estão associados ao membro da Cidade do Vaticano ao nível de País/Região.

  • Um nível, denominado Província, é adicionado entre os níveis CountryRegion e City.

O nível da Província é composto por membros associados a outros membros ao nível da Região do País, e os membros ao nível da Cidade estão associados aos respetivos membros ao nível da Província. No entanto, como o membro da Cidade do Vaticano ao nível CountryRegion não tem membros associados ao nível da Província, os membros devem estar associados diretamente do nível da Cidade ao membro da Cidade do Vaticano no nível CountryRegion. Devido às mudanças, a hierarquia da dimensão está agora desordenada. A cidade principal da Cidade do Vaticano é o país/região Cidade do Vaticano, que não está no nível imediatamente acima do membro da Cidade do Vaticano ao nível da Cidade. Para mais informações, veja Hierarquias Esfarrapadas.

Parent-Child Hierarquias

As hierarquias pai-filho para dimensões são definidas usando um atributo especial, chamado atributo pai, para determinar como os membros se relacionam entre si. Um atributo pai descreve uma relação de autorreferência, ou autojunção, na tabela principal de uma dimensão. As hierarquias pai-filho são construídas a partir de um único atributo parental. Apenas um nível é atribuído a uma hierarquia pai-filho, porque os níveis presentes na hierarquia são retirados das relações pai-filho entre os membros associados ao atributo pai. O esquema dimensional de uma hierarquia pai-filho depende de uma relação de autorreferência presente na tabela principal de dimensão. Por exemplo, o diagrama seguinte ilustra a tabela principal da dimensão DimOrganization na base de dados de exemplo Adventure Works DW Multidimensional 2012 SQL Server Analysis Services.

Join autorreferencial na tabela DimOrganization

Nesta tabela de dimensões, a coluna ParentOrganizationKey tem uma relação de chave estrangeira com a coluna principal OrganizationKey . Por outras palavras, cada registo nesta tabela pode ser relacionado através de uma relação pai-filho com outro registo na tabela. Este tipo de auto-junção é geralmente usado para representar dados de entidades organizacionais, como a estrutura de gestão de funcionários num departamento.

Quando cria uma hierarquia pai-filho, as colunas representadas por ambos os atributos devem ter o mesmo tipo de dado. Ambos os atributos também devem estar na mesma tabela. Por defeito, qualquer membro cuja chave pai é igual à sua própria chave de membro, nula, 0 (zero) ou um valor que está ausente na coluna das chaves de membro é considerado parte do nível superior (excluindo o nível (Todos)).

A profundidade de uma hierarquia pai-filho pode variar entre os seus ramos hierárquicos. Por outras palavras, uma hierarquia pai-filho é considerada uma hierarquia desequilibrada.

Ao contrário das hierarquias definidas pelo utilizador, em que o número de níveis na hierarquia determina o número de níveis que podem ser vistos pelos utilizadores finais, uma hierarquia pai-filho é definida com o único nível de uma hierarquia de atributos, e os valores nesse único nível produzem os múltiplos níveis vistos pelos utilizadores. O número de níveis exibidos depende do conteúdo das colunas da tabela de dimensões que armazenam as chaves de membro e as chaves pais. O número de níveis pode mudar quando os dados nas tabelas de dimensões mudam. Para mais informações, consulte Dimensões Pai-Filho e Atributos em Hierarquias Pai-Filho.

Ver também

Criar Hierarquias Definidas pelo Usuário
Propriedades da Hierarquia do Utilizador
Referência das Propriedades do Atributo de Dimensão