Comprehensive and Detailed Explanation From Exact Extract:
The key requirement is:
✔ Data must remain at the original grain in Tableau Prep
✔ Tables are at different granularities
Tableau Prep does NOT support relationships, and automatically joins tables, which changes granularity (by duplicating or aggregating records).
Therefore, relationships (Option B) cannot preserve grain for Prep.
Also:
A physical join (Option D) changes the grain by combining rows, often multiplying results when grain differs.
Only two options preserve the original granularity:
Option A — Two Separate Published Data Sources
Each data source represents one table.
In Tableau Prep, the user can choose:
Use tables separately
Join or clean them intentionally
Keep each table at its own grain
This keeps all data at its native level.
Option C — Virtual Connection
A Virtual Connection:
Publishes entire tables from the database
Maintains each table independently at its native granularity
Makes all tables available to Tableau Prep without altering grain
Is specifically designed for governed, reusable multi-table access
Thus, it satisfies the requirement exactly.
Why the others are incorrect:
B — Relationship
Relationships only exist in Tableau Desktop logical layer, NOT in Tableau Prep.
Prep flattens the data → grain is lost.
D — Physical join
Always modifies granularity when tables differ, often causing row multiplication.
Tableau Prep does not support logical relationships; only physical joins.
Virtual Connections preserve original tables and governance.
Published Data Sources can be separated to maintain original grain.