pbPassingBI
/

What is Assume referential integrity?

advanced
Answer

It is a setting under the Data menu that tells Tableau every row on one side of a join is guaranteed to have a match on the other.

When it is on, Tableau can leave joined tables out of a query entirely if no field from them appears in the view. On a wide join that can cut query time noticeably, because the database is asked to do less work.

The risk is that it is a promise, not a check. If the relationship does not actually hold, you get silently wrong numbers rather than an error — rows that should have been dropped are counted, or the reverse.

So enable it only where the data genuinely enforces the relationship, typically because the database has a foreign key constraint. A slow query is a much better outcome than a wrong one.

Related questions