Database Reference
In-Depth Information
Dimension calculations
In addition to the AggregateFunction property of a measure, there are many
other ways of controlling how measures aggregate up. Apart from writing code
in the MDX Script, (which we'll talk about in Chapter 6 , Adding Calculations to the
Cube , although a full treatment of this topic is outside the scope of this topic), these
methods involve different types of dimension calculations.
Unary operators and weights
In a similar way to how you can control semi-additive aggregation with the
ByAccount aggregation type, you can control how members on a hierarchy
(usually parent/child, but not necessarily) aggregate up to their parents by defining
unary operators. To do this, you must create a new column in your dimension table
to hold the unary operator values and then set the attribute's UnaryOperatorColumn
property to point to it.
The unary operators supported are as follows:
+ : This means that the member's value contributes as a positive value to its
parent's total
- : This means that the member's value contributes as a negative value to its
parent's total
* : This means that the member's value is multiplied with the value of the
previous member in the level
/ : This means that the member's value is divided by the value of the previous
member in the level
~ : This means the member's value is ignored when calculating the value of
the parent
Any numeric value, which works the same as + , but where the numeric value
is multiplied by the member's value first
Let's take a look at a simple example of this working. Once you've defined some
unary operators, you can see which members have certain operators in the Browser
tab of Dimension Editor, as shown in the following screenshot:
 
Search WWH ::




Custom Search