2 of 2 people found this helpful
- What database are we talking about?
- Do you only plan to extract the data?
If you are just going to extract the data then it does not really matter. All that Tableau will run is SELECT * FROM TABLE query, spiced up with extract filters if you have those. That's a straightforward request - join or view won't matter here so if you have a DBA that can create and maintain it - why not?
Now, if we'd go to live - it would purely depend on what backend you are dealing with and how does it handle views - how indexes are used, how caching is handled, how complex queries are handled (like subselects), how underlying metadata is reported etc. Tableau performs certain optimizations based on PK/FK presence, null-ability of columns so most of that might not be available anymore so question would be - can database engine handle complex generated queries Tableau might send it's way.
I, personally, would only consider views for following reasons:
- reusability (no need to join every time new workbook is created)
- complex operations that Tableau can't do (like union, rollup)
- Exposing proper data model to your users with proper names, must-have calculations etc
A tad (er, a lot) late, but thank you for your response!