How to Integrate OBIEE and Essbase / EPM Suite (OOW 2012)


Published on

Oracle plans to integrate Oracle Essbase and the EPM product suite with Oracle Business Intelligence Enterprise Edition and Oracle Fusion Middleware. So with the latest release of Oracle Business Intelligence Enterprise Edition,, how do you connect Oracle Business Intelligence Enterprise Edition to your Oracle Essbase databases and how well does it handle Oracle Essbase features such as scenario and account dimensions, changing outlines, and unbalanced/parent-child hierarchies? How well do Oracle Business Intelligence Enterprise Edition’s ad hoc reporting tools handle Oracle Essbase hierarchies and member selections in the release? Can we still embed Oracle Business Intelligence Enterprise Edition dashboards in Oracle Workspaces? Learn the answers in this session.

Published in: Technology
1 Comment
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

How to Integrate OBIEE and Essbase / EPM Suite (OOW 2012)

  1. 1. How to Integrate OBIEE11g and Essbase/EPMMark Rittman, Technical Director, Rittman MeadOracle Openworld 2012, San Francisco, September 2012T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  2. 2. Mark Rittman• Mark Rittman, Co-Founder of Rittman Mead• Oracle ACE Director, specialising in Oracle BI&DW• 14 Years Experience with Oracle Technology• Regular columnist for Oracle Magazine• Author of forthcoming Oracle Press book on OBIEE 11g• Writer for Rittman Mead Blog :• Email :• Twitter : @markrittmanT : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  3. 3. About Rittman Mead• Oracle BI and DW gold partner• World leading specialist partner for technical excellence, solutions delivery and innovation in Oracle BI• Approximately 30 consultants worldwide• All expert in Oracle BI and DW• UK based• Offices in US, Europe (Belgium) and India• Skills in broad range of supporting Oracle tools: ‣ OBIEE ‣ OBIA ‣ ODIEE ‣ Essbase, Oracle OLAP ‣ GoldenGate ‣ Exadata T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  4. 4. Oracle Business Intelligence 11gR1• The latest release of Oracle’s business intelligence platform• Replacement for Discoverer; full platform for analytics and dashboards• Now at version BP1 /; originally derived from Siebel Analytics• 11gR1 new features focused on OLAP analysis, visualizations, manageability T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  5. 5. Web-Based Delivery of Analytics and Analysis• Users access information and analytics through role-based dashboards• Can also publish reports to PDF, distribute, or access through MS Office T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  6. 6. Web-Based Authoring Tools for “Power Users”• Reports and analyses are created using web-based tools• Point-and-click creation of tables, pivot-tables, charts, maps, gauges T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  7. 7. Integration with E-Business Suite and Other Applications• OBIEE is the platform for Oracle Business Intelligence applications• Pre-built reports, dashboards and analytics for EBS and other applications• Pre-built dimensional data warehouse and ETL routines• Extensible and open design T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  8. 8. Mobile and Other Advanced Visualizations• Mobile client for Apple iPad and iPhone• Delivery of reports and alerts via email, cell, pager etc• High-density visualizations via a thin-client web dashboard• Integration with MS Office and Open Office through SmartView T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  9. 9. All Built Using Shared “Common Enterprise Information Model”• All reporting tools can take their data from a shared metadata layer• Defined as dimensional model, embeds common calculations and drill paths• Subject-area and row-level security• Three-layer design to provide abstraction from underlying complicated source systems Simplification of the Data Model Integration of Disparate DataSources Addition of Business Logic and CalculationsT : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  10. 10. OBIEE 11g Features for Hyperion Users• Essbase as a data source for Oracle BI Repository• Oracle Answers as a front-end for Essbase, HFM• Integration of Essbase and relational data into drill-through models• Oracle BI Repository as a data source for Essbase Studio• Plus access to OBIEE dashboards & reporting ‣ Wide range of graphs and other visualizations ‣ Mapping and spatial integration ‣ Scorecards and KPIs ‣ Web Service and Application Integration ‣ Access to EBS, PSFT, Siebel and SAP data through Oracle BI Applications T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  11. 11. Supported Essbase/Hyperion Releases• Oracle Essbase 9.3.3+,, 11.1.2+• HFM 9.3.3,, 11.1.2.x• Planning - tbc• See Oracle Fusion Middleware Supported System Configurations doc on OTN ‣ T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  12. 12. Essbase Integration with OBIEE• OBIEE can connect to multidimensional as well as relational sources ‣ Microsoft Analysis Services, SAP B/W, Essbase• Import process converts the multidimensional view into a relational view• Essbase cubes, dimensions, hierarchies converted to a logical relational star schema• Essbase data can then be combined with data from sources• OBIEE 11g introduces new OLAP query capabilities making Answers a first-class ad-hoc query tool for Essbase cubes• Other use case is to bring in budget, forecast data etc from Essbase and use to enhance relational data T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  13. 13. New in OBIEE BP1• Just released - Essbase as an OBIEE aggregate persistence target• Store OBIEE aggregates in an ASO cube, automatically created and populated by embedded Essbase Studio• Closer integration around the install, management with EM• Narrow focus - aggregate persistence - but pointer to further integration• More details later on...T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  14. 14. New Essbase Cube and Metadata Features in OBIEE 11gR1• Essbase outlines are still imported in and converted to relational stars• However outlines are now handled better ‣ Accounts dimensions keep their hierarchy ‣ Parent-child (value-based) hierarchies are supported ‣ Alias tables supported ‣ UDAs supported• No longer any need to recreate as outline evolves (additional generations, members)• Makes OBIEE a more practical reporting environment for financial-style Essbase cubes T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  15. 15. Importing an Essbase Cube Step 1 : Review Essbase Outline• Review the Essbase outline using Essbase Administration Services• Be aware of the number and type of dimensions• Check usage of alias tables, UDAs etc• Be sure to use correct Essbase versions ‣ Other releases will partially work, but drilling etc may not workT : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  16. 16. Importing an Essbase Cube Step 2 : Select Metadata Import• Using BI Administration tool, select File > Import Metadata• Enter connection details for Essbase Server (requires Essbase Client to be installed on server and desktop)• Select cube for import, check Import UDAs if UDAs are present in cube T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  17. 17. Importing an Essbase Cube Step 3 : Review Import• Review imported cube metadata ‣ Accounts dimension is now a hierarchy ‣ Single measure dimensioned by all dimensions ‣ Columns still based on outline dimension generationsT : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  18. 18. Importing an Essbase Cube Step 4 : Convert To Parent-Child• Imported level-based hierarchies can be convered to value-based ‣ Protects against outline evolution, new levels (generations) being added• Right-click on dimension, select Properties > Levels, then change Hierarchy Type to Value T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  19. 19. Importing an Essbase Cube Step 5 : Add Alias Columns• Where aliases are present in the outline, these can be brought through to OBIEE• Right-click on dimension, select Create Columns for Alias Table• Select alias to create column for; alias then appears in physical database T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  20. 20. Importing an Essbase Cube Step 6 : Create Remainder of Model• Once physical model is created, drag and drop over to business model and mapping layer, and then presentation layer• Essbase data is then ready for reporting on using Answers T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  21. 21. New Essbase Reporting Features in OBIEE 11g• OBIEE 11g comes with a number of improvements for reporting against Essbase• Hierarchical column provide OLAP-style drilling against Essbase cubes• Selection steps and hierarchical prompts provided member-based selections• UDAs can be used in filters• Value-based hierarchies remove need to query specific levels to select members for analysisT : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  22. 22. Essbase and Hierarchical Columns• Essbase cubes now use Hierarchical Columns by default• Full drill into detail (symmetric / asymmetric drilling)• Combine with regular attribute columns• Works across both relational and OLAP sources ‣ MOLAP and ROLAP analysis combined T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  23. 23. P&L-Style Reports• Though Financial Reporting is the most suitable tool for P&L-style reports, Answers using hierarchical columns can reproduce a lot of their functionality T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  24. 24. Access to OBIEE Graphing, Visualisations• Full access to all OBIEE visuals, maps, graphs, dashboard objects, scorecards etc T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  25. 25. Selection Steps and Essbase• The OBIEE 11g Selection Steps feature can be used to select members based on a hierarchy• Select individual members, drill into hierarchy• Select members based on position in a hierarchy ‣ Select Children Of ‣ Select Ancestors of ‣ Keep/Remove membersT : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  26. 26. New in OBIEE : Add Selection Steps From Dashboard• Selection steps can be added by the analysis developer• Or can be added by users from the dashboard view ‣ Add-only, no ability to remove ‣ Subset of full range of selection steps ‣ Selections can be saved for a particular user as a dashboard customization T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  27. 27. Filtering against UDAs• User-Defined Attributes can be accessed via filters ‣ UDAs are not displayable like columns, they instead act as filters• Add filter based on UDA = 1 (true) or false (0) T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  28. 28. Displaying Aliases• Aliases appear in the subject area just like other columns ‣ Have to be imported into the RPD, see previous steps• Can be used just as any other column T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  29. 29. Handling Essbase Alternate Hierarchies• Alternate hierarchies can be imported from Essbase ASO cubes (not BSO)• Dimension must be multiple hierarchy enabled in the outline• Multiple hierarchies are then imported into the RPD and created separately, based off of the same logical dimension table 1 3 2 T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  30. 30. Handling Attribute Dimensions• Attribute dimensions are imported into the RPD just like regular Essbase dimensions• Can be queried in analyses alongside regular dimension members/logical columns• Typically attribute dimensions are nested within the “parent” dimension within the presentation layer of the RPD• Can be queried separate from the “parent” dimension, or alongside it 1 3 2 T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  31. 31. Essbase Security and Filters• Data filters and Meta Filters are respected by OBIEE• SSO integration between Workspace and OBIEE Presentation Server removed in 11g• SSO still possible but requires external solution (until ‣ Shared Services and OBIEE both connecting to same external LDAP server ‣ External SSO over both OBIEE and EPM productsT : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  32. 32. OBIEE 11g Integration with Workspace and Shared Services• OBIEE 10g could be integrated with EPM Workspace to create a single “portal”• Oracle BI Server authenticated against Shared Services using Custom Authenticator• Point-to-Point SSO between Workspace and OBIEE (via CSS Token)• But this doesn’t work with OBIEE 11g :-( T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  33. 33. OBIEE 11g / Shared Services Integration Options• Ideal solution is to connect OBIEE’s WLS security services to the LDAP directory that was linked to Shared Services (OID, AD etc) ‣ Assumes users, groups not stored in Shared Services’ Native Directory• Replace the Workspace/OBIEE point-to-point SSO with an overall SSO solution ‣ Oracle Access Manager, etc• Still no solution for Workspace/OBIEE portal integration (post : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  34. 34. Alternative Solutions for OBIEE / Shared Services Integration• If it’s not possible to share the same LDAP directory, other alternatives are possible• For example (example requires OBIEE ‣ Use the HSS Security API to sync Native Directory entries to tables ‣ Use SQLAuthenticator WLS adapter to perform authentication against user tables ‣ Use BISQLGroupProvider authenticator to obtain group membership from these tables• Sync from Shared Services to DB tables every 5 mins• Still Need to manually create and map application roles• Also still does not address SSO requirement though (or Workspace/OBIEE portal integration) T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  35. 35. HSS Security Java API: Example Code for Extracting Groups Mbrs Connection conn = DriverManager.getConnection(URL,USER,PASSWORD); conn.setAutoCommit(false); CSSGroupIF[] cssGroupIF = cssAPI.getGroups(context,r (int i=0; i <cssGroupIF.length; i++){ try{ System.out.println ("EPM Groups + Name + Identity: "+ "+ "+ cssGroupIF[i].getName()+" + "+cssGrouipal, true); for (int j=0; j < user.length; j++) { try{ cssuser = cssAPI.getUserByIdentity(context, principalmt.executeUpdate("INSERT INTO GROUPMEMBERS(G_NAME,G_MEMBER) VALUES ("+cssGroupIF[i].getName()+","+cssuser.getLoginName()+")"); }catch(Exception ex){Sout.println("Groups in "+cssGroupIF[i].getName()+" Group: "+cssgroup.getName()); System.out.println("INSERT INTO GROUPMEMBERS(G_NAME,G_MEMBER) VALUES ("+css Get list of }catch(Exception ex){System.out.println(ex.getMessage());} //rs.close(); from HSS } groups conn.commit(); }catch(Exception ex){ Clear down existing entries from tables Get list of groups from HSS Populate GROUPS table Populate GROUPMEMBERS table Commit changes to tables T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  36. 36. New in OBIEE BP1 : Aggregate Persistence in Essbase• OBIEE’s Administration tool has the ability to define aggregates, and then User requests persist them in an RDBMS from dashboard, ad-hoc queries etc• Repository then uses these aggregates to speed up dashboard queries HTTP(S)• Basis of the Summary Advisor used with Oracle Exalytics In-Memory Machine BI Presentation Server• Latest OBIEE bundle patch enables Component Physical SQL, MDX storage of these aggregates in an Logical SQL Results Detail-level, and dynamically- calculated Essbase ASO database, using aggregate data Oracle BI Server headless Essbase Studio Component Pre-computed aggregated data, stored in an Essbase Read model ASO database Physical MDX Oracle BI Repository Logical Business ModelT : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  37. 37. So How Does Aggregate Persistence in Essbase Work?1. Developer/Administrator selects slice of business model to aggregate2. Aggregate Persistence Wizard then creates a logical SQL script3. Script is processed by BI Server using nqcmd and the BI Server ODBC client4. BI Server uses Essbase Studio dmaservlet to create ASO outline, and rules file5. Detail-level data sourced via BI Server logical model through to source databases nqcmd script containing logical Oracle BI Repository DDL and DML for Logical Business creating and populating Model aggregate tables 1 Physical Read model Add aggregates SQL, MDX Developer uses Logical SQL Oracle BI Server BI Administrator via BI Server Component tool to select ODBC interface 3 5 aggregates for creation, with an XML request SQL queries output of a logical SQL script for DDL 2 Create outline and DML Essbase Studio dmaservlet Essbase Server Data load via 4 Essbase rules file T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  38. 38. Combined Install of OBIEE and Essbase with BP1• OBIEE, and the BP1 bundle patch, include Essbase + administration tools as part of the install bundle, but these are not by default enabled• Needs to be patched to BP1, then installed using options in a reponse file• Configures Essbase as part of the OBIEE domain, with EAS and Studio also available• Narrow use-case : only for Aggregate Persistence, cannot scale-up, repurpose etc [DATAMART_AUTOMATION]ESSBASE_STUDIO_URL = "http://localhost:9080/dma/dmaservlet"; ESSBASE_SERVER = "loc T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  39. 39. New Capabilities Provided by OBIEE 11g• Horizontal (Drill-Across) and Vertical (Drill-down) Integration with Relational Data• MapViewer Integration• Scorecards and KPIs• BI Publisher• Action Framework• Integration with EBS and other application data T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  40. 40. Drill-Across and Drill-Through To Relational Data• One of the most powerful features in the OBIEE it is ability to combine data sources• Multiple data sources presented as a single logical dimensional model• In terms of Essbase and HFM integration there are three main use-cases: 1.Providing drill-down from an Essbase-based model to detail-level relational data 2.Displaying relational attributes and descriptive data alongside Essbase measures 3.Combining Essbase and relational measures into a single business model T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  41. 41. Setting up Vertical Federation (Drill-to-Relational Detail)• Initially map in Essbase source (using wizard), then introduce relational data into model• Be aware of Essbase unique naming requirements (may need to prefix relational name)• Create level-based logical dimension to indicate hierarchy levels• Set content (hierarchy) level for Essbase and Relational sources to indicate granularity (how detailed they are)• BI Server will then automatically switch between Essbase and Relational sources, depending on how detailed the report gets T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  42. 42. Reporting at Aggregated (Essbase) Level• 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 or (888) 631 1410 (USA) E : W:
  43. 43. Reporting at Detailed (Relational) Level• 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 levelselect 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 c7from (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) ) D1order by c1, c2, c3, c4, c5, c6 T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  44. 44. Vertical Federation Limitations• Only Essbase outlines that are balanced and level-based can be federated ‣ Unbalanced/ragged hierarchies do not consistently map to BMM columns ‣ Value-based (parent-child) hierarchies will not federate due to lack of “levels”• 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 ‣ Though you will need supported versions to be able to use hierarchical columns ‣ Essbase 9.3.3+,, 11.1.2+ T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  45. 45. Setting up Horizontal Federation (Relational alongside Essbase)• 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 ‣ New in 11g - can use LOOKUP function to retrieve relational descriptors etc T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  46. 46. Displaying Essbase & Relational Data Together on Dashboards• Relational and Essbase data can be displayed together in analyses, dashboards• Navigation can be set up between Essbase aggregated data and relational detail T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  47. 47. So Can OBIEE Replace WebAnalysis, Planning, Financial Mgmt etc?• OBIEE analyses, dashboards can replace all functional aspects of Web Analysis• FR is still preferable for non-trivial financial reports T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  48. 48. ... and What Issues Are Still Outstanding?• A number of minor, and major, issues are still outstanding for Essbase / EPM users• Some are minor and will be addressed with bug fixes, enhancements ‣ Requirement for multiple WLS homes, EM environments ‣ Some early-release bugs around value-based hierarchies, drilling, formulas etc ‣ Make sure you are on the latest release, with all patches - currently• Some are just limitations of how things work ‣ Cannot federate value-based hierarchies ‣ Slower queries and analysis compared to Smartview + Essbase Add-in• Some are fundamental and require re-engineering of OBIEE ‣ Complex and fragmented MDX when using hierarchical columns ‣ Excessively expensive MDX when using selection steps T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  49. 49. The Hierarchical Columns and Pivoting Issue• Hierarchical columns generate one logical query per grouping• For SQL queries, these are combined into a single SQL statement• For Essbase queries, each grouping generates it’s own MDX query, plus others With set [_Products1] as {Distinct({[Products]})} set [_Products2] as Generate({[_Products1]}, With set [_Products1] as {Distinct({[Products]})} set [_Products2] as Generate({[_Products1]}, [Products].currentmember.children)select [Products].currentmember.children)select 1 { [Measures].[Gross Revenue] } on columns, NON EMPTY { [Measures].[Gross Revenue] } on columns, NON EMPTY {{[_Products2]}} properties GEN_NUMBER, [Products].[Memnor], [Products].[Ancestor_Names], {{[_Products2]}} properties GEN_NUMBER, [Products].[Memnor], [Products].[Ancestor_Names], [Products].[MEMBER_UNIQUE_NAME], [Products].[LEVEL_NUMBER] on rows from [BISAMPLE.Sample] [Products].[MEMBER_UNIQUE_NAME], [Products].[LEVEL_NUMBER] on rows from [BISAMPLE.Sample] With set [_Axis1Set] as {Distinct({[Products]})}select {} on columns, {[_Axis1Set]} properties With set [_Axis1Set] as {Distinct({[Products]})}select {} on columns, {[_Axis1Set]} properties GEN_NUMBER, [Products].[Memnor], [Products].[MEMBER_UNIQUE_NAME] on rows from [BISAMPLE.Sample] GEN_NUMBER, [Products].[Memnor], [Products].[MEMBER_UNIQUE_NAME] on rows from [BISAMPLE.Sample] 2 With set [_Axis1Set] as {[Products].Generations(1).members}select {} on columns, {[_Axis1Set]} With set [_Axis1Set] as {[Products].Generations(1).members}select {} on columns, {[_Axis1Set]} properties GEN_NUMBER, [Products].[Memnor], [Products].[MEMBER_UNIQUE_NAME] on rows from properties GEN_NUMBER, [Products].[Memnor], [Products].[MEMBER_UNIQUE_NAME] on rows from [BISAMPLE.Sample] [BISAMPLE.Sample] 3 With set [_Axis1Set] as {Distinct({[10002]})}select {} on columns, {[_Axis1Set]} properties With set [_Axis1Set] as {Distinct({[10002]})}select {} on columns, {[_Axis1Set]} properties GEN_NUMBER, [Products].[Memnor], [Products].[Ancestor_Names], [Products].[MEMBER_UNIQUE_NAME] on rows GEN_NUMBER, [Products].[Memnor], [Products].[Ancestor_Names], [Products].[MEMBER_UNIQUE_NAME] on rows from [BISAMPLE.Sample] from [BISAMPLE.Sample] 4 With set [_Products2] as {Distinct({[10002]})} set [_Products3] as Generate({[_Products2]}, With set [_Products2] as {Distinct({[10002]})} set [_Products3] as Generate({[_Products2]}, [Products].currentmember.children)select { [Measures].[Gross Revenue] } on columns, NON EMPTY [Products].currentmember.children)select { [Measures].[Gross Revenue] } on columns, NON EMPTY {{[_Products3]}} properties GEN_NUMBER, [Products].[Memnor], [Products].[Ancestor_Names], [Products]. {{[_Products3]}} properties GEN_NUMBER, [Products].[Memnor], [Products].[Ancestor_Names], [Products]. [MEMBER_UNIQUE_NAME], [Products].[LEVEL_NUMBER] on rows from [BISAMPLE.Sample] [MEMBER_UNIQUE_NAME], [Products].[LEVEL_NUMBER] on rows from [BISAMPLE.Sample] 5 T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  50. 50. Issue Compounded by > Hierarchical Column• Issue becomes worse when >1 hierarchical column & pivoting is included in analysis &• Many more sub-groupings are created leading to excessivly expensive SQL• Workaround #1 : Size your system to expect greater numbers of small MDX queries• Workaround #2 : Try to limit analyses to a single hierarchical column on row-edge• Workaround #3 : Enable caching - 11g subquery caching can significantly improve perf. =58 separate MDX queries T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  51. 51. The Selection Steps Issue• Selection steps (member steps) are used extensively in 11g for Essbase data• Provides an Essbase-like environment for filtering, selecting and calculating data 1 3 2 T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  52. 52. Selection Steps Multiply the Number of Physical MDX Generated• Issue is that selection steps will multiple the number of physical MDXs sent to Essbase ‣ Issues also affects relational sources, but SQLs are usually combined into one• # logical SQLs = (# steps in Dim1 x # steps Dim 2 x # steps Dimn) + Grand Total SQL• # MDX queries = 1 or 2 per logical SQL• Coupled with hierarchical columns & pivoting, can cause excessive MDX query load With set [_Market2] as {Distinct({[East], [West]})} set [_Year2] as {Distinct({[Qtr1], With set [_Market2] as {Distinct({[East], [West]})} set [_Year2] as {Distinct({[Qtr1], [Qtr2]})}select { [Measures].[Sales] } on columns, NON EMPTY {crossjoin({[_Market2]},{[_Year2]})} [Qtr2]})}select { [Measures].[Sales] } on columns, NON EMPTY {crossjoin({[_Market2]},{[_Year2]})} properties GEN_NUMBER, [Market].[LEVEL_NUMBER], [Year].[MEMBER_UNIQUE_NAME], [Year].[Memnor], [Market]. properties GEN_NUMBER, [Market].[LEVEL_NUMBER], [Year].[MEMBER_UNIQUE_NAME], [Year].[Memnor], [Market]. [MEMBER_UNIQUE_NAME], [Market].[Memnor], [Year].[LEVEL_NUMBER] on rows from [Sample.Basic] [MEMBER_UNIQUE_NAME], [Market].[Memnor], [Year].[LEVEL_NUMBER] on rows from [Sample.Basic] With set [_Market2] as [Market].Generations(2).members set [_Year2] as {Distinct({[Qtr1], With set [_Market2] as [Market].Generations(2).members set [_Year2] as {Distinct({[Qtr1], [Qtr2]})}select { [Measures].[Sales] } on columns, NON EMPTY {crossjoin({[_Market2]},{[_Year2]})} [Qtr2]})}select { [Measures].[Sales] } on columns, NON EMPTY {crossjoin({[_Market2]},{[_Year2]})} properties GEN_NUMBER, [Year].[MEMBER_UNIQUE_NAME], [Year].[Memnor], [Market].[MEMBER_UNIQUE_NAME], properties GEN_NUMBER, [Year].[MEMBER_UNIQUE_NAME], [Year].[Memnor], [Market].[MEMBER_UNIQUE_NAME], [Year].[LEVEL_NUMBER] on rows from [Sample.Basic] [Year].[LEVEL_NUMBER] on rows from [Sample.Basic] With set [_Market2] as [Market].Generations(2).members set [_Year2] as {Distinct({[Qtr1], With set [_Market2] as [Market].Generations(2).members set [_Year2] as {Distinct({[Qtr1], [Qtr2]})}select { [Measures].[Sales] } on columns, NON EMPTY {crossjoin({[_Market2]},{[_Year2]})} [Qtr2]})}select { [Measures].[Sales] } on columns, NON EMPTY {crossjoin({[_Market2]},{[_Year2]})} properties GEN_NUMBER, [Year].[MEMBER_UNIQUE_NAME], [Year].[Memnor], [Market].[MEMBER_UNIQUE_NAME], properties GEN_NUMBER, [Year].[MEMBER_UNIQUE_NAME], [Year].[Memnor], [Market].[MEMBER_UNIQUE_NAME], [Year].[LEVEL_NUMBER] on rows from [Sample.Basic] [Year].[LEVEL_NUMBER] on rows from [Sample.Basic] With set [_Market2] as [Market].Generations(2).members set [_Year2] as With set [_Market2] as [Market].Generations(2).members set [_Year2] as [Year].Generations(2).membersselect { [Measures].[Sales] } on columns, NON EMPTY [Year].Generations(2).membersselect { [Measures].[Sales] } on columns, NON EMPTY {crossjoin({[_Market2]},{[_Year2]})} properties GEN_NUMBER, [Year].[MEMBER_UNIQUE_NAME], [Market]. {crossjoin({[_Market2]},{[_Year2]})} properties GEN_NUMBER, [Year].[MEMBER_UNIQUE_NAME], [Market]. [MEMBER_UNIQUE_NAME] on rows from [Sample.Basic] [MEMBER_UNIQUE_NAME] on rows from [Sample.Basic] T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  53. 53. MDX Generation Improvements During 11g Timeline• MDX generation has improved over the 11g releases ‣ Often through patches after the main point release ‣ Many in response to specific customer issues (varies by release and Essbase version)• Post, some significant changes have started to appear ‣ Combining of MDX statements ‣ Improvements to MDX when pivot tables and selection steps combined ‣ Better handling of value-based hierarchies (with other value-based, and level-based)• When dealing with sub-optimal MDX, ask yourself: ‣ Have I applied all the latest patches - engage with Oracle support, be on latest version ‣ Can I rework the RPD or analysis (filter instead of pivoting etc) to improve it? ‣ If you’re on an early point release ( etc) are there known issues addressed by the first, upcoming patch set ( BP1), e.g. keep only/remove only steps T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  54. 54. The Value-Based Hierarchy Issue (or “Gotcha”)• Value-based (Parent-Child) hierarchy support are a useful addition in OBIEE 11g• Allows member searches to work against single logical column• More “natural” way of holding member data for Essbase users T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  55. 55. Value-Based Hierarchies and Vertical Federation• Given the benefits of value-based hierarchies for changing outlines, customers often enable them for all dimensions in OBIEE 11g ...• ... and then want to set up drill-to-detail analyses using vertical federation• ... which require defined levels to join logical table sources together• ... which value-based hierarchies do not have• Workaround : Analyze Essbase and Relational separately, link by actions that pass hierarchical column selection values through hidden attribute columns T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  56. 56. New Ways of Doing Things• Most Essbase users access data through the Excel Add-in• Uses Query-by-Example approach to retrieve data• Combined with Excel flexibility, gives lots of options to access data• To produce similar reports, different approaches are required with OBIEE ‣ Use of FILTER and time-series functions ‣ Adaptation for structured cross-tab style interface vs. free-form Excel T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  57. 57. Combining OBIEE Functions and Essbase Data• Time-offsets can be generated using OBIEE Time-Series functions ‣ AGO, TODATE, PERIODROLLING• Intersections of dimension members (Accounts, Scenarios) using FILTER function• Combine OBIEE analytic functions with Essbase member references• Requires learning OBIEE function syntax and combining with Essbase skillsT : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  58. 58. OBIEE Analytic Function Examples• FILTER(measure USING expr) ‣ Allows you to filter generic measure by dimension member, i.e. measure by Profit account, and Budget scenario• AGO, TODATE, PERIODROLLING ‣ Generate year-to-date, period ago, rolling total ‣ Pushes down to equivalent MDX• EVALUATE, EVALUTE_AGGR ‣ Leverage native MDX functions T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  59. 59. Excel Add-in/SmartView and OBIEE are Complementary Tools• OBIEE does not remove need for Excel add-in or SmartView• Common mistake is to think it’s “all-or-nothing”• Still a role for Excel add-in for finance/analyst use• OBIEE is great for mass-distribution of financial data, combining it with other data• Accessing Essbase data requires combined Essbase / OBIEE skills T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  60. 60. Summary• OBIEE 11g introduces a number of new features Essbase customers were waiting for ‣ Proper OLAP analysis with hierarchical member selection ‣ Support for value-based hierarchies, so that outline changes don’t need re-import ‣ Support for multiple aliases, UDAs, multiple hierarchies, filters etc• OBIEE also provides many additional features that will benefit Essbase customers ‣ Mapping, scorecards, better visualizations ‣ Action Framework, integration with Fusion Middleware• But the 11g release also brings its own new issues ‣ Excessive number of MDX statements for pivoting OLAP-style queries ‣ Selection steps can exacerbate this issue by exponentially adding more MDX queries ‣ Value-based hierarchies have their own “gotchas”• Don’t try to 100%-replace Excel Add-in With OBIEE ‣ Tools are complementary, have their own strengths ‣ Be prepared to learn OBIEE dev techniques as well as Essbase ones T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  61. 61. More Information• Thank you for attending this presentation• More information can be found at• Contact us at or• Look out for our book, “Oracle Business Intelligence Developers Guide” due Q1 2012• Follow-us on Twitter (@rittmanmead) or Facebook ( T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W:
  62. 62. How to Integrate OBIEE11g and Essbase/EPMMark Rittman, Technical Director, Rittman MeadOracle Openworld 2012, San Francisco, September 2012T : +44 (0) 8446 697 995 or (888) 631 1410 (USA) E : W: