Relações de dimensão
Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
O uso de dimensões define as relações entre uma dimensão de cubo e os grupos de medidas em um cubo. Uma dimensão de cubo é uma instância de uma dimensão de banco de dados usada em um cubo específico. Um cubo pode ter, e frequentemente tem, dimensões de cubo que não estão diretamente relacionadas ao grupo de medidas, mas que podem estar indiretamente relacionadas ao grupo de medidas por meio de outra dimensão ou grupo de medidas. Quando você adiciona uma dimensão de banco de dados ou um grupo de medidas a um cubo, o Microsoft SQL Server SQL Server Analysis Services tenta determinar o uso da dimensão examinando as relações entre as tabelas de dimensões e as tabelas de fatos na exibição da fonte de dados do cubo e examinando as relações entre atributos em dimensões. SQL Server Analysis Services define automaticamente as configurações de uso da dimensão para as relações que ela pode detectar.
Uma relação entre uma dimensão e um grupo de medidas consiste na dimensão e tabelas de fatos participantes da relação e um atributo de granularidade que especifica a granularidade da dimensão em um determinado grupo de medidas.
Relações regulares de dimensão
Uma relação regular de dimensão entre uma dimensão de cubo e um grupo de medidas existe quando a coluna de chave da dimensão está associada diretamente à tabela de fatos. Essa relação direta é baseada em uma relação chave-chave estrangeira primária no banco de dados relacional subjacente, mas também pode ser baseada em uma relação lógica definida na exibição da fonte de dados. Uma relação de dimensão regular representa a relação entre tabelas de dimensão e uma tabela de fatos em um projeto de esquema em estrela tradicional. Para obter mais informações sobre relações regulares, consulte Definir uma relação regular e propriedades de relacionamento regular.
Relações de dimensão de referência
Uma relação de dimensão de referência entre uma dimensão de cubo e um grupo de medidas existe quando a coluna de chave da dimensão está associada indiretamente à tabela de fatos por meio de uma chave em outras tabelas de dimensões, conforme mostrado na ilustração a seguir.
Uma relação de dimensão de referência representa a relação entre tabelas de dimensão e uma tabela de fatos em um projeto de esquema de floco de neve. Quando tabelas de dimensões estão conectadas em um esquema de floco de neve, você pode definir uma única dimensão usando colunas de várias tabelas ou pode definir dimensões separadas com base em tabelas de dimensões separadas e, então, definir um link entre elas usando a configuração de relação de dimensão de referência. A figura a seguir mostra uma tabela de fatos chamada InternetSales e duas tabelas de dimensões chamadas Cliente e Geografia, em um esquema floco de neve.
Você pode criar uma dimensão com a tabela Cliente como a dimensão main tabela e a tabela Geography incluída como uma tabela relacionada. Uma relação regular é, então, definida entre a dimensão e o grupo de medidas VendasInternet.
Como alternativa, você pode criar duas dimensões relacionadas ao grupo de medidas InternetSales: uma dimensão baseada na tabela Cliente e uma dimensão baseada na tabela Geography . Você pode então relacionar a dimensão Geografia com o grupo de medidas VendasInternet, usando uma relação de dimensão de referência usando a dimensão Cliente. Nesse caso, quando os fatos no grupo de medidas VendasInternet forem dimensionados pela dimensão Geografia, os fatos serão dimensionados por cliente e por geografia. Se o cubo contiver um segundo grupo de medidas chamado Vendas do Revendedor, você não poderá dimensionar os fatos no grupo de medidas Vendas do Revendedor por Geografia, pois não há relação entre Vendas do Revendedor e Geografia.
Não há limite para o número de dimensões de referência que podem ser conectadas juntas, conforme mostrado na ilustração a seguir.
Para obter mais informações sobre relações referenciadas, consulte Definir uma relação referenciada e propriedades de relação referenciadas.
Relações de dimensão de fato
Dimensões de fato, frequentemente referenciadas como dimensões de degeneração, são dimensões padrão criadas a partir de colunas de atributo em tabelas de fatos, em vez serem criadas pelas colunas de atributo em tabelas de dimensões. Às vezes são armazenados dados dimensionais úteis em uma tabela de fatos para reduzir duplicação. Por exemplo, o diagrama a seguir exibe a tabela de fatos FactResellerSales , do banco de dados de exemplo Adventure Works DW Multidimensional 2012.
A tabela contém informações de atributo não apenas para cada linha de um pedido emitido por um revendedor, mas o próprio pedido. Os atributos circulados no diagrama anterior identificam as informações na tabela FactResellerSales que podem ser usadas como atributos em uma dimensão. Nesse caso, duas informações adicionais, o número de rastreamento da transportadora e o número da ordem de compra emitido pelo revendedor, conforme representado pelas colunas de atributo CarrierTrackingNumber e CustomerPONumber. Essas informações são interessantes, por exemplo, os usuários definitivamente estariam interessados em ver informações agregadas, como o custo total do produto, para todos os pedidos que estão sendo enviados em um único número de acompanhamento. Mas, sem dados de dimensão esses dois atributos não podem ser organizados ou ser agregados.
Na teoria, você pode criar uma tabela de dimensões que usa as mesmas informações de chave que a tabela FactResellerSales e mover as outras duas colunas de atributo, CarrierTrackingNumber e CustomerPONumber, para essa tabela de dimensões. Entretanto, você pode estar duplicando uma parte significativa dos dados e adicionando complexidade desnecessária para o data warehouse, para representar apenas dois atributos como uma dimensão separada.
Observação
As dimensões de fato são, frequentemente, usadas para oferecer suporte a ações de análise. Para obter mais informações sobre ações, consulte Ações (Analysis Services – Dados Multidimensionais).
Observação
As dimensões de fato devem ser atualizadas incrementalmente após cada atualização do grupo de medidas referenciada pela relação de fato. Se a dimensão de fato for uma dimensão ROLAP, o mecanismo de processamento de SQL Server Analysis Services removerá todos os caches e processará incrementalmente o grupo de medidas.
Para obter mais informações sobre relações de fatos, consulte Definir uma relação de fatos e propriedades de relação de fatos.
Relações de dimensão muitos para muitos
Na maioria das dimensões, cada fato é associado a um e apenas um membro de dimensão e um simples membro de dimensão pode ser associado a vários fatos. Na terminologia de banco de dados relacional, isso é referenciado como uma relação de um para muitos. Porém, é frequentemente útil associar um único fato a vários membros de dimensão. Por exemplo, um cliente de um banco pode ter várias contas (corrente, poupança, cartão de crédito e investimentos) e uma conta também pode ter titulares conjuntos ou vários titulares. A dimensão Cliente criada a partir dessas relações pode ter então vários membros relacionados a uma única transação de conta.
SQL Server SQL Server Analysis Services permite definir uma relação muitos para muitos entre uma dimensão e uma tabela de fatos.
Observação
Para oferecer suporte a uma relação de dimensão muitos para muitos, a exibição da fonte de dados deve ter uma relação de chave estrangeira definida entre todas as tabelas envolvidas, conforme mostrado no diagrama anterior. Caso contrário, você não poderá selecionar o grupo de medidas intermediário correto ao estabelecer a relação na guia Uso da Dimensão da Dimensão Designer.
Para obter mais informações sobre relações muitos para muitos, consulte Definir uma relação muitos para muitos e propriedades de relação muitos para muitos.