|
Blogs
I had previously written a very technically focused description of what values you can expect when two calculations intersect in a Voyager workspace (see the above URL). I have since come up with a much less technical explanation comparing Voyager to what you can do with Excel formulas. Imagine you have some data in Excel:
This leads to a problem when it comes to cell D6 as there is a choice of two formulas: either the percentage difference formula or the sum formula. The tie is broken by examining a property of the calculation called the solve order. The calculation with the highest value for the solve order property wins. So to get the correct answer in this situation we need the percentage difference calculation to have a higher solve order than the sum calculation. Unfortunately Voyager does not give the end user the ability to set the solve orders on calculations and all calculations are created with a predefined solve order. In the case of calculations that you create through the Voyager calculations dialogue all calculations are created with a solve order of 1. So if both calculations have a solve order of 1 which one wins? This unfortunately does not have a clear explanation so it could come out with the right or wrong answer depending on how lucky you are. The exception to this is the Voyager rollup calculation. This has special behavior as it has a lower solve order than any calculated member it interacts with (the roll up calculations uses the MDX AGGREGATE() function which has this special behavior). If instead of doing the sum of A and B in the above example, you do the rollup of A and B then you can guarantee that the percentage calculation will win. A deeper more technically focused explanation of this can be found here http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/16663 Reuben Cox is in development support at SAP specializing in the NetWeaver web infrastructure components. He was formerly part of Business Objects specializing in OLAP products. |