Hey Keith -
A related field is necessary to "link" your (one or more) secondary data sources to your primary data source via blending. If you don't have those related fields, "do not pass go".
Question: If this schema is already expressed as a snowflake in MySQL, it seems like you're making your life more difficult by splitting things up across multiple data data sources -- especially if you're going to extract this stuff anyway.
Why not just just join everything up, extract it all in one data source and use that? I suspect there's a reason you're not doing this, and it would be helpful to understand why.
Thanks for your response. I understand that a link requires a related field and I have all the related fields laid out in the scheme shown above. PowerPivot allows you to link ANY two tables via a related field. Each of the arrows is a link between two related fields. That is what I am trying to achieve in Tableau.
The set up within the database is not a snowflake scheme. It is far more convoluted! Within Tableau I am doing an extract from MySQL and some of them are joined so as to avoid having to use too many links. But whilst that works for a few tables, it absolutely does not work when the tables are large and the relationship between them is complex. If I did a join across all the tables I need I would have something that ran well into hundreds of millions of rows (perhaps even a billion!). That doesn't seen efficient to me and there is a reason why most databases don't work like that. Further, I couldn't actually do a join across the data I need in order to make one massive table because of the nature of the relationships between the tables in the database.
Perhaps I didn't explain why I used the example above from PowerPivot. I did that because it's extremely easy to link many many many data sources in PowerPivot and also to try and show what I'd like to achieve in Tableau. The snowflake scheme I showed in my example is not in a database, it is one I created in PowerPivot using multiple data sources which are all linked in some way or another.
All I want to be able to do is link A to B (via a related field) and then link B to C (via a related field) and then link C to D (via a related field). In this situation it may not be possible to link A to D because there is no related field.
Sorry if it sounds like I'm repeating myself! I'm very much aware that I'm struggling to clearly articulate the problem!
Hey Keith -
I’m with you. Tableau doesn’t allow the sort of arbitrary joining you’re able to accomplish in PowerPivot except via a Custom SQL Statement, which you don’t want to do based on what you’ve already said.
That leaves you with blending, which requires relationships to drive said links…and you don’t always have those, either. Perhaps you can create multiple data sources that ALWAYS express some sort of related field so you can “link” them back together again via blends? In other words, purposefully add the same table to multiple data sources as a way to artificially get your “relationship” in?
Otherwise, the only other think I can think of would be to just point Tableau at your PowerPivot model and be done with it