Relações entre tabelas em um Modelo de Dados

Observação:  Desejamos fornecer o conteúdo da Ajuda mais recente no seu idioma da forma mais rápida possível. Esta página foi traduzida de forma automatizada e pode conter imprecisões ou erros gramaticais. Nosso objetivo é que este conteúdo seja útil para você. As informações foram úteis? Dê sua opinião no final desta página. Aqui está o artigo em inglês para facilitar a referência.

Seu navegador não oferece suporte a vídeo. Instale o Microsoft Silverlight, o Adobe Flash Player ou o Internet Explorer 9.
Vídeo: Relações no Power View e PowerPivot

Vídeo: Relações no Power View e PowerPivot

Vídeo: Relações no Power View e PowerPivot

Vídeo: Relações no Power View e PowerPivot

Adicione mais energia a análise de dados criando relações amogn diferentes tabelas. Um relacionamento é uma conexão entre duas tabelas que contêm dados: uma coluna em cada tabela é a base para a relação. Para ver por que os relacionamentos são úteis, imagine que você controlar dados de pedidos de clientes em sua empresa. Você pode controlar todos os dados em uma única tabela ter uma estrutura assim:

CustomerID

Name

EMail

DiscountRate

OrderID

OrderDate

Produto

Quantidade

1

Ashton

nuno.farinha@contoso.com

0,05

256

2010-07-01

Compact Digital

11

1

Ashton

nuno.farinha@contoso.com

0,05

255

2010-03-01

Câmera SLR

15

2

Jaworski

fabio.pena@contoso.com

0,10

254

2010-03-01

Orçamento do Movie Maker

27

Esta abordagem pode funcionar, mas envolve o armazenamento de muitos dados redundantes, como o endereço de email do cliente para todos os pedidos. Embora o armazenamento seja barato, se o endereço de email for alterado, você deverá ter certeza de que atualizou todas as linhas desse cliente. Uma solução para esse problema é dividir os dados em várias tabelas e definir relações entre essas tabelas. Essa é a abordagem usada em bancos de dados relacionais como o SQL Server. Por exemplo, um banco de dados importado pode representar dados de pedidos usando três tabelas relacionadas:

Clientes

[CustomerID]

Nome

Email

1

Ashton

nuno.farinha@contoso.com

2

Jaworski

fabio.pena@contoso.com

DescontosdoCliente

[CustomerID]

DiscountRate

1

0,05

2

0,10

Pedidos

[CustomerID]

OrderID

OrderDate

Produto

Quantidade

1

256

2010-07-01

Compact Digital

11

1

255

2010-03-01

Câmera SLR

15

2

254

2010-03-01

Orçamento do Movie Maker

27

Relações existirem dentro de um modelo de dados — que você criar explicitamente, ou que o Excel automaticamente cria em seu nome quando você importa simultaneamente várias tabelas. Você também pode usar o suplemento Power Pivot para criar ou gerenciar o modelo. Consulte criar um modelo de dados no Excel para obter detalhes.

Se você usar o suplemento Power Pivot para importar tabelas do mesmo banco de dados, o Power Pivot poderá detectar as relações entre as tabelas com base nas colunas que estão entre [colchetes], e poderá reproduzir essas relações em um Modelo de dados que ele cria nos bastidores. Para obter mais informações, consulte Detecção automática e inferência de relações neste artigo. Se você importar tabelas de várias fontes, poderá criar manualmente relações como as descritas em Criar uma relação entre duas tabelas.

Relações são baseadas em colunas em cada tabela que contêm os mesmos dados. Por exemplo, você pode relacionar uma tabela de clientes com uma tabela de pedidos se cada contém uma coluna que armazena uma ID de cliente. No exemplo, os nomes de coluna são os mesmos, mas esse não é um requisito. Um poderia ser CustomerID e outro NúmeroCliente, desde que todas as linhas na tabela Pedidos contêm uma identificação que também é armazenada na tabela Customers.

Em um banco de dados relacional, há vários tipos de chaves. Uma chave normalmente é coluna com propriedades especiais. Compreender a finalidade de cada chave pode ajudá-lo a gerenciar um modelo de dados de várias tabelas que fornece dados a um relatório de tabela dinâmica, gráfico dinâmico ou Power View.

Embora existam muitos tipos de teclas, estas são as mais importantes para nosso objetivo aqui:

  • Chave primária: identifica exclusivamente uma linha em uma tabela, como CustomerID na tabela Customers .

  • Chave alternativa (ou chave do candidato): uma coluna diferente a chave primária exclusiva. Por exemplo, uma tabela Funcionários pode armazenar uma ID do funcionário e um número da previdência social, que são exclusivos.

  • Chave estrangeira: uma coluna que se refere a uma coluna exclusiva de outra tabela, como CustomerID na tabela pedidos , que se refere a CustomerID na tabela Customers.

