A new section has been added to the Wiki on the Web Intelligence Calculation Engine Changes, see: https://wiki.scn.sap.com/wiki/display/BOBJ/SAP+BusinessObjects+Web+Intelligence+Calculation+Engine+Changes
Here is the new section:
Dimension Variables in the Body of a Cross-Table
Since Web Intelligence 4.0, dimension variables which are assigned to the body of a cross-table are automatically added to the vertical axis of that table. This will synchronize the axis of the table with its body content and thus, will prevent #MULTIVALUE errors. In XI 3.x, this was not the case and users had to manually add the variables to the axis of the table to prevent #MULTIVALUE errors.
Now, when dimensions with incompatible values are assigned to the axis of a same table, these values cannot be displayed and result in empty cells, whatever the type of the table. This situation can be observed when migrating a Web Intelligence XI 3.x document to version 4.x:
When an XI 3.x cross-table contains a dimension variable in its body and an incompatible dimension on one of its axis, then this table will be completely empty when migrated to version 4.x. This is because the variable dimension in the body will be automatically added to the table axis and since it is incompatible with the other dimension, this will result in empty cells (you need to modify the document to observe the 4.x behavior, after is has been migrated from XI 3.x).
- We have [Year] = “2001” from query 1 and [Year] = “2002” from query 2. The contents of these two dimensions are therefore incompatible.
2. We create a variable: var2 = [Query 2].[Year].
3. In Web Intelligence XI 3.1, assigning [Query 1].[Year] to one of the axis of a cross-table and var2 to its body will result in the following:
4. Once migrated to Web Intelligence 4.x, the same table will result in the following:
The reason is that, in Web Intelligence 4.x, var2 is automatically added to the vertical axis of the cross-table. And since its content is incompatible with [Query 1].[Year], then the table becomes empty.
5. Note that if [Year] from query 1 and query 2 are merged, then Web Intelligence XI 3.x will automatically display the content of the merged dimension in the body of the cross-table:
6. In Web Intelligence 4.x, the result will still be an empty table:
- If possible, the two dimensions should be merged and the merged object should be used in the body of the table. Since the merged object contains the values from both dimensions, then the table will no longer be empty in 4.x:
2. If merging the two dimensions is not possible, then the dimension variable in the body should be modified into a measure variable. Indeed, measures are not automatically added to the table axis.
In our example, defining var2 as a measure instead of a dimension will result in the same output than in Web Intelligence XI 3.x:
Versions where the behavior has changed:
- Since version 4.0