Relações entre tabelas num Modelo de Dados

Nota:  Queremos fornecer-lhe os conteúdos de ajuda mais recentes o mais rapidamente possível e no seu idioma. Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode informar-nos se as informações foram úteis no final desta página? Eis o artigo em inglês para referência.

O seu browser não suporta vídeo. Instale o Microsoft Silverlight, o Adobe Flash Player ou o Internet Explorer 9.
Vídeo: Relações no Power View e no PowerPivot

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

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

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

Adicione mais power à sua análise de dados criando relações de tabelas diferentes amogn. Uma relação é uma ligação entre duas tabelas que contêm dados: uma coluna em cada tabela é a base para a relação. Para ver porque é que as relações são úteis, imagine que controlar os dados para encomendas de clientes na sua empresa. Pode controlar todos os dados numa única tabela ter uma estrutura da seguinte forma:

IDCliente

Nome

E-mail

TaxaDesconto

IDEncomenda

DataEncomenda

Produto

Quantidade

1

Andrade

jorge.andrade@contoso.com

0,05

256

07-01-2010

CD

11

1

Andrade

jorge.andrade@contoso.com

0,05

255

01-03-2010

Câmara SLR

15

2

Barbosa

paulo.barbosa@contoso.com

0,10

254

01-03-2010

Orçamento Editor de Vídeo

27

Esta abordagem pode funcionar, mas envolve o armazenamento de muitos dados redundantes, como o endereço de correio eletrónico do cliente para cada encomenda. O armazenamento é barato, mas se o endereço de correio eletrónico de um cliente for alterado, terá de garantir que atualiza todas as linhas relativas a esse cliente. Uma solução para este problema é dividir os dados em várias tabelas e definir relações entre essas tabelas. Esta é a abordagem utilizada em bases de dados relacionais como o SQL Server. Por exemplo, uma base de dados importada poderá representar dados de encomendas utilizando três tabelas relacionadas:

Cliente

[IDCliente]

Nome

E-mail

1

Andrade

jorge.andrade@contoso.com

2

Barbosa

paulo.barbosa@contoso.com

DescontosDeCliente

[IDCliente]

TaxaDesconto

1

0,05

2

0,10

Encomendas

[IDCliente]

IDEncomenda

DataEncomenda

Produto

Quantidade

1

256

07-01-2010

CD

11

1

255

01-03-2010

Câmara SLR

15

2

254

01-03-2010

Orçamento Editor de Vídeo

27

Existem relações dentro de um modelo de dados — que criar explicitamente ou uma que automaticamente o Excel cria em seu nome ao importar várias tabelas em simultâneo. Também pode utilizar o suplemento PowerPivot para criar ou gerir o modelo. Consulte o artigo criar um modelo de dados no Excel para obter detalhes.

Se utilizar o suplemento PowerPivot para importar tabelas a partir da mesma base de dados, o PowerPivot poderá detetar as relações entre as tabelas com base nas colunas entre [parênteses retos] e poderá reproduzir essas relações num Modelo de Dados criado em segundo plano. Para mais informações, consulte Deteção Automática e Inferência de Relações neste artigo. Se importar tabelas a partir de várias origens, poderá criar relações manualmente conforme descrito 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, poderia relacionar uma tabela de clientes com uma tabela de Encomendas se cada contém uma coluna que armazena um ID de cliente. No exemplo, os nomes das colunas são os mesmos, mas não é um requisito. Uma possível IDCliente e outra NúmeroCliente, desde que todas as linhas na tabela Encomendas de contenham um ID que também é armazenado na tabela Customers.

Numa base de dados relacional, existem vários tipos de teclas. É uma chave normalmente coluna com propriedades especiais. Noções sobre a finalidade de cada chave pode ajudar a gerir um modelo de dados com várias tabelas que fornece dados a um relatório de tabela dinâmica, gráfico dinâmico ou Power View.

Apesar de existirem vários tipos de teclas, estes são mais importantes para o nosso objetivo aqui:

  • Chave primária: exclusivamente uma linha numa tabela, por exemplo, CustomerID na tabela Customers .

  • Alternativo chave (ou candidatos): uma coluna que não seja a chave primária que seja exclusiva. Por exemplo, uma tabela de empregados poderão armazenar um ID do funcionário e um número de segurança social, as duas situações que forem exclusivas.

  • Chave externa: uma coluna que referencia uma coluna exclusiva de outra tabela, por exemplo, CustomerID na tabela Encomendas , que se refere a CustomerID na tabela Customers.