Em um modelo de dados, a chave primária ou chave alternativa é conhecido como a coluna relacionada. Se uma tabela tem uma chave primária e alternativa, você pode usar qualquer um como base de uma relação de tabela. A chave estrangeira é denominada a coluna de origem ou a coluna apenas. Em nosso exemplo, uma relação seria definida entre CustomerID na tabela pedidos (a coluna) e CustomerID na tabela Customers (a coluna de pesquisa). Se você importar dados de um banco de dados relacional, por padrão Excel escolhe a chave externa de uma tabela e a chave primária correspondente da outra tabela. No entanto, você pode usar qualquer coluna que tem valores exclusivos para a coluna de pesquisa.

A relação entre um cliente e um pedido é uma relação um-para-muitos. Cada cliente pode ter vários pedidos, mas uma ordem não pode ter vários clientes. Outra relação de tabela importante foi feita individualmente. Em nosso exemplo, a tabela de CustomerDiscounts , que define uma taxa de desconto única para cada cliente, tem um relacionamento individual com a tabela Customers.

Esta tabela mostra as relações entre as três tabelas(clientes, CustomerDiscountse pedidos):

Relação

Tipo

Coluna de pesquisa

Coluna

Customers-CustomerDiscounts

um para um

Customers.CustomerID

CustomerDiscounts.CustomerID

Customers-Orders

um-para-muitos

Customers.CustomerID

Orders.CustomerID

Observação:  Relações de muitos para muitos não têm suporte em um Modelo de Dados. Um exemplo de uma relação muitos para muitos é uma relação direta entre Products e Customers, na qual um cliente pode comprar muitos produtos e o mesmo produto pode ser comprado por muitos clientes.

Depois de qualquer relacionamento tiver sido criado, Excel normalmente deve recalcular fórmulas que usam colunas de tabelas na relação recém-criado. Processamento pode levar algum tempo, dependendo da quantidade de dados e a complexidade das relações. Para obter mais detalhes, consulte Recalcular fórmulas.

Um modelo de dados pode ter várias relações entre duas tabelas. Para criar cálculos precisos, o Excel necessita de um único caminho de uma tabela para o próximo. Portanto, apenas uma relação entre cada par de tabelas está ativa por vez. Embora os outros estão inativos, você pode especificar um relacionamento inativas em fórmulas e consultas.

No modo de exibição de diagrama, a relação ativa é uma linha sólida e aquelas inativas são linhas tracejadas. Por exemplo, em AdventureWorksDW2012, a tabela DimDate contém uma coluna, DateKey, relacionados a três colunas diferentes na tabela FactInternetSales: DataDoPedido exemploe DataDeEnvio. Se a relação ativa estiver entre DateKey e DataDoPedido, que é a relação de padrão em fórmulas, a menos que você especifique o contrário.

Uma relação poderá ser criada quando os seguintes requisitos forem atendidos:

Critérios

Descrição

Identificador exclusivo para cada tabela

Cada tabela deve ter uma única coluna que identifica exclusivamente cada linha nessa tabela. Essa coluna geralmente é chamada de chave primária.

Colunas de pesquisa exclusivas

Os valores de dados na coluna de pesquisa devem ser exclusivos. Em outras palavras, a coluna não pode conter duplicatas. Em um Modelo de Dados, as cadeias de caracteres nulas e vazias equivalem a um espaço em branco, que é um valor de dados distinto. Isso significa que não pode haver vários nulos na coluna de pesquisa.

Tipos de dados compatíveis

Os tipos de dados na coluna de origem e na coluna de pesquisa devem ser compatíveis. Para obter mais informações sobre tipos de dados, consulte tipos de dados com suporte nos modelos de dados.

Em um Modelo de Dados, você não poderá criar uma relação de tabela se a chave for uma chave composta. Você também está restrito para criar relações de um para um e um para muitos. Outros tipos de relação não têm suporte.

Chaves compostas e colunas de pesquisa

Uma chave composta é composta por mais de uma coluna. Modelos de dados não é possível usar chaves compostas: uma tabela sempre deve ter exatamente uma coluna que identifica exclusivamente cada linha na tabela. Se você importar tabelas que têm uma relação existente com base em uma chave composta, o Assistente de importação de tabela no PowerPivot irá ignorar essa relação porque ele não pode ser criado no modelo.

Para criar uma relação entre duas tabelas que possuem várias colunas definindo as chaves primárias e estrangeiras, primeiro combine os valores para criar uma única coluna de chave antes de criar a relação. Você pode fazer isso antes de importar os dados, ou criando uma coluna calculada no modelo de dados usando o Power Pivot suplemento.

Relações de muitos-para-muitos

Um modelo de dados não pode ter relações de muitos-para-muitos. Você simplesmente não é possível adicionar tabelas de junção no modelo. No entanto, você pode usar funções DAX para relações de muitos-para-muitos modelos.

