View in #general on Slack
@David_Peña: hey question for dbt users
does it make sense to use cube’s join relationships? or do you create a downstream model in dbt and expose that in cube? I’m leaning to keep all/most transformations in dbt, but wondering if there are any advantages or specific cases where it makes more sense to create a joined data model in cube
@Artyom_Keydunov: Hey @David_Peña
It is totally fine to join in dbt unless you need to access parts of transformed data separately and don’t want to re-build multiple transformations.
Consider a typical e-com dataset with Users, Orders, and Products. You can have everything joined starting from orders and make it a single cube. It can be used to calculate metrics like total order amount by user’s city for a specific product. But if you’d need to calculate the average age of the users buying a specific product you can’t reuse the same joined table because of the fan-out and you’d need to re-transform that table differently. If that is a common issue in your data model, it may be easier to have 3 cubes Users, Orders, Products in Cube and define join rules in Cube.
@David_Peña: makes sense, thanks a lot for the insights!!