Num modelo de dados, a chave primária ou chave alternativa é referido como a coluna relacionada. Se tiver uma tabela tanto uma chave primária e alternativa, pode utilizar qualquer um deles como a base de uma relação de tabela. A chave externa é referida como a coluna de origem ou de uma coluna apenas. No nosso exemplo, seria definida uma relação entre CustomerID na tabela Encomendas (a coluna) e CustomerID na tabela clientes (a coluna de pesquisa). Se importar dados a partir de uma base de dados relacional, por predefinição Excel seleciona a chave externa a partir de uma tabela e a chave primária correspondente a partir de outra tabela. No entanto, pode utilizar qualquer coluna que contém valores exclusivos na coluna de pesquisa.

A relação entre um cliente e uma ordem é uma relação um-para-muitos. Todos os clientes podem ter várias encomendas, mas uma ordem não pode ter vários clientes. É uma relação de tabela importantes outra. No nosso exemplo aqui, a tabela CustomerDiscounts , que define uma taxa de desconto única para cada cliente, tem uma mostram uma relação com a tabela clientes.

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

Relação

Tipo

Coluna de Referência

Coluna

Clientes-DescontosDeClientes

um-para-um

Clientes.IDDoCliente

DescontosClientes.IDDoCliente

Clientes-Encomendas

um-para-muitos

Clientes.IDDoCliente

Encomendas.IDDoCliente

Nota:  As relações muitos-para-muitos não são suportadas num 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 ter sido criada qualquer relação, Excel, normalmente, tem de recalcular quaisquer fórmulas que utilizam colunas de tabelas a relação recentemente criada. Processamento pode demorar algum tempo, consoante a quantidade de dados e a complexidade das relações. Para obter mais detalhes, consulte o artigo Recalcular fórmulas.

Um modelo de dados podem ter várias relações entre duas tabelas. Para criar cálculos precisos, o Excel tem um único caminho de uma tabela para outra. Por conseguinte, apenas uma relação entre cada par de tabelas está ativa cada vez. Apesar dos outros são inactivos, pode especificar uma relação inativa em fórmulas e consultas.

Na vista de diagrama, a relação ativa é uma linha contínua e aqueles Inativas são as linhas tracejadas. Por exemplo, no AdventureWorksDW2012, a tabela DimDate contém uma coluna, Chavededata, que está relacionada com três colunas diferentes na tabela FactInternetSales: DataDaEncomenda, DueDatee ShipDate. Se estiver a relação ativa entre Chavededata e DataDaEncomenda, que é a relação de predefinido em fórmulas, a menos que especifique caso contrário.

Uma relação pode ser criada quando os seguintes requisitos são preenchidos:

Critérios

Descrição

Identificador Exclusivo para Cada Tabela

Cada tabela tem de ter uma coluna única que identifique exclusivamente cada linha dessa tabela. Esta coluna é frequentemente chamada chave primária.

Colunas de Referência Exclusivas

Os valores de dados existentes na coluna de referência têm de ser exclusivos. Por outras palavras, a coluna não pode conter duplicados. Num Modelos de Dados, os nulos e as cadeias vazias são equivalente a um valor em branco, que é um valor de dados distinto. Isto significa que não pode ter vários valores nulos na coluna de referência.

Tipos de Dados Compatíveis

Os tipos de dados na coluna de origem e coluna de pesquisa devem ser compatíveis. Para mais informações sobre tipos de dados, consulte o artigo tipos de dados suportados em modelos de dados.

No Modelo de Dados, não é possível criar uma relação entre tabelas se a chave for uma chave composta. Está também restringido a criar relações um-para-um ou um-para-muitos. Os outros tipos de relação não são suportados.

Chaves compostas e colunas de pesquisa

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

Para criar uma relação entre duas tabelas que têm múltiplas colunas que define as chaves primárias e externas, combine pela primeira vez os valores para criar uma única coluna de chave antes de criar a relação. Pode fazê-lo antes de importar os dados ou através da criação de uma coluna calculada no modelo de dados utilizando o Power Pivot suplemento.

Relações de muitos-para-muitos

Um modelo de dados não pode ter relações de muitos-para-muitos. Não é possível adicionar simplesmente tabelas junção o modelo. No entanto, pode utilizar funções do DAX para relações de muitos-para-muitos modelos.

Associações automáticas e ciclos

