Mapear campos com relações em fluxos de dados padrão

Observação

A partir de novembro de 2020:

  • Common Data Service foi renomeado para o Microsoft dataverso. Saiba mais
  • Alguma terminologia no Microsoft dataverso foi atualizada. Por exemplo, a entidade agora é tabela e o campo agora é coluna. Saiba mais

Este artigo será atualizado em breve para refletir a terminologia mais recente.

No fluxo de dados padrão, você pode mapear facilmente campos da consulta de fluxo de dados para tabelas do Dataverse. No entanto, se a tabela Dataverse tiver campos de pesquisa ou de relação, será necessária consideração adicional para garantir que esse processo funcione.

Qual é a relação e por que você precisa disso?

Se você estiver vindo de uma experiência de desenvolvimento de banco de dados, você está familiarizado com o conceito de uma relação entre tabelas. No entanto, muitos usuários Microsoft Power Platform serviços de serviço não são provenientes desse plano de fundo. Você pode se perguntar qual é a relação ou por que deve criar uma relação entre tabelas.

As tabelas e sua relação são conceitos fundamentais de criação de um banco de dados. Para saber tudo sobre relações está além do escopo deste artigo. No entanto, discutiremos isso de maneira geral aqui.

Digamos que você queira armazenar informações sobre clientes e seus detalhes, incluindo região, no Dataverse. Você pode manter tudo em uma tabela. Sua tabela pode ser chamada de Clientes e pode conter campos, como CustomerID, Name, Birthdate e Region. Agora imagine que você tenha outra tabela que também tenha as informações do armazenamento. Essa tabela pode ter campos, como ID da Store, Nome e Região. Como você pode ver, a região é repetida em ambas as tabelas. Não há um único lugar em que você possa obter todas as regiões; alguns dos dados da região estão na tabela Clientes e alguns deles estão na tabela Stores. Se você criar um aplicativo ou um relatório com base nessa informação, sempre terá que combinar as informações das duas regiões em uma.

Duas tabelas sem nenhuma relação.

O que é feito na prática de design de banco de dados é criar uma tabela para Região em cenários como o descrito acima. Esta tabela Região teria uma ID da região, nome e outras informações sobre a região. As outras duas tabelas (Clientes e Lojas) terão links para essa tabela usando um campo (que pode ser id da região se temos a ID em ambas as tabelas ou Nome se for exclusivo o suficiente para determinar uma região). Isso significa ter uma relação da tabela Lojas e Clientes com a tabela Região.

Relações usando um campo de busca.

No Dataverse, há várias maneiras de criar uma relação. Uma maneira é criar uma tabela e, em seguida, criar um campo em uma tabela que seja uma relação (ou uma busca) com outra tabela, conforme descrito na próxima seção.

O que são campos de lookup ou de relação?

No Dataverse, você pode ter um campo definido como um campo de pesquisa, que aponta para outra tabela.

Campo de busca.

Na imagem anterior, o campo Região é um campo de busca para outra tabela chamada Region Lookup. Para saber mais sobre diferentes tipos de relações, acesse Criar uma relação entre tabelas.

Quando o mapeamento de campo não mostra os campos de relação

Se você criou um campo de pesquisa em uma tabela que aponta para outra tabela, esse campo pode não aparecer no mapeamento do fluxo de dados. Isso porque cada entidade requer um campo Chave. Essa melhor prática garantiria que o campo seja mappable nos mapeamentos de tabela do fluxo de dados.

Definindo o campo Chave na tabela

Para definir o campo de chave na tabela, vá para a guia Chaves e adicione uma chave a um campo que tenha valores exclusivos.

Definir um campo de chave.

Depois de definir o campo de chave, você poderá ver o campo no mapeamento do fluxo de dados.

O campo de chave exibido em Mapeamento de campo.

Limitações conhecidas

  • No momento, não há suporte para o mapeamento para campos de lookup polimórficos.