I have been implementing this design pattern in a couple of universes to enable my users to create reports including revenue plan and actual at different granularity levels without having to merge queries, but found a problem in it and want to see if I can get some suggestions on how to fix it.
For example, I have a “charge” fact that includes date, transaction id, service, net revenue, gross revenue, etc and another “plan” fact that includes month, service and revenue goal. I also have multiple levels of aggregation for my charge fact.
I create a many to one join between my “charge” fact (and different summary tables) and my “plan” fact based on month and service. Then, to solve the fan trap between these tables, I create an alias of plan and tie the plan measures to it. Contexts are setup as needed.
If my users drag and drop a plan measure, actual measure and the Plan Month (or only Plan dimensions), everything works perfectly. The issue is that, if they use actual measures, plan measures and an actual dimension (e.g., Charge Month, which is the same as the Plan Month), BO doesn’t know how to join the actual and the plan alias tables.
Should I just consider this an “acceptable” solution?
Should I not solve the fan trap between my plan an actual facts?
Thank you for your time and help!
riccarrasco (BOB member since 2010-03-10)