Autojunções e Loops

Não são permitidas autojunções em um Modelo de Dados. Uma autojunção é uma relação recursiva entre uma tabela e ela mesma. Autojunções costumam ser usadas para definir hierarquias pai-filho. Por exemplo, você pode unir uma tabela Employees a ela própria para produzir uma hierarquia que mostra a cadeia de gerenciamento em uma empresa.

O Excel não permite criar loops entre relações em uma pasta de trabalho. Em outras palavras, o conjunto de relações a seguir é proibido.

Tabela 1, coluna a   a   Tabela 2, coluna f

Tabela 2, coluna f   a   Tabela 3, coluna n

Tabela 3, coluna n   a   Tabela 1, coluna a

Se você tentar criar uma relação que resulte na criação de um loop, será gerado um erro.

Uma das vantagens para importar dados usando o suplemento Power Pivot é que o Power Pivot pode detectar relações e criar novas relações no Modelo de dados que cria no Excel.

Quando você importa várias tabelas, o Power Pivotautomaticamente detecta todas as relações existentes entre as tabelas. Além disso, quando você cria uma Tabela Dinâmica, o Power Pivot  analisa os dados nas tabelas. Ele detecta possíveis relações que não foram definidas e sugere colunas apropriadas a serem incluídas nessas relações.

O algoritmo de detecção usa dados estatísticos sobre os valores e metadados de colunas para criar inferências sobre a probabilidade das relações.

  • Os tipos de dados em todas as colunas relacionadas devem ser compatíveis. Para a detecção automática, apenas os tipos de dados de número inteiro e de texto têm suporte. Para obter mais informações sobre tipos de dados, consulte Tipos de dados com suporte em Modelos de Dados.

  • Para que a relação seja detectada com êxito, o número de chaves exclusivas na coluna de pesquisa deve ser maior que os valores na tabela no lado muitos. Em outras palavras, a coluna de chave no lado muitos da relação não deve conter valores que não constem na coluna de chave da tabela de pesquisa. Por exemplo, digamos que você tenha uma tabela que liste produtos com suas IDs (a tabela de pesquisa) e uma tabela de vendas que liste vendas para cada produto (o lado muitos da relação). Se seus registros de vendas contiverem a ID de um produto sem uma ID correspondente na tabela Products, a relação não poderá ser criada automaticamente, mas você poderá criá-la manualmente. Para que o Excel detecte a relação, primeiro atualize a tabela de pesquisa Product com as IDs dos produtos ausentes.

  • Verifique se que o nome da coluna da chave no lado muitos é semelhante ao nome da coluna da chave na tabela de pesquisa. Os nomes não precisa ser exatamente o mesmo. Por exemplo, em uma configuração de negócios, você geralmente têm variações nos nomes de colunas que contêm essencialmente os mesmos dados: ID de Emp, EmployeeID, ID do funcionário, gerencia de alto nívele assim por diante. O algoritmo detecta nomes semelhantes e atribui uma probabilidade maior nessas colunas que tenham nomes semelhantes ou exatamente correspondentes. Portanto, para aumentar a probabilidade de criar uma relação, você pode tentar renomear as colunas de dados que você importar para algo semelhante às colunas nas suas tabelas existentes. Se o Excel encontra várias relações possíveis, em seguida, ele não criar uma relação.

Essas informações podem ajudá-lo a compreender por que nem todas as relações são detectadas ou como as alterações feitas nos metadados (como o nome de campo e os tipos de dados) podem melhorar os resultados da detecção automática de relações. Para obter mais informações, consulte Solucionar problemas de relações.

Detecção automática para conjuntos nomeados

As relações não são detectadas automaticamente entre Conjuntos Nomeados e campos relacionados em uma Tabela Dinâmica. Você pode criar essas relações manualmente. Se você desejar usar a detecção automática de relações, remove cada Conjunto Nomeado e adicione os campos individuais do Conjunto Nomeado diretamente à Tabela Dinâmica.

Interferência de relações

Em alguns casos, as relações entre as tabelas são encadeadas automaticamente. Por exemplo, se você criar uma relação entre os dois primeiros conjuntos de tabelas abaixo, uma relação será inferida como existente entre as outras duas tabelas, e uma relação será estabelecida automaticamente.

Products e Category -- criada manualmente

Category e SubCategory -- criada manualmente

Products e SubCategory -- a relação é inferida

Para que sejam encadeadas automaticamente, as relações devem seguir em uma direção, conforme mostrado acima. Se as relações iniciais fossem entre, por exemplo, Sales e Products e Sales e Customers, uma relação não seria inferida. Isso ocorre porque a relação entre Products e Customers é uma relação muitos para muitos.

Expanda suas habilidades no Office
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider

Essas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×