You are on page 1of 40

Creating Hybrid OLAP/Relational OBIEE Models

Mark Rittman, Director, Rittman Mead Venkatakrishnan Janakiraman, BI Architect, Oracle


T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Who Are We?


Mark Rittman is Technical Director at Rittman Mead ! Oracle ACE Director, 12 Years+ of Oracle BI experience ! Author of forthcoming Oracle Press OBIEE+ book ! Consultant and Trainer, based in the UK ! Blog at http://www.rittmanmead.com/blog Venkatakrishnan Janakiraman is BI Architect at Oracle Corporation ! Over 6+ Years of Oracle BI Implementation/Training experience ! BI Architect, Based out of Oracle India ! Blog at http://oraclebizint.wordpress.com

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Rittman Mead Consulting Oracle BI&DW Project Specialists providing consulting, training and support Clients in the UK, USA, Europe, Middle-East Voted UKOUG BI Partner of the Year 2008 Consultants in Europe and North America Regular speakers at user group and Oracle events

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Oracle Business Intelligence Enterprise Edition Plus

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Oracle BI Server
Calculation and Data Integration Engine ! Virtual Data Warehouse ! Allows reporting across multiple sources ! Data accessed though metadata layer Connects to RDBMS and OLAP data ! Oracle Database (including Oracle OLAP) ! IBM DB2 ! Microsoft SQL Server ! Teradata ! Microsoft Analysis Services (OLAP) ! SAP BW 'info cubes' Security, Summary Management Translates incoming logical SQL in to optimized, physical SQL or MDX
T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Data Access and the Semantic Object Layer


Reporting data may be sourced from multiple databases, applications ! Oracle Database (including Oracle OLAP) ! IBM DB2 ! Microsoft SQL Server ! Teradata ! Microsoft Analysis Services (OLAP) ! SAP BW 'info cubes' ! SAP, Peoplesoft, Siebel, E-Business Suite Oracle BI Server joins this source data together and presents a logical business model ! Facts, Dimensions, Calculations ! Joins, Presentation folders
T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Essbase Overview
Standalone OLAP server now owned by Oracle ! Acquired as part of the Hyperion Acquisition Adds a fully-featured OLAP server, separate to the database, as part of the Fusion Middleware family of products End-User focused, very popular with business users Used to power many of the Hyperion performance management applications Similar capabilities to Oracle OLAP Supports MDX and XML/A rather than SQL access

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Essbase and Oracle Business Intelligence Enterprise Edition


Essbase is a key part of Oracles Business Intelligence Foundation Layer Essbase and Hyperion EPM can play several roles in this architecture ! As a data source ! As a data consumer ! As a portal for all Oracle BI ! As a MS Office integration point Essbase can benefit from Oracle BI Enterprise Semantic Model OBIEE can benefit from Essbase calculations and analytics

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Essbase as Data Provider and Data Consumer

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

OBIEE to Essbase Connectivity


The Oracle BI Server connects to Essbase via the Essbase Client API ! Low-level access, potential support for writeback ! Precludes the use of Provider Services (implications for clustering) Essbase Client needs to be installed on the BI Server server ! And potentially on the workstation running Oracle BI Administrator BI Server generates MDX which is sent to Essbase Able to leverage Essbase MDX functions Time Series calculations are function shipped to MDX Some (limited) support for Essbase filters, ragged hierarchies, substitution variables etc OBIEE 10g+Essbase integration is a work in progress, some issues to be aware of

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Importing Essbase Data into Oracle BI Enterprise Edition: Step 1


Essbase cube metadata (Outline) is imported into BI Server Semantic Model using Oracle BI Administrator tool Connection is via the Essbase Client API Enter connection details (typically admin account for import, switch later on) Select application and database to import

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Importing Essbase Data into Oracle BI Enterprise Edition: Step 2


Import process creates the Physical Model within the Semantic Layer This is then dragged and dropped into the Business Model and Mapping Layer, and then the Presentation Model layer ! Logical tables and dimensions are automatically created ! Measure aggregations set to AGGR_EXTERNAL Essbase generations converted to dim columns Essbase measures converted to fact measures

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Demonstration
Importing an Essbase Outline into Oracle BI Administrator

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Creating Federated (Hybrid) Models


One of the most powerful features in the BI Server it is ability to combine data sources Multiple data sources presented as a single business model Works across both relational and non-relational sources ! Oracle BI Server converts non-relational sources into relational views In terms of Essbase integration there are two main use-cases: 1.Providing drill-down from an Essbase-based model to detail-level relational data 2.Combining MOLAP and relational measures into a single business model

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Drill-Through From Essbase to Relational: Step 1


Start by initially mapping in the Essbase data source into the business model Each logical table will then have a single Logical Table Source mapping to Essbase The screenshot below is of the logical fact table It is currently mapped to the lowest dimension levels provided by the Essbase source Check that any measure aggregations are supported by both relational and Essbase sources

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Drill-Through From Essbase to Relational: Step 2


