Compartilhar via


Noções básicas sobre dimensões (Analysis Services – Dados Multidimensionais)

Todas as dimensões do Microsoft SQL Server Analysis Services são grupos de atributos com base em colunas de tabelas ou exibições em uma exibição de fonte de dados. As dimensões existem independentes de um cubo, podem ser usadas em vários cubos, podem ser usadas várias vezes em um único cubo e estarem vinculadas entre instâncias do Analysis Services. Uma dimensão que existe, independentemente de um cubo, é chamada de dimensão de banco de dados e uma instância de uma dimensão de banco de dados dentro de um cubo é chamada de dimensão do cubo.

Dimensão com base em Design de esquema em estrela

A estrutura de uma dimensão é amplamente direcionada pela estrutura da tabela ou tabelas de dimensões subjacentes. A estrutura mais simples é chamada de esquema em estrela, onde cada dimensão com base em uma única tabela de dimensões diretamente vinculada à tabela de fatos por uma relação chave primária-chave estrangeira.

O diagrama a seguir ilustra a subseção do banco de dados de exemplo AdventureWorksDW, no qual a tabela de fatos FactResellerSales está relacionada a duas tabelas de dimensões, DimReseller e DimPromotion. A coluna ResellerKey na tabela de fatos FactResellerSales define a relação de chave estrangeira com a coluna de chave primária ResellerKey na tabela de dimensões DimReseller. Do mesmo modo, a coluna PromotionKey na tabela de fatos FactResellerSales define uma relação de chave estrangeira para a coluna de chave primária PromotionKey na tabela de dimensões DimPromotion.

Esquema lógico para relação de dimensão de fato

Dimensão com base em Design de esquema floco de neve

Freqüentemente, uma estrutura mais complexa é necessária, pois são necessárias informações de várias tabelas para definir a dimensão. Nessa estrutura, chamada de esquema floco de neve, cada dimensão com base em atributos de colunas em várias tabelas vinculadas umas às outras e, finalmente, à tabela de fatos pela relação chave primária-chave estrangeira. Por exemplo, o diagrama a seguir ilustra as tabelas necessárias para descrever completamente a dimensão Produto no projeto de exemplo AdventureWorksDW.

Tabelas para a dimensão AdventureWorksAS Product

Para descrever completamente um produto, a categoria subcategoria do produto deve ser incluída na dimensão Produto. Entretanto, essas informações não residem diretamente na tabela principal para a dimensão DimProduct. Uma relação de chave estrangeira de DimProduct com DimProductSubcategory que, por sua vez, possui uma relação de chave estrangeira com a tabela DimProductCategory, torna possível incluir informações para as categorias e subcategorias de produto na dimensão Produto.

Esquema floco de neve versus relação de referência

Algumas vezes, você pode ter que fazer uma escolha entre usar um esquema floco de neve para definir atributos em uma dimensão de várias tabelas ou definir duas dimensões separadas e definir uma relação de dimensão de referência entre elas: O diagrama a seguir ilustra esse cenário.

Esquema lógico para dimensão referenciada de exemplo

No diagrama anterior, a tabela de fatos FactResellerSales não possui uma relação de chave estrangeira com a tabela de dimensões DimGeography. Entretanto, a tabela de fatos FactResellerSales não possui uma relação de chave estrangeira com a tabela de dimensões DimReseller que, por sua vez, tem uma relação de chave estrangeira com a tabela de dimensões DimGeography. Para definir a dimensão Revendedor que contém as informações geográficas sobre cada revendedor, você pode recuperar esses atributos de DimGeography e as tabelas de dimensões DimReseller. No entanto, em Analysis Services, você obter o mesmo resultado criando duas dimensões separadas e vinculando-as em um grupo de medidas definindo uma relação de dimensão de referência entre as duas dimensões. Para obter mais informações sobre as relações da dimensão de referência, consulte Relações de dimensão.

Uma vantagem de usar as relações de dimensão de referência nesse cenário é que, você pode criar uma única dimensão geográfica e, depois, criar várias dimensões de cubo com base na dimensão geográfica, sem necessitar de qualquer espaço de armazenamento adicional. Por exemplo, você pode vincular uma das dimensões geográficas do cubo a uma dimensão de revendedor e outra dimensão geográfica do cubo à dimensão de cliente. Tópicos relacionados:Relações de dimensão, Definindo uma relação referenciada e propriedades de relação referenciada

Processando uma dimensão

Depois de criar uma dimensão, você deve processá-la antes de visualizar um os membros de atributos e hierarquias na dimensão. Depois que a estrutura da dimensão mudar ou as informações nas tabelas subjacentes forem atualizadas, você precisará processar a dimensão novamente antes de exibir as alterações. Ao processar uma dimensão após as alterações estruturais, você deve também processar os cubos que incluem a dimensão — ou o cubo não será exibível.

Segurança

Todos os objetos subordinados da dimensão, incluindo hierarquias, níveis e membros são protegidos por meio das funções no Analysis Services. A segurança de dimensão pode ser aplicada para todos os cubos no banco de dados que usa a dimensão ou por apenas um cubo específico. Para obter mais informações sobre a segurança de dimensões, consulte Concedendo acesso à dimensão.