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
| Catálogo de produtos
|
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 de colunas internas e não as fontes de dados de tabela única.