As associações automáticas não são permitidas num Modelo de Dados. Uma associação automática é uma relação recursiva entre uma tabela e ela própria. As associações automáticas são frequentemente utilizadas para definir hierarquias principal-subordinado. Por exemplo, pode associar uma tabela Empregados a ela própria para produzir uma hierarquia que mostra a cadeia de gestão de uma empresa.

O Excel não permite a criação de ciclos entre relações num livro. Por outras palavras, o conjunto de relações seguinte é 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 tentar criar uma relação que resulte na criação de um ciclo, é gerado um erro.

Uma das vantagens da importação de dados com o suplemento PowerPivot é que o PowerPivot pode, por vezes, detetar relações e criar novas relações no Modelo de Dados que cria no Excel.

Quando importa várias tabelas, o PowerPivot deteta automaticamente quaisquer relações que existam entre as tabelas. Quando cria uma Tabela Dinâmica, o PowerPivot analisa os dados existentes nas tabelas. Ele deteta relações possíveis que possam não ter sido definidas e sugere colunas adequadas para incluir nessas relações.

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

  • Os tipos de dados existentes em todas as colunas relacionadas devem ser compatíveis. Na deteção automática, são suportados os tipos de dados de número inteiro e os tipos de dados de texto. Para mais informações sobre tipos de dados, consulte Tipos de dados suportados em Modelos de Dados.

  • Para que a relação seja detetada com êxito, o número de chaves exclusivas na coluna de pesquisa tem de ser maior que os valores na tabela no lado de muitos. Por outras palavras, a coluna chave no lado de muitos da relação não pode conter quaisquer valores que não estejam na coluna chave da tabela de pesquisa. Por exemplo, suponha que tem uma tabela que lista produtos com os seus IDs (a tabela de pesquisa) e uma tabela de vendas para cada produto (o lado de muitos da relação). Se os registos de vendas contiverem o ID de um produto que não tenha um ID correspondente na tabela Produtos, a relação não pode ser criada automaticamente, mas poderá conseguir criá-la manualmente. Para que o Excel detete a relação, tem de atualizar primeiro a tabela de referência Produto com os IDs dos produtos em falta.

  • Certifique-se de que o nome da coluna chave no lado muitos é semelhante ao nome da coluna chave na tabela de referência. Os nomes não necessita de ser exatamente o mesmo. Por exemplo, numa definição de negócio, muitas vezes tem variações nos nomes de colunas que contêm essencialmente os mesmos dados: ID de Emp, o campo IDdeEmpregado, ID do funcionário, id_empe assim sucessivamente. O algoritmo Deteta nomes semelhantes e atribui uma maior probabilidade essas colunas que tenham nomes semelhantes ou exatamente correspondentes. Por conseguinte, para aumentar a probabilidade de criar uma relação, pode tentar mudar o nome de colunas de dados que importar para algo semelhante ao colunas nas suas tabelas existentes. Se o Excel encontrar várias relações possíveis, em seguida, não cria uma relação.

Estas informações poderão ajudar a compreender o motivo pelo qual não são detetadas todas as relações ou de que modo as alterações nos metadados (por exemplo, nome do campo e tipos de dados) poderiam melhorar os resultados da deteção automática de relações. Para obter mais informações, consulte Resolução de Problemas de Relações.

Deteção automática para conjuntos nomeados

As relações são criadas automaticamente sempre que adiciona campos novos a uma Tabela Dinâmica ou Gráfico Dinâmico. Também pode configurar relações manualmente. Se pretender utilizar a deteção automática de relações, remova cada Conjunto com Nome e adicione os campos individuais do Conjunto com Nome diretamente à Tabela Dinâmica.

Inferência de relações

Em alguns casos, as relações entre tabelas são automaticamente encadeadas. Por exemplo, se criar uma relação entre os dois primeiros conjuntos de tabelas abaixo, é inferida a existência de uma relação entre as outras duas tabelas e é automaticamente estabelecida uma relação.

Produtos e Categoria -- criada manualmente

Categoria e Subcategoria -- criada manualmente

Produtos e Subcategoria -- a relação é inferida

Para que as relações sejam encadeadas automaticamente, as relações têm de ser um sentido, conforme mostrado acima. Por exemplo, se as relações iniciais fossem entre Vendas e Produtos e Vendas e Clientes, não seria inferida nenhuma relação. Isto acontece porque a relação entre Produtos e Clientes é uma relação de muitos-para-muitos.

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×