We sometimes need a “mega Explore” - an explore that joins several adjacent domains together (e.g. web traffic + deal stages + phone activity + orders + payments). It’s unlikely we need all of that information in any one chart, but it’s convenient that a savvy enduser can pull any field that they possibly could want for a given analysis, no matter how uncommon (e.g. web traffic + payments).
The question is: for our model, I see 2 approaches:
In some ways A seems better as we define the Joins just once in the mega-Explore and then only need to focus on filters to curate “simple Explores”. If a field is missing from a “Simple Explore”, we only need to modify the filter, as we know the mega-Explore has considered every possible Join. Also, the enduser would have no idea that their simple Explore was just a filtered version of the mega-Explore.
But….A also just strikes me as messy, not particularly modular, not particularly elegant code. The mega-Explore is huge and underlies every chart in our organization. In option B, the mega-Explore is only used when an enduser has an uncommon need (e.g. web traffic + payments).
Would love to know if anyone has thought through this before.