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 venda Data da transação
1 100 01/10/2012
1 2000 02/10/2012
2 50 30/09/2012
3 10 21/08/2012

Catálogo de produtos

ID do produto (chave primária) Nome do produto
1 Tablet de 10 polegadas
2 Smart Phone
3 Lâmpada de mesa
4 Cartã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 produto Nome do produto ID do produto Valor da venda Data da transação
1 Tablet de 10 polegadas 1 100 01/10/2012
1 Tablet de 10 polegadas 1 2000 02/10/2012
2 Smart Phone 2 50 30/09/2012
3 Lâmpada de mesa 3 10 21/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!