Our platform is a multi-tenant saas product with m...
# gd-beginners
Our platform is a multi-tenant saas product with most tables or their related tables having the tenant key on that table. What are the best recommendations for building visualizations etc. so that they are silod by tenant?
Hi Jeremy, Apologies, but I’m not sure if I understand your question. Could you please elaborate a bit more regarding “so that they are silod by tenant” ?
Did you mean “sorted” by tenant by any chance?
If that is the case, you might want to check Workspace hierarchy: https://www.gooddata.com/docs/cloud/workspaces/workspace-hierarchy/ And workspace data filters: https://www.gooddata.com/docs/cloud/workspaces/workspace-data-filters/
Hi Jeremy, this seems like an ideal case for GoodData actually. The best way would be to use the workspace hierarchy as mentioned by Julius. Let me try to briefly describe how to click all the features together to make it work: • define a “parent” workspace ◦ there connect your data and set up your logical data model ◦ within this parent workspace’s data model define a “Workspace Data Filter” and map it to the “tenant key” columns in your tables/datasets in the logical data model ◦ build your visualizations in this parent workspace • define a child workspace (with “parent” being their parent workspace) for each of your tenants (for which you want to have siloed analytics) ◦ for each such child workspace define workspaceDataFilterSetting with value if the tenant-key ◦ your child workspace will inherit all the data model and visualizations from the parent workspace ◦ any query into the dataset with WorkspaceDataFilter performed from the child workspace will have a filter applied based on the tenant-key • if you happen to have different databases for some (or all) your tenants, you can use the “unique data source per tenant” feature to override the database connection (while keeping the model and mapping) for a particular child workspace I hope this helps. Please let us know if you have any more questions. Thanks.
hi @Michal Hauzírek @Julius Kos thanks for the notes, i'll dig into these next. Sounds like the right direction and a great fit!
🙌 1