Compartilhar via


Dimensões – Introdução

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

Todas as dimensões do Microsoft SQL Server 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 independentemente de um cubo, podem ser usadas em vários cubos, podem ser usadas várias vezes em um único cubo e podem ser vinculadas entre SQL Server Analysis Services instâncias. 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 uma subseção do banco de dados de exemplo AdventureWorksDW2012 , 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 uma relação de chave estrangeira com a coluna de chave primária ResellerKey na tabela de dimensões DimReseller . Da mesma forma, a coluna PromotionKey na tabela de fatos FactResellerSales define uma relação de chave estrangeira com 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

Frequentemente, 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 tabelas de dimensão de produto AdventureWorksAS

Para descrever completamente um produto, a categoria subcategoria do produto deve ser incluída na dimensão Produto. No entanto, essas informações não residem diretamente na tabela main para a dimensão DimProduct. Uma relação de chave estrangeira de DimProduct para DimProductSubcategory, que, por sua vez, tem uma relação de chave estrangeira com a tabela DimProductCategory , possibilita incluir as informações para categorias de produtos e subcategorias 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 amostra de dimensão referenciada

No diagrama anterior, a tabela de fatos FactResellerSales não tem uma relação de chave estrangeira com a tabela de dimensões DimGeography . No entanto, a tabela de fatos FactResellerSales tem 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 uma dimensão de Revendedor que contém informações de geografia sobre cada revendedor, você teria que recuperar esses atributos das tabelas de dimensões DimGeography e DimReseller . No entanto, em SQL Server Analysis Services, você pode 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 relações de 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, definir uma relação referenciada e propriedades de relação referenciadas

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 de uma dimensão, incluindo hierarquias, níveis e membros, são protegidos usando funções em SQL Server 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 segurança de dimensão, consulte Conceder permissões em uma dimensão (Analysis Services).

Consulte Também

Armazenamento de dimensões
Tradução de dimensões
Dimensões habilitadas para gravação