![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
#3
| |||
| |||
|
#4
| |||
| |||
|
| Is there a way to create an aggregation for a calculated member? I thought that aggregations were created only for regular measures. |
#5
| |||
| |||
|
#6
| |||
| |||
|
#7
| |||
| |||
|
#8
| |||
| |||
|
|
This is a problem with the architecture of MSOLAP. It is not meant to handle dynamic queries that rely on aggregating the data from the leaf cells at each aggregation, and because MSOLAP does not cache intermediate aggregated values from a calculated member, it ends up calculating decendents for decendents for decendents for decendents and it takes forever. How I had to solve the problem, though, I will admit it is not pretty, is to back into the calculation from a different angle. For example: If you want to calculate Revenue from Price * Volume, rather than storing Price and Volume in the cube, store Volume and Revenue, use your client application to calculate what Revenue should be placed in the cube, and use the cube to calculate the Price. This solves several problems: 1. Performance is extremely FAST 2. You don't have to worry about calculating average price, because it is intrinsic in the basic formula. However, this approach is not without problems. It forces decentralization of business rules and it complicates the overall application, especially when the price gets used in multiple measures. OUCH! In the vicious triangle when performance reigns, this approach does work! |
![]() |
| Thread Tools | |
| Display Modes | |
| |