Compartilhar via


Relações de Atributo

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

No Microsoft SQL Server SQL Server Analysis Services, os atributos dentro de uma dimensão estão sempre relacionados direta ou indiretamente ao atributo de chave. Quando você define uma dimensão com base em um esquema em estrela, onde todos os atributos de dimensão são derivados da mesma tabela relacional, uma relação de atributo é automaticamente definida entre o atributo de chave e cada atributo não chave da dimensão. Quando você define uma dimensão com base em um esquema de floco de neve, onde todos os atributos de dimensão derivam de várias tabelas relacionadas, uma relação de atributo é automaticamente definida da seguinte maneira:

  • Entre o atributo de chave e cada atributo não chave vinculado às colunas na tabela de dimensões principal.

  • Entre o atributo de chave e atributo vinculado à chave estrangeira na tabela secundária que vincula as tabelas de dimensões subjacentes.

  • Entre o atributo vinculado à chave estrangeira na tabela secundária e cada atributo não chave vinculado às colunas da tabela secundária.

Porém, há vários motivos pelos quais talvez queira alterar essas relações de atributo padrão. Por exemplo, você pode querer definir uma hierarquia natural, uma ordem de classificação personalizada ou uma granularidade de dimensão com base em um atributo não chave. Para obter mais informações, consulte Referência de propriedades de atributo de dimensão.

Observação

Relações de atributo são conhecidas em MDX como propriedades do membro.

Relações de hierarquia natural

Uma hierarquia é uma hierarquia natural quando cada atributo incluído na hierarquia definida pelo usuário possui uma relação um para muitos com o atributo imediatamente abaixo dele. Por exemplo, considere uma dimensão Cliente com base em uma tabela fonte relacional com oito colunas:

  • CustomerKey

  • CustomerName

  • Idade

  • Sexo

  • Email

  • City

  • País

  • Região

A dimensão Analysis Services correspondente tem sete atributos:

  • Cliente (com base em CustomerKey, com CustomerName que fornece os nomes dos membros)

  • Idade, Sexo, Email, Cidade, Região, País

As relações representando hierarquias naturais são impostas pela criação de uma relação de atributo entre o atributo para um nível e o atributo para o nível abaixo dele. Para SQL Server Analysis Services, isso especifica uma relação natural e uma possível agregação. Na dimensão Cliente, uma hierarquia natural existe para os atributos País, Região, Cidade e Cliente. A hierarquia natural para {Country, Region, City, Customer} é descrita adicionando-se as seguintes relações de atributo:

  • O atributo País como uma relação com o atributo Região.

  • O atributo Região como uma relação com o atributo Cidade.

  • O atributo Cidade como uma relação com o atributo Cliente.

Para navegar pelos dados no cubo, você também pode criar uma hierarquia definida pelo usuário que não representa uma hierarquia natural nos dados (que é chamada de hierarquia ad hoc ou de relatório ). Por exemplo, você pode criar uma hierarquia definida pelo usuário com base em {Age, Gender}. Os usuários não veem nenhuma diferença em como as duas hierarquias se comportam, embora a hierarquia natural se beneficie da agregação e da indexação de estruturas - ocultas do usuário - que explicam as relações naturais nos dados de origem.

A propriedade SourceAttribute de um nível determina qual atributo é usado para descrever o nível. A propriedade KeyColumns no atributo especifica a coluna na exibição da fonte de dados que fornece os membros. A propriedade NameColumn no atributo pode especificar uma coluna de nome diferente para os membros.

Para definir um nível em uma hierarquia definida pelo usuário usando SQL Server Data Tools, o Designer de Dimensão permite selecionar um atributo de dimensão, uma coluna em uma tabela de dimensões ou uma coluna de uma tabela relacionada incluída na exibição da fonte de dados do cubo. Para obter mais informações sobre como criar hierarquias definidas pelo usuário, consulte Criar hierarquias de User-Defined.

No Analysis Services, uma suposição é normalmente feita sobre o conteúdo dos membros. Os membros folha não têm nenhum descendente e contêm dados derivados de fontes de dados subjacentes. Os membros não folha têm descendentes e contêm dados derivados de agregações executadas em membros filhos. Em níveis de agregação, os membros são com base em agregações de níveis subordinados. Portanto, quando a propriedade IsAggregatable é definida como False em um atributo de origem para um nível, nenhum atributo aggregável deve ser adicionado como níveis acima dela.

Definindo uma relação de atributo

A principal restrição ao criar uma relação de atributo é certificar-se de que o atributo referenciado pela relação de atributo, não possui mais que um valor para qualquer membro no atributo ao qual a relação de atributo pertence. Por exemplo, se você definir uma relação entre um atributo Cidade e um atributo Estado, cada cidade pode apenas estar relacionada a um único estado.

Consultas de relação de atributo

Você pode usar consultas MDX para recuperar dados de relações de atributo, na forma de propriedades de membro, com a palavra-chave PROPERTIES da instrução MDX SELECT. Para obter mais informações sobre como usar o MDX para recuperar propriedades de membro, consulte Usando propriedades de membro (MDX).

Consulte Também

Atributos e hierarquias de atributos
Referência de propriedades de atributo de dimensão
Hierarquias do usuário
Propriedades de hierarquia do usuário