I have a fact table called "FactActivity" and a few dimension tables like users, clients, actions, date and tenants. I create measure groups corresponding to each of them as follows
- FactActivity => Sum of ActivityCount colums
- DimUser => Count of rows
- DimTenant => Count of rows
- DimDate => Count of rows and distinct count of weekofyear column
Each user can do multiple actions using multiple clients. A tenant is logical grouping of users. So a tenant contain multiple users but a user can't belong to more than 1 tenant. All the dimension tables and fact tables are connected to DimDate via regular relationship.
The cube structure is as follows.
Now I want to defined the dimension relationships to each of the measure group. Some of them are Many-Many relationsip (to enable distinct count calculation). The designer is showing me multiple options to choose from for many of the intersections. I'm confused as to which one to select as intermediate measure group. Should I always pick the measure group whose total # rows is the least ex: DimDate? Or what is the right logic to determine the intermediate measure group.
This is what I got. IS this right? If no, what is wrong?
For more information to hep choose the right answer.
- FactActivity = 1 billion rows
- DimUser = 35 million rows
- DimTenant = 1 million rows
- DimDate = 1000 rows