Olap Universe
Olap Universe
Olap Universe
December 2009
Version 1.5
Table of Contents
1 Introduction ..........................................................................................................................2
2 MDX Functions ....................................................................................................................3
2.1 Remarks and comments ...............................................................................................3
2.2 Samples and definition: SAP and Microsoft...................................................................3
2.3 SAP and Microsoft validation tests ................................................................................4
3 Calculated measures ...........................................................................................................6
3.1 Definition .......................................................................................................................6
3.2 Recommendations ........................................................................................................6
3.3 Use calculated measures in pre-defined filters ..............................................................6
3.4 Samples........................................................................................................................7
4 Universe pre-defined filters ..................................................................................................9
4.1 Filter operators..............................................................................................................9
4.2 Samples........................................................................................................................9
4.3 Other samples ............................................................................................................12
5 When using universe @functions .......................................................................................14
5.1 Using @Select function ...............................................................................................14
5.2 Using @Prompt function .............................................................................................14
5.3 Samples......................................................................................................................15
1 Introduction
XI R3.0 has been released in Q4 2007 with a high priority on OLAP data sources and especially
on Netweaver BI.
Many people are very familiar with the Semantic Layer on relational data sources but have not
the same skill level on OLAP data.
This document aims to provide a list of best practices and especially on how to enrich an OLAP
universe.
This document is especially focusing on SAP Netweaver BI and Microsoft Analysis Services.
For more information about MDX functions please have a look on the following link:
http://msdn2.microsoft.com/en-us/library/ms145970.aspx
3 Calculated measures
3.1 Definition
To define a Calculated Measure, users must create manually new Measures in the Universe.
Calculated Measures definitions are using MDX functions embedded in XML tags.
In order to create calculated measures, users must to create pure MDX expression embedded
in XML tags: <EXPRESSION></EXPRESSION>
In this new expression, we authorize to use any Designer function such as:
@Select
@Prompt
@Variable
The check integrity will validate the XML syntax and any of the Designer functions described
above.
No MDX parser is provided in this version of Universe Designer
This paragraph describes how to define calculated measures in MDX and using @Select and
@Prompt functions
3.2 Recommendations
We recommend using @Select as much as possible rather than the Measure definition for
multiple reasons:
@SELECT is always resolved at query time
Life Cycle Management only ensure integrity with generated objects not with objects
created by a user: @Select always guarantee the validity of the object
Check Integrity will only validate:
o XML tags
o Designer @Function
o Objects that reference Levels, Level Attributes or Measures only
Moreover you have to encode special characters in the calculated expression in order to have
the XML to be parsed correctly: this is due to a bug that will be fixed after Mira.
Example:
Calculated measure definition that can be Calculated measure definition that can
used in a result set be used in a filter
<EXPRESSION>IIF(CDate([Time].CurrentMembe <FILTER EXPRESSION="
r.MemberValue > CDate(“2006/01/01”), 1, IIF(CDate([Time].CurrentMember.Memb
0)</EXPRESSION> erValue >
CDate("2006/01/01"), 1,
0)"><CONDITION
OPERATORCONDITION="Equal"><CONSTANT
CAPTION="1"/></CONDITION></FILTER>
3.4 Samples
4.2 Samples
Requirement:
I want to select a member in a hierarchy but I don’t know to which level it belongs.
Solution:
Create a filter that contains all the hierarchy levels and select the following options
Optional prompt
No list of values
Prompt operator: Matches pattern
Global operator: OR
You can define any new object by entering its definition (MDX or Essbase) or by referencing an
existing object by using @Select function.
We recommend using @Select as much as possible rather than the object definition for multiple
reasons:
Life Cycle Management only ensure integrity with generated objects not with objects
created by a user: @Select always guarantee the validity of the object
@Select allow to define a level or part of it and to be reuse anywhere in the universe
@Prompt is a way to define parameters in the universe that will let users to choose among a list
of values/members one or multiple values.
Those parameters can be selected at query time by users to restrict the data to be retrieved: the
answers to these parameters can be mandatory or optional.
@Prompt can also be defined with default values.
Last these parameters can also be automatically added to the query with no user intervention:
they act like SAP variables (compulsory filters).
We recommend using widely @Prompt in universes because they provide a lot of flexibility
when building reports, queries, analysis or dashboards.
Moreover it is strongly recommended to use as much as possible @Prompt with QaaWS in
order to be consumed with XCelsius Enterprise
5.3 Samples
The table underneath shows samples of prompt usage in order to have queries more dynamic.