Assumir a integridade referencial para uniões de colunas

Em alguns casos, você pode melhorar o desempenho da consulta selecionando a opção para Presumir integridade referencial do menu Dados. Quando você usar esta opção, o Tableau incluirá a tabela unida na consulta apenas se ela for especificamente referenciada pelos campos na exibição.

O uso dessa definição é apropriado quando você sabe que seus dados contêm integridade referencial (definição abaixo), mas seu banco de dados não impõe ou não pode impor integridade referencial. Você tem a opção de configurar a integridade referencial no seu banco de dados, que é melhor do que usar esta definição, já que aprimora o desempelho tanto do banco de dados, quanto do Tableau. A opção Pressupor integridade referencial no Tableau pode, somente, afetar o desempenho do Tableau. Se seus dados não contêm integridade referencial e você ativar esta configuração, os resultados da consulta podem não ser exatos.

Para entender o que é integridade referencial, imagine a conexão com dados de vendas que tenham duas tabelas: Vendas e Catálogo de produtos. Essas duas tabelas são mostradas abaixo:

Vendas

ID do produto (chave externa)Valor da vendaData da transação
110001/10/2012
1200002/10/2012
25030/09/2012
31021/08/2012

Catálogo de produtos

ID do produto (chave primária)Nome do produto
1Tablet de 10 polegadas
2Smart Phone
3Lâmpada de mesa
4Cartão de memória

Como todos os produtos vendidos devem ter uma listagem no Catálogo de produtos, todas as linhas na tabela Vendas têm uma linha correspondente na tabela Catálogo de produtos. Quando essas duas tabelas são unidas em ID do produto, você acaba com uma tabela semelhante a esta:

ID do produtoNome do produtoID do produtoValor da vendaData da transação
1Tablet de 10 polegadas110001/10/2012
1Tablet de 10 polegadas1200002/10/2012
2Smart Phone25030/09/2012
3Lâmpada de mesa31021/08/2012

Agora digamos que você crie uma exibição para observar o Valor da venda por região. Por padrão, arrastar o campo Valor da venda para a exibição pode criar uma consulta como esta:

SELECT SUM([Sales Amount]) FROM [Sales] S INNER JOIN [Product Catalog] P ON S.ProductID = P.ProductID

Ao selecionar a opção Pressupor integridade referencial, você informa ao Tableau que as tabelas unidas têm integridade referencial. Em outras palavras, você está confirmando que a tabela Vendas sempre terá uma linha correspondente na tabela Catálogo de produtos. Como isso é verdadeiro, o Tableau não precisa de nenhuma informação da tabela Catálogo de produtos para retornar esses resultados. Quando você arrasta o campo Valor das vendas até a exibição, o Tableau pode simplificar a consulta para:

SELECT SUM([Sales Amount]) FROM [Sales]

Esta consulta simplificada normalmente pode retornar resultados mais rápidos porque remove a operação de união. Essa opção afeta apenas as uniões internas e não as fontes de dados de tabela única.

 

Agradecemos seu feedback!Seu feedback foi enviado. Obrigado!