Part 5 - the final post in my enterprise data platform series - is up. This one is about what actually happened when we connected BI tools to the Views layer.
We had two tools: Tableau for the finance team's analytical workbooks, and Databricks Dashboards for operational reporting. Both connect to the same Unity Catalog views. No logic duplicated in either tool.
What the post covers:
- Live vs Extract tradeoffs - we defaulted to Live for everything and immediately hit 90-second query times from Tableau's generated SQL. Switched high-complexity analytical workbooks to scheduled Extracts
- The DECIMAL (18,2) precision issue - Tableau attempts to cast these to FLOAT in certain chart types, losing precision. Fixed with explicit CAST to DOUBLE in Tableau-specific view variants
- Partition scan problem - Tableau-generated queries bypassing partition pruning, and how embedding explicit WHERE predicates in view definitions fixed it
- Compute separation - batch Extract jobs competing with interactive queries at 9am, and why we split into dedicated Interactive and Batch SQL Warehouses
- Unity Catalog governing both tools from one definition - access controls, row filters, and column masking defined once, inherited by both tools automatically
The series wrap-up is in this post too - five parts condensed into one paragraph if you want the full picture before deciding which parts to read.
Full post on Medium: https://medium.com/@savlahanish/tableau-and-databricks-dashboards-from-one-gold-layer-no-duplication...
Happy to answer questions on any of the decisions - particularly around the Live vs Extract choice or the compute separation setup.