Relações de atributo
No MicrosoftSQL ServerAnalysis Services, os atributos dentro de uma dimensão estão sempre direta ou indiretamente relacionados 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 de chave da dimensão. Quando você define uma dimensão com base em um esquema floco de neve onde todos os atributos várias tabelas relacionados, uma relação de atributo é automaticamente definida da seguinte maneira:
Entre o atributo de chave e cada atributo não de chave associado a colunas na tabela de dimensões principal.
Entre o atributo de chave e atributo associado à chave estrangeira na tabela secundária que vincula as tabelas de dimensões subjacentes.
Entre o atributo associado à chave estrangeira na tabela secundária e cada atributo não-chave associado a 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 Definindo atributos 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
Cidade
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 o Analysis Services, isso especifica uma relação natural e agregação de potencial. 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 de atributo Região.
O atributo Região como uma relação de atributo Cidade.
O atributo Cidade como uma relação de atributo Cliente.
Quanto à navegação pelos dados do cubo, você também pode criar uma hierarquia definida pelo usuário que não representa uma hierarquia natural nos dados (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 percebem diferenças em como duas hierarquias se comportam, apesar dos benefícios da hierarquia natural quanto às estruturas de agregação e indexação — ocultas do usuário — das 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 um nome de coluna diferente para os membros.
Para definir um nível em uma hierarquia definida pelo usuário usando o Business Intelligence Development Studio, 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 de fonte de dados para o cubo. Para obter mais informações sobre como criar hierarquias definidas pelo usuário, consulte Criando hierarquias definidas pelo usuário.
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 estiver configurada como False no atributo de origem de um nível, nenhum atributo agregável poderá ser adicionado como nível acima dele.
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 MDX para recuperar propriedades do membro, consulte Usando propriedades do membro (MDX).