Criar relações

Aplica-se a: SQL Server 2019 e posteriores do Analysis Services Azure Analysis Services Fabric/Power BI Premium

Nesta lição, você verifica as relações que foram criadas automaticamente quando você importou dados e adicionou novas relações entre tabelas diferentes. Uma relação é uma conexão criada entre duas tabelas que estabelece como os dados dessas tabelas devem ser correlacionados. Por exemplo, a tabela DimProduct e a tabela DimProductSubcategory têm uma relação com base no fato de que cada produto na tabela DimProduct pertence a uma subcategoria na tabela DimProductSubcategory. Para saber mais, consulte Relações.

Importante

Neste momento, o banco de dados padrão de exemplo AdventureWorksDW instalado com o AZURE SYNAPSE Analytics (SQL Data Warehouse) não tem relações entre tabelas descritas neste tutorial. Você precisará criar manualmente todas as relações. A criação manual de relações é descrita posteriormente nesta lição.

Tempo estimado para conclusão desta lição: 10 minutos

Pré-requisitos

Este artigo faz parte de um tutorial de modelagem tabular, que deve ser concluído na devida ordem. Antes de executar as tarefas nesta lição, você deve ter concluído a lição anterior: Lição 3: marcar como tabela de data.

Revisar relações existentes e adicionar novas relações

Ao importar dados usando Obter Dados, você obteve sete tabelas do banco de dados AdventureWorksDW. Geralmente, quando você importa dados de uma fonte relacional, as relações existentes são importadas automaticamente junto com os dados. Para que Get Data crie automaticamente relações no modelo de dados, deve haver relações entre tabelas na fonte de dados.

Antes de prosseguir com a criação de seu modelo, você deve verificar se essas relações entre tabelas foram criadas corretamente. Para este tutorial, você também adicionará três novas relações.

Para examinar relações existentes

  1. Clique no menu >ModeloExibiçãodeDiagrama de Exibição> de Modelo.

    O designer de modelo agora aparece na Exibição de Diagrama, um formato gráfico que exibe todas as tabelas que você importou com linhas entre elas. As linhas entre tabelas indicam as relações que foram criadas automaticamente quando você importar os dados.

    Captura de tela da exibição de diagrama do arquivo Model.bim.

    Observação

    Se você não vir relações entre tabelas, provavelmente significa que não há nenhuma relação entre essas tabelas na fonte de dados.

    Inclua o maior número possível de tabelas usando os controles de minimapa no canto inferior direito do designer de modelos. Você também pode clicar e arrastar tabelas para locais diferentes, colocando-as mais próximas umas das outras ou colocando-as em uma ordem específica. A movimentação de tabelas não afeta as relações já existentes entre elas. Para exibir todas as colunas em uma tabela específica, clique e arraste uma borda de tabela para expandi-la ou diminuí-la.

  2. Clique na linha sólida entre a tabela DimCustomer e a tabela DimGeography. A linha sólida entre essas duas tabelas mostra que essa relação está ativa, ou seja, ela é usada por padrão ao calcular fórmulas DAX.

    Observe que ambas a coluna GeographyKey na tabela DimCustomer e a coluna GeographyKey na tabela DimGeography aparecem agora cada uma dentro de uma caixa. Essas colunas são usadas na relação. As propriedades da relação agora também aparecem na janela Propriedades .

    Dica

    Você também pode usar a caixa de diálogo Gerenciar Relações para mostrar as relações entre todas as tabelas em um formato de tabela. Em Explorer de Modelo de Tabela, clique com o botão direito do mouse em Relações>Gerenciar Relações.

  3. Verifique se as seguintes relações foram criadas quando cada uma das tabelas foi importada do banco de dados AdventureWorksDW:

    Ativo Tabela Tabela de Pesquisa Relacionada
    Yes DimCustomer [GeographyKey] DimGeography [GeographyKey]
    Yes DimProduct [ProductSubcategoryKey] DimProductSubcategory [ProductSubcategoryKey]
    Yes DimProductSubcategory [ProductCategoryKey] DimProductCategory [ProductCategoryKey]
    Yes FactInternetSales [CustomerKey] DimCustomer [CustomerKey]
    Yes FactInternetSales [ProductKey] DimProduct [ProductKey]

    Se qualquer uma das relações estiver ausente, verifique se o modelo inclui as tabelas a seguir: DimCustomer, DimDate, DimGeography, DimProduct, DimProductCategory, DimProductSubcategory e FactInternetSales. Se as tabelas da mesma conexão de fonte de dados forem importadas em momentos separados, todas as relações entre essas tabelas não serão criadas e deverão ser criadas manualmente. Se nenhuma relação aparecer, isso significa que não há nenhuma relação na fonte de dados. Você pode criá-los manualmente no modelo de dados.

Veja uma análise mais detalhada

No modo de Exibição de Diagrama, você observará uma seta, um asterisco e um número de linhas que mostram a relação entre as tabelas.

Captura de tela da exibição de diagrama com as setas, os asteriscos e os números realçados.

A seta mostra a direção do filtro. O asterisco mostra que essa tabela é o lado muitos na cardinalidade da relação e a que mostra essa tabela é o lado único da relação. Se você precisar editar uma relação; Por exemplo, alterar a direção de filtragem ou de cardinalidade da relação, clique duas vezes na linha de relação para abrir a caixa de diálogo Editar Relação.

Captura de tela da caixa de diálogo Editar Relação com as opções DimCustomer e GeographyKey realçadas para a Tabela 1 e a Tabela 2.

Esses recursos são destinados para modelagem de dados avançada e estão fora do escopo deste tutorial. Para saber mais, consulte filtros cruzados bidirecionais para modelos tabulares no Analysis Services.

Em alguns casos, talvez seja necessário criar relações adicionais entre tabelas no modelo para dar suporte a determinadas lógicas de negócios. Para este tutorial, você precisa criar três relações adicionais entre a tabela FactInternetSales e a tabela DimDate.

Para adicionar novas relações entre tabelas

  1. No designer de modelo, na tabela FactInternetSales , clique e segure na coluna OrderDate , arraste o cursor até a coluna Data na tabela DimDate e solte.

    Uma linha sólida é exibida mostrando que você criou uma relação ativa entre a coluna OrderDate na tabela Vendas pela Internet e a coluna Data na tabela Data .

    Captura de tela do designer de modelo com OrderDate e Date em destaque mostrando a linha sólida entre as tabelas.

    Observação

    Ao criar relações, a direção de cardinalidade e de filtragem entre a tabela primária e a tabela de pesquisa relacionada é selecionada automaticamente.

  2. Na tabela FactInternetSales, clique na coluna DueDate e mantenha o botão do mouse pressionado sobre ela; em seguida, arraste o cursor para a coluna Data na tabela DimDate e solte.

    Uma linha pontilhada é exibida mostrando que você criou uma relação inativa entre a coluna DueDate na tabela FactInternetSales e a coluna Date na tabela DimDate . Você pode ter várias relações entre tabelas, mas somente uma relação pode estar ativa por vez. Relações inativas podem passar a ficar ativas para executar agregações especiais em expressões do DAX personalizadas.

  3. Por fim, crie mais uma relação. Na tabela FactInternetSales, clique na coluna ShipDate e mantenha o botão do mouse pressionado sobre ela; em seguida, arraste o cursor para a coluna Data na tabela DimDate e solte.

    Captura de tela do designer de modelo com ShipDate e Date destacados.

Próxima etapa

Lição 5: criar colunas calculadas