I'm wondering if there are any performance implications from adding a lot of calculated members to my cube. On one hand, it's nice to have things defined once, located centrally, tested, and available for use from any client which doesn't support MDX. On the other hand, some of these members I'm adding might not be used very frequently, so I could just inline them in the one or two reports that might need them.
Aside from the clutter of having unnecessary members hanging around, should I keep the number of calculated members as small as possible? Will more increase cube processing time? Will they slow down queries which don't use those calculated members?
Calculated members have little to no effect on processing nor on other queries. Add as many as you'd like!
The reason is that they're just defined on the cube, but actually evaluated at runtime. Therefore, the only queries that will be slowed or affected by them are queries that use them. Expect them to return a bit slower than native members for this reason, also.
Look for every opportunity to make the calculated member an actual part of your cube if it's used very frequently. Also, learn and love the scope
statement. While a calculated member that's scope
d is still calculated at runtime, the scope
statement provides it a ready-made execution plan, so it tends to be faster. I will often create a member in the DSV and then scope
it for my high-volume calculated members.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With