Bring in the new relational source into the physical layer Drag and drop the new relational physical tables across to the business model to create new Logical Table Sources ! Drop each relational column onto the corresponding (originally Essbase-derived) logical columns ! Tells the BI Server that either source can provide this data item (i.e. creates joins)

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Drill-Through From Essbase to Relational: Step 3


Ensure that the relational LTS provides all the same dimension columns as the Essbase LTS Gen1 columns will need to be mapped to a literal based on the dimension name

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Drill-Through From Essbase to Relational: Step 4


Time dimensions will need special handling ! Relational sources do not need to ensure unique time period names across the dimension ! Essbase (normally) requires that all member names are unique across the dimension ! You will therefore usually need to transform the relational names to match the Essbase ones

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Drill-Through From Essbase to Relational: Step 5


Map in the relational dimension source that contains more detail Note: you can also use your relational source to add additional attributes to the dimension Useful for enhancing Essbase data that usually consists of just IDs and names

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Drill-Through From Essbase to Relational: Step 6


Ensure logical dimension table logical key contains the new detail level Then add new leaf level to the associated dimension

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Drill-Through From Essbase to Relational: Step 7


Finally, ensure that the new relational (more detailed) LTS has the dimension leaf level as the logical level This ensures that the BI Server will use this source when drilling down to transactional level

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Drill-Through From Essbase to Relational: Step 8


Reports that then run at the aggregated level will automatically use Essbase This is because it is mapped in to the Customer dimension at a higher (non-leaf) level

With set [Channel3] as '[Channel].Generations(3).members' set [Customers5] as '[Customers].Generations(5).members' select { [Measures].[Amount] } on columns, NON EMPTY {crossjoin ({[Channel3]},{[Customers5]})} properties ANCESTOR_NAMES, GEN_NUMBER on rows from [SH.SH]

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Drill-Through From Essbase to Relational: Step 9


Reports where the user drills to transaction level then switch the relational source This happens because the relational source is the only one that can provide customer data at the required level
select D1.c1 as c1, D1.c2 as c2, D1.c3 as c3, D1.c4 as c4, D1.c5 as c5, D1.c6 as c6, D1.c7 as c7 from (select T1915.COUNTRY_NAME as c1, T1927.CUST_CITY as c2, T1927.CUST_EMAIL as c3, T1927.CUST_CREDIT_LIMIT as c4, concat(concat(T1927.CUST_FIRST_NAME, ' - '), T1927.CUST_LAST_NAME) as c5, T203.CHANNEL_CLASS as c6, sum(T1960.AMOUNT_SOLD) as c7, T1927.CUST_ID as c8 from COUNTRIES T1915,CUSTOMERS T1927, CHANNELS T203,SALES T1960 where ( T203.CHANNEL_ID = T1960.CHANNEL_ID and T1915.COUNTRY_ID = T1927.COUNTRY_ID and T1915.COUNTRY_NAME = 'Australia' and T1927.CUST_CITY = 'Darwin' and T1927.CUST_ID = T1960.CUST_ID ) group by T203.CHANNEL_CLASS, T1915.COUNTRY_NAME, T1927.CUST_CITY, T1927.CUST_CREDIT_LIMIT, T1927.CUST_EMAIL, T1927.CUST_ID, concat(concat(T1927.CUST_FIRST_NAME, ' - '), T1927.CUST_LAST_NAME) ) D1 order by c1, c2, c3, c4, c5, c6

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Demonstration
Drill to Detail using Essbase and Relational Sources

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Data Model Federation Considerations & Limitations


Only Essbase outlines that are balanced and level-orientated can be federated Unbalanced/ragged hierarchies do not consistently map to BMM columns Therefore Essbase cubes that look like relational cubes are the best to federate Typically sales analysis, and cubes built to support OBIEE There is no refresh facility to bring in changed outlines into OBIEE Therefore only stable outlines are suitable for OBIEE No issues over ASO, BSO etc Versions of Essbase supported back to 7.x

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Use Case #2 : Combining Essbase and Relational Measures


You may have actuals data in a relational database, and forecast/budget data in Essbase It would be useful to report on these in a combined business model Measures of the same dimensionality can go in the same fact table Measures of differing dimensionality go in separate fact tables Users see a single combined data source Oracle BI Server combines the data at runtime

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Leveraging Essbase Calculations


When Essbase is used as a data source, it is possible to leverage its Essbase MDX functions ! Make use of cross-dimensional selections, forecasts, allocations, statistical functions Access is provided through the EVALUATE and EVALUATE_AGGR functions ! EVALUATE used to return dimension attributes (rank, value etc) ! EVALUATE_AGGR used to return aggregated values (sum etc)
EVALUATE_AGGR('(%1,Customers.dimension.currentmember).value/ Count(Customers.dimension.currentmember.children)', "vejanaki-lap.in.oracle.com"."SH".""."SH"."Amount")

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Adding an Essbase MDX Calculation To the Business Model


Firstly, add a new logical column to the business model Then edit the LTS to add the EVALUATE(_AGGR) expression, using Essbase MDX function

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Demonstration
MDX Calculations and EVALUATE

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Essbase and Time-Series Calculations


Oracle BI Administrator enables you to mark a dimension as a Time Dimension Makes it then possible to use Time-Series calculations ! AGO provides the value of a measure by a time offset ! TODATE gives you the value of a measure from a time offset to now The Oracle BI Server function-ships these to the appropriate Essbase MDX function Generally more efficient than the equivalent SQL query
With set [Times5] as '{[Times].[01-Apr-1998], [Times].[02-Apr-1998] member [Measures].[MS1] as 'SUM({ParallelPeriod([Times]. [Gen5,Times],1, [Times].currentmember)},Measures.[Quantity])' select { [Measures].[Quantity], [Measures].[MS1], [Measures].[MS2] } on columns, NON EMPTY {{[Times5]}} properties ANCESTOR_NAMES, GEN_NUMBER on rows from [SH.SH]

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Essbase Function Shipping Considerations


Only a few Oracle BI Server functions are automatically function-shipped to MDX ! Time Series functions: AGO and TODATE All others are performed by the BI Server ! MOLAP data is retrieved from Essbase via MDX ! BI Server performs calculations (simple mathematics through to RANK etc) In this initial release, you may wish to perform complex analytical functions using MDX and EVALUATE / EVALUATE_AGGR Future releases will function-ship more to MDX?

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Using Essbase as An Aggregation Layer


Essbase can also be used as an alternative to the Aggregate Persistence Wizard or summary tables to speed up relational queries requiring aggregation Business model will have originally been sourced from a relational database The relational data is then loaded into an Essbase database and aggregated Essbase database is then plugged in to the business model at the correct aggregation level In OBIEE 10g / EPM 11.1, this can be performed using Essbase Studio In OBIEE 11g, this is planned to be an automated process

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

OBIEE as a Data Source Considerations


Data is unlikely to transform naturally into an Essbase cube ! Non-unique keys ! Presentation layer may not even feature keys ! Illegal characters Will require key values to be exposed, then transformed and aliases added Currently several manual steps Process likely to be automated in future release of OBIEE

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Leveraging HSS and Essbase Security


The initial import into BI Administrator was through the admin Essbase account Going forward, you may wish to leverage Essbase and HSS security in two ways ! Use HSS login to connect to OBIEE (optionally through EPM Workspace) ! Use Essbase login for Essbase connection pool in BI Administrator Allows single sign-on between EPM and OBIEE Allows you to use Essbase filters, cube security

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Connection Pools and Essbase Logins : Step 1


Normal way to leverage DB security is to use :USER and :PASSWORD in connection pool settings ! but OBIEE 10.1.3.4+ adds @Directory Name to :USER when HSS security is used Login to Essbase will then fail

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Connection Pools and Essbase Logins : Step 2


To address this, firstly create a custom Init Block to capture :USER into INITUSER session variable before HSS authentication can add directory name Use VALUE_OF(NQ_SESSION.INITUSER) to pass across user credentials Note : EPM Workspace login does not pass :PASSWORD value through, cannot SSO to Essbase server, need to use BI Server filters instead

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Connection Pools and Essbase Logins : Step 3


Use VALUE_OF(NQ_SESSION.INITUSER) to pass across user credentials Note : EPM Workspace login does not pass :PASSWORD value through, cannot SSO to Essbase server, need to use BI Server filters instead OBIEE 10.1.3.4.1 required for use of Essbase filters (handles #NoAccess properly) ! Warning - reports of performance issues & problems when using this 10.1.3.4.1 or 10.1.3.4 with 7349048 patchset - Performance drop compared to 10.1.3.4 - Grand Totals stop working - Reports and graphs come up empty - Need to include all filter columns in criteria etc ! Recommendation, if possible, is to use 10.1.3.4 and BI Server filters instead

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Demonstration
Configuring Essbase Security

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Conclusions
Essbase can significantly add to the capabilities of Oracle BI Enterprise Edition The Oracle BI Server can report against Essbase in isolation, or integrated with relational data Essbase can provide the aggregated data, the relational database can provide detail MOLAP and ROLAP measures can be combined into a single federated model The Oracle BI Server provides access to native Essbase MDX functions However, there are many issues and bugs to be aware of, this is an unfinished work Works best when your Essbase cube looks like a ROLAP cube, has a stable outline and security is handled by OBIEE Watch out for two otherwise working features not working in combination For more information, check out the accompanying white paper, and our blogs: ! http://www.rittmanmead.com/blog ! http://oraclebizint.wordpress.com Thank you for attending this session

T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

Creating Hybrid OLAP/Relational OBIEE Models


Mark Rittman, Director, Rittman Mead Venkatakrishnan Janakiraman, BI Architect, Oracle
T : +44 (0) 8446 697 995 E : enquiries@rittmanmead.com W: www.rittmanmead.com

Friday, 12 June 2009

You might also like