Sunday, July 28, 2013

Creating Securities and Filters

           Essbase provides a system for managing access to applications, databases, and other artifacts within Essbase. Using the Essbase native security system provides protection and the security available through our local system.
           Essbase native security addresses a wide variety of database security needs with a multilayered approach to enable us to develop the best plan for our environment. Various levels of permission can be granted to users and groups or defined at the system, application, or database level.

To create a new user and assign some provisions we need to follow the steps below:


  •  Go to shared services-> right click on “users” and create a new user:


  • Click next and save.
  • Then right click on “Groups” create a new group and then save. So now “new_user” and “new_group” are created. Now we need to provide some Provisions to the user.


  • Now we need to provide access to the user. So need to right click on User name and provisions, then provide server access as shown.


  • Later need to provide Write/Read access to new_user.
  • Then to add filter right click on the server and provide “Assign Access control” to server:
  • Now to assign a filter to the particular user group as follows:



  • After provisioning filter to the user save it. If the provisions provided are with no errors then it shows as successful.
  • Then open an excel sheet and log in with the user defined. Then as per the filter requirement the data will be visible.




Optimization Techniques in Essbase

         The best technique to make large data loads faster is to have the optimal order of dimensions in source file, and to sort this optimally, order the fields in your source file (or SQL statement) by having hourglass dimension order, you data file should have dimensions listed from the bottom dimension upwards. Your dense dimensions should always be first, and if you have multiple data columns these should be dense dimension members. This will cause blocks to be created and filled with data in sequence, making the data load faster and the cube less fragmented.

  As a part of Optimization we need to re-order the dimensions as follows
  • Large members Dense dimension
  • Small members Dense dimension
  • Small members Sparse dimension
  • Large members Sparse dimension
  • Attribute dimensions.


  Calculation order of the dimensions.
  • Dimension tagged accounts if it is dense.
  • Dense dimensions in outline or CALC DIM statement order.
  • Dimensions tagged as Accounts if it is sparse.
  • Sparse dimensions in outline order or CALC DIM statement order.
  • Two-pass calculations on members in the Accounts tagged dimension.
  Here are some more optimization techniques used in Essbase


For data loading:
  • Grouping Sparse Member Combinations
  • Positioning Data in the Same Order As the Outline
  • Loading from the Essbase OLAP Server
  • Making the Data Source As Small As Possible
  • Making Source Fields As Small As Possible
  • Managing Parallel Data Load Processing

For Calculation:
  • Using Parallel Calculation
  • Using Formulas
  • Managing Caches to Improve Performance
  • Using Two-Pass Calculation
  • Aggregating #MISSING Values
  • Removing #MISSSING Blocks

Data Compression

           Essbase allows you to choose whether data blocks that are stored on disk are compressed, as well as which compression scheme to use. When data compression is enabled, Essbase compresses data blocks when it writes them out to disk.

Types of data compression:
  • Bitmap compression ( default): 
               Essbase stores only non-missing values and uses a bitmapping scheme. A bitmap uses one bit for each cell in the data block, whether the cell value is missing or non-missing. When a data block is not compressed, Essbase uses 8 bytes to store every non-missing cell. In most cases, bitmap compression conserves disk space more efficiently. However, much depends on the configuration of the data.
  • Run-length encoding (RLE): 
               Essbase compresses repetitive, consecutive values --any value that repeats three or more times consecutively, including zeros and #MISSING values. Each data value that is repeated three or more times uses 8 bytes plus a 16 byte repetition factor.

  • zlib compression: 
               Essbase builds a data dictionary based on the actual data being compressed. This method is used in packages like PNG, Zip, and gzip. Generally, the more dense or heterogeneous the data is, the better zlib will compress it in comparison to bitmap or RLE compression. If your essbase is 90% dense, you may use ZLIB for the compression method.

  • Index Value Pair compression:
              It is selected automatically by the Essbase system. Essbase applies this compression if the block density is less than 3%. Index Value Pair addresses compression on databases with larger block sizes, where the blocks are highly sparse. zlib does not use this.
No compression.

Friday, July 26, 2013

Freeze Column header in OBIEE 11g(11.1.1.6.0)

We have a feature in OBIEE 11.1.1.6.0 that freezes the data column header. So when a user scrolls down to the bottom of the report, the column header stays in place and only the data rows move.

By default this Freeze option is not enabled. We need to turn ON by adding set of attributes in  instanceconfig.xml file under 

<Views> element, between<GridView>… </GridView> class.

To do this

Navigate to the path 
“<MiddlewareHome>\instances\instance2\config\OracleBIPresentationServicesComponent\coreapplication_obips1″

Open instanceconfig.xml file and add the below entry between <Views> and </Views> tag

<GridViews>
<DefaultScrollingEnabled>true</DefaultScrollingEnabled>
<DefaultRowFetchSlicesCount>200</DefaultRowFetchSlicesCount>
<DefaultColumnFetchSlicesCount>300</DefaultColumnFetchSlicesCount>
<DefaultFreezeHeadersClientRowBlockSize>60</DefaultFreezeHeadersClientRowBlockSize>
<DefaultFreezeHeadersClientColumnBlockSize>15</DefaultFreezeHeadersClientColumnBlockSize>
</GridViews>


Note: Above entry freeze column header option is enabled when number of rows is greater than 200. You can specify the number of rows as you desire. 

1.       Save the file
2.       Start the Presentation Services. 

I configured for 200 rows, so if the record count increases after 200 records,

We can click on “Get more rows” to get more rows as shown in below screen


This is how table should look like:


Tuesday, July 23, 2013

OBIEE 11g Lookup tables

  1. Create the two tables in the database

  •   Customer Table
  •   State Table



  •     2.   Import the State Table in the physical layer and create Alias Tables.


            3.  Define the Key column for the State table.
       4.    Drag the Lookup State Table in the BMM layer.


           5.   Go to the Lookup state table and select Lookup Table in the Properties General Tab


     6.  Create a new logical column “Dense Looked Up State Name”
    Using the Derived From existing Columns using an Expression
    Write in the formula below:
    Lookup(DENSE "Sample Sales"."LKP_State_Table"."STATE_NAME",
    "Sample Sales"."Dimn_Customer_D"."CUST_STATE"
    )

          7.     Create a new logical column “Parse Looked Up State Name”

    Using the Derived From existing Columns using an Expression
    Write in the formula below:
    Lookup(SPARSE "Sample Sales"."LKP_State_Table"."STATE_NAME", 'Lookup State Name not Found',
    "Sample Sales"."Dimn_Customer_D"."CUST_STATE")

          8.   Now We have Dense and Sparse Lookup Columns

          9.      Drag the columns to the presentation layer. 

    10. Create Analysis and check your results , once using Sparse Look up and then Dense Lookup

    NOTE: DENSE Lookup Executes an inner join between the customer and lookup table



    NOTE: SPARSE lookup causes an outer join between the customer and the lookup Table.













    Friday, July 19, 2013

    ASO and BSO concepts overview

    Aggregate storage database (ASO):
                   ASO databases drive operational analytics and are optimized for high dimensionality, extreme sparsity of data, and dimensions with millions of members.
    Block storage database (BSO):
                   BSO supports dense data sets, enabling users to write back interactively and perform complex financial analytics.

    Differences between ASO and BSO:


    ASO

    BSO
    Architecture that supports rapid aggregation, optimized to support high dimensionality and sparse data.
     Multiple blocks defined by dense and sparse dimensions and their members, optimized for financial applications
    Copying of database is not supported.
    Database copying is supported.
    One database is supported per application
    It accepts more than one database.
    ASO cannot support write-back
    It supports write back option.
    It uses MDX scripts for calculation
    Use calculation scripts for calculation.
    ASO outline is validated when database is started, outline is saved, when user requests.
    BSO outline is validated when outline is saved and when user requests.
    For formulas in ASO it accepts only valid numeric value expression written in MDX. It will not support for Essbase calculation functions.

    Supports Essbase calculation functions

    Partitioning functionality support with restriction that no outline is synchronized.
    Partitioning is fully supported.
    Aggregate storage databases can contain multiple slices of data. Data slices can be merged.
    In BSO it is not supported.
    After-update triggers supported.
    On-update triggers and after-update triggers supported
    A shared member automatically shares the attribute associations of its non-shared member.
    A shared member does not share the attribute associations of its non-shared member.


    Advantages and disadvantages of ASO:
                   These days ASO is becoming the standard for extra-large Essbase databases. It fills nicely where the need for high speed data retrieval for reporting and analysis can eclipse the need for full-featured functionality. Here are some of the features for you.

    Advantages
                Listed below are just a few high-level features that makes the ASO a good choice:

    • Easy optimization, massive data scalability, reduced disk space, and up to 100 times faster.
    • Database creation is accomplished by either migrating a BSO outline or defined as new after application creation.
    • Outline dimensions will not need to be designated as dense or sparse.
    • Outline is validated every time a database is started.
    • Database calculation or aggregation of the database can be predefined by defining aggregate views.
    • Calculation order is not relevant for database calculation, but is relevant for dynamic calculation formulas.
    • Limited write back ability.
    • At the end of a data load, if aggregation exists, the values in aggregation are recalculated and updated automatically.
    • Aggregate storage database outlines are page-able. This feature significantly reduces memory usage for very large database outlines.

    Disadvantages
    Listed below are a few high-level features that we feel you may need to be wary of when using the Essbase ASO:

    • Aggregate storage applications have some limitations that do not apply to block storage applications with regard to consolidations, calculations, and overall robust functionality.
    • Can store only one database per application.
    • Names reserved for table spaces cannot be used as application or database names.
    • Accounts dimension does not support time balance members and association of attribute dimensions.
    • On non-account dimensions, there are restrictions on label only members and dynamic time series members. Members tagged as dynamic hierarchies have no restrictions on the consolidation settings. Stored hierarchy members can only be tagged as label only or (+) addition.
    • Non-account dimensions support only consolidation operator (+) addition.
    • Calculation scripts are not supported.
    • Formulas are allowed only on account dimension members and allowed with certain restrictions.
    • Only Level 0 cells whose values do not depend on formulas in the outline are loaded.
    • Data values are cleared each time the outline is structurally changed.
    Therefore, incremental data loads are only supported for outlines that do not change.

    • Currency conversion is not supported without the use of special MDX queries. This method can have a negative effect on performance.
    • As you can see, there are some substantial differences and some very good reasons to use one type of database over another. To give you our idea of the ideal application of ASO and BSO, read below:
    • ASO Database: The ASO database is ideal for dynamically built Essbase cubes that are usually Read only and used for reporting, presentation, and analysis. This type of database would also tend to have a rather large outline where at least one dimension has a significant amount of members. A parts dimension or product dimension comes to mind. Behind this ASO database would be a large BSO parent Essbase database, from which the dynamic ASO databases are built on the fly.
    • BSO Database: The BSO database is ideal for virtually any size cube, but where performance is not necessarily the number one priority. Accuracy and completeness of data would be the main consideration. The BSO database is ideal as the large parent database where users from many different departments can trigger jobs which will dynamically build ASO reporting cubes on an as needed basis. The typical BSO database is ideally suited for financial analysis applications.

    Security of Hyperion Planning

    Access Permissions in Hyperion Planning
    • Shared Services roles that set access permissions for managing projects, applications, dimensions, users, and groups

    Planning Elements That Can Be Assigned Access
      We can assign access permissions to:
      • Scenario members
      • Version members
      • Account members
      • Entity members
      • User-defined custom dimension members
      • Data forms
      • Task lists
      • Business rules

      For example, users must have these Shared Services roles to perform the specified tasks:

      • Project Manager: Creates and manages projects in Shared Services.
      • Provisioning Manager: Provisions users and groups to applications.
      • Dimension Editor: Required for Performance Management Architect and Classic applications. For Performance Management Architect, allows access to application administration options for Planning. For Classic, allows access to the Classic Application Administration options for Planning (in combination with the Planning Application Creator role).
      • Planning Application Creator: Required for Performance Management Architect and Classic applications. For Performance Management Architect, allows users to create Planning applications and Performance Management Architect Generic applications.For Classic, allows access to the Classic Application Administration options for Planning (in combination with the Dimension Editor role).
      • User-defined dimensions: Assign access permissions to members by selecting the dimension property Apply Security. If you omit setting Apply Security, all users can access the dimension's members. By default, the Account, Entity, Scenario, and Version dimensions are enabled for access permissions.
      • Users and groups, which can vary among applications. Assign access to Planning application elements by using Assign Access.
      Note: After updating access permissions, refresh the application to update Essbase security filters.

      Types of Access Permissions:
      Access permissions for the specified user or group to the dimension member, data form, or task list include:
      • Read—Allows view access
      • Write—Allows view and modify access
      • None—Prohibits access; the default access is None

      We can specify access permission for individual users and each group. When you assign a user to a group, that user acquires the group's access permissions. If an individual's access permissions conflict with those of a group the user belongs to, user access permissions take precedence.

      To enable access permissions for dimensions:
      • Select Administration > Dimensions.
      • For Dimension, select the dimension to change.
      • Click Edit.
      • In Dimension Properties, select Apply Security to allow access permissions to be set on its members.If you do not select this option, there is no security on the dimension, and users can access its members without restriction.
      • Click Save.
      Click Refresh to revert to the previous values.

      To assign access to members:
      • Select Administration > Dimensions.
      • For Dimension, select the dimension to assign access to its members.
      • Select the member for which to assign access.
      • Click Assign Access.
      • Add, change, or remove access.
      To assign access permissions to members:
      • Select Administration > Dimensions.
      • For Dimension, select the dimension for whose member you want to add access.
      • Click Assign Access.
      • Click Add Access
      • Optional: To migrate a user or group's changed identity or their position in the user directory from User Management Console to Planning, click Migrate Identities
      • Optional: To remove deprovisioned or deleted users or groups from the Planning database to conserve space, click Remove Non-provisioned Users/Groups
      • For Users and Groups on Add Access, select the users and groups to access the selected member.
      • For the selected member, select the access type.
      • Optional: Select a relationship.
      For example, select Children to assign access to the children of the selected member.
      • Click Add.
      • Click Close.
      To modify access permissions for members:
      • Select Administration > Dimensions.
      • For Dimension, select the dimension for whose member you want to edit access.
      • Click Assign Access.
      • Optional: To migrate a user or group's changed identity or their position in the user directory from User Management Console to Planning, click Migrate Identities.
      • Optional: To remove deprovisioned or deleted users or groups from the Planning database to conserve space, click Remove Non-provisioned Users/Groups.
      • Click Edit Access.
      • For the selected member on Edit Access, select the access type for the displayed users or groups.
      • Optional: Select a relationship.
      For example, select Children to assign access to children of the selected member.
      • Click Set.
      • Click Close.
      To remove access permissions for members:
      • Select Administration > Dimensions.
      • For Dimension, select the dimension for whose member you want to remove access.
      • Click Assign Access.
      • Select the users and groups for whom to remove access to the selected member.
      • Click Remove Access.
      • Click OK.
      • Click Close.

      Tuesday, July 16, 2013

      Setting up and administer Usage tracking

      1)      Open the repository in offline mode.
      2)      Right-click inside the Physical layer white space and select New Database to open the Database properties dialog box.
      3)      Click the General tab and name the database ABC Usage Tracking.

      4)      In the database drop-down list, sellect Oraccle/11g/Exadata.


      1)      Click the connection pool tab.
      2)      Click Add to open the connection pool dialog box.
      3)      Name the connection pool ABC Usage tracking connection pool.
      4)      Enter orcl for data source name.
      5)      Enter username and password.
      6)      Click OK.


      1)      Click OK to close the Database properties dialog box.


      1)      Right click the ABC usage Tracking database object and select New Object>Physical Schema.
      2)      Name the physical schema ABC Tracking Schema.
      3)      Click Ok.




      1)      Right-click on ABC usage Tracking Connection Pool, select imprt Metadata, and import BISAMPLE.S_NQ_ACCT into ABC Usage Tracking. This creates a new BISAMPLE schema in Database.
      2)      Copy the BISAMPLE schema in ABC usage tracking schema.


      1)      Create Business Model
      2)      Right click in the Business Model and mapping layer white space and select New Business Model.
      3)      Name it as ABC Business Model and click OK.

      1)      Right-click ABC Usage Tracking and select New Object > Logical Table
      2)      Create one fact table and some dimension tables.
      3)      Rename tables and columns and apply aggregation rule on fact logical columns.
      4)      Create logical keys and Joins.


      1)      Drag the ABC Usage Tracking business model in Presentation layer.



      1)      Save the repository.
      2)      Check consistency and mark ABC Usage tracking as available for queries.
      3)      Close the repository.
      4)      Modify the NQSConfig.ini file to support usage tracking.
      5)      Navigate to
      D:\bi\instance\instance1\config\OracleBIServercomponent\coreapplication_obis1
      6)      Scroll to the Usage Tracking section.
      7)      Set ENABLE = YES;
      8)      Scroll past “Parameters used for writing data to a flat file” and ensure that DIRECT_INSERT = YES;
      9)      In PHYSICAL_TABLE_NAME parameter enter = “ABC Usage Tracking”.”ABC Usage Tracking Schema”.”S_NQ_ACCT”;
      10)   Set CONNECTION_POOL = “ABC Usage Tracking”.”ABC Usage Tracking Connection Pool”;
      11)   Save the NQSConfig.ini file.
      12)   Load the repository by using fusion middleware control and restart the components.
      13)   Create and run the analysis in the Sample sales subject area.
      14)   Sign out and sign in from another user ID with password.
      15)   Create and run the analysis using ABC usage tracking subject area.
      16)   Check the result.











      Monday, July 15, 2013

      Understanding Dense and Sparse Dimensions


      • Essbase is an MOLAP product, it is supposed to store detail and pre-aggregated value for both members and their parents and grand parents in many levels.
      • Essbase introduce the concept of  "Dense dimension" and "Sparse dimension" to avoid this storage waste.


      • Sparse Dimension: 
                       A dimension which has low probability that data exists for every combination of dimension members. It may contain some empty tuples. In sparse dimension data is not uniformly distributed. 

      Examples: product, customer, and region dimensions. 

                     Most multidimensional databases are inherently sparse; they lack data values for the majority of member combinations. A sparse dimension is one with a low percentage of available data positions filled.

      • Dense Dimension: 

              A dimension which has the high probability that data exists for every combination of dimension members.

      Examples:  time, gross sales, net sales, discount, and Accounts dimension.


              Most multidimensional databases also contain dense dimensions. A dense dimension has a high probability that one or more cells is occupied in every combination of dimensions. For example, in the basic database, accounts data exists for almost all products in all markets, so Measures is chosen as a dense dimension. Year and Scenario are also chosen as dense dimensions. Year represents time in months, and Scenario represents whether the accounts values are budget or actual values.


      • For all the sparse dimensions, Essbase will not do  pre-allocation of  cell storage for them.
      • If the data value exists for a combination of sparse dimension, Essbase will construct a block for it, cells in the block will be the multiplication of all the dense dimension member.  And this specific sparse dimension combination act as an index that point to this block.  which is call index of Essbase.

      Basic Essbase Components Overview


      • Essbase Server: The server acts as a shared resource, handling all data storage, caching, calculations and data security.
      • Essbase Database: This multidimensional data cube can be implemented in the storage models Block storage (BSO) and Aggregate storage (ASO).
      • BSO supports dense data sets, enabling users to write back interactively and perform complex financial analytics.
      • ASO databases drive operational analytics and are optimized for high dimensionality, extreme sparsity of data, and dimensions with millions of members.
      • We cannot create more than 1 database in ASO, but we can create more than one database per application. If we have more dimensions (generally more than 10) then we will go for ASO.
      • We cannot write back in ASO, but we can write back in BSO.
      • Most of the dimensions are sparse in ASO whereas in BSO most of them are dense.
      • In BSO, there is a concept of dense, sparse and blocks. But in ASO there are no such concepts.
      • In BSO we have calculation scripts, but in ASO there are MDX scripts.
      • Administration Services: This database and system administrator’s interface to Essbase provides a single-point-of-access console to multiple instance of Essbase server.
      • Hyperion Smart view for Office: This s/w program provides a single Microsoft office interface for multiple Hyperion products.
      • Spreadsheet Add-in: This s/w merges seamlessly with excel. Using this spreadsheet add-in, you can access instances of Essbase server and perform ad hoc reporting.
      • Maxl: This practical, expressive interface for administering the Essbase system is one of the two functional domains of multidimensional database access language for Essbase. With Maxl DDL, we use statements to make requests. Maxl DDL improves on ESSCMD in that we can embed it in Perl programs by implementing the Perl module.
      • ESSCMD: This command-line language performs server operations interactively or through batch or script files. It is a legacy language not used in latest versions.
      • MDX: This multidimensional query language is the second of the Maxl functional domains. MDX provides the ability to perform advanced data extraction and querying by means of statement that include verb SELECT. We use MDX in general for ASO databases.
      • Essbase API: This developer’s interface to Essbase enables you to create customized applications in VB, C, or java programming languages.
      • Integration Services: It provides a metadata driven environment to bridge the gap between data stored in Essbase database and transactional data stored in relational databases.  It drills-through enables business users to view linked transactional data from Essbase reports.
      • Essbase studio: This graphical front end enables to build Essbase cubes from disparate data sources and provides an environment for deployment, development and maintenance of enterprise-scale Essbase analytic applications.
      • Administration services console: It is the common administration interface for Essbase. Database and system administrators use it to manage users and user security, server options, Essbase applications and databases, and database objects. It is organized into three frames as below.
      • Navigation Panel: When we start admin services console by default it will be shown. It’s a graphical hierarchy view of Essbase environment. We can create custom views for specific servers, applications or databases to reduce the number of mouse clicks required to navigate.
      • Object window: This workspace is where objects are displayed after we open them.  Since admin services console is a multi-window application, this provides a toolbar displaying shortcuts for opening and saving files.
      • Message panel: The message panel displays system information messages. It displays any verification errors, syntax errors etc,.



              Friday, July 12, 2013

              Essbase Modelling in OBIEE Admin Tool

                  Make sure you have all the pre-requisites setup for connecting the Admin tool to Essbase server/client.

                      Import the cube you want selecting Essbase as connection type and entering other details as shown:

              1   Once you click on Next, It will displays the Essbase Cubes under the server


                     Once the cube is imported the Dimensions and Facts appear in the Physical layer.
                    To display all the Measures or facts in Essbase Cube,
              Right Click Database [Basic] of Sample Application -> “Convert Measure dimension to flat measures”;


              Note: No need to create again star schema, OBIEE will brings all join relationships along with tables! Also, Hierarchies, ragged or skipped are automatically handled by OBIEE.

              As you can see from the screenshot below, the Market physical dimension has three UDAs associated with it; Major Market, Small Market and New Market.


              We can also observed here it will display the Intro Date, Caffeinated attribute dimensions as hierarchies

              3. Now Drag the Sample Cube from Physical to BMM layer and rename its object values if necessary.


                       Drag the Business Model to the Presentation Layer and make any naming convention changes as per the business requirement.
                      Check Global Consistency and Deploy in the Enterprise Manager.
                      Check results by creating Analysis.





              Essbase Client and OBIEE Client Connection

              In order to IMPORT AN ESSBASE CUBE in Administration Tool, make sure you have all this setup:
              Note: Essbase Version: 11.1.2.1 OBIEE Version: 11.1.1.6.2

                  1.       Essbase Client must be installed
                  2.       ARBORPATH = C:\Oracle\Middleware\Essbase1\EPMSystem11R1\products\ExcelAddin
                  This is EPM_ORACLE_HOME\products\ExcelAddin 
                  3.       ESSBASEPATH = C:\Oracle\Middleware\Essbase1\EPMSystem11R1\products\ExcelAddin

                  This is again EPM_ORACLE_HOME\products\ExcelAddin




              Incase, you haven’t installed the Excel Addin, then this will be the path for ARBORPATH AND ESSBASEPATH:
              ARBORPATH = ESSBASEPATH C:\Oracle\Middleware\Essbase1\EPMSystem11R1\products\Essbase\EssbaseServer
              1.       PATH = C:\Oracle\Middleware\Essbase1\EPMSystem11R1\products\Essbase\EssbaseServer\bin
              This is EPM_ORACLE_HOME\products\Essbase\EssbaseServer\bin
              2.       Check the Admin tool now and try to import the Essbase cube. If it still doesn’t work then…
              3.       Make sure you add/have these lines included the bi-init.bat file located at your ORACLE_HOME\bifoundation\server\bin
              In my case its C:\Oracle Business Intelligence Enterprise Edition Plus Client\oraclebi\orahome\bifoundation\server\bin

              Note: bi-init.bat takes care of the connections between the Admin tool and any external resources to be connected with it.

              Few contents from the file are excerpted as below:
              bi-init.bat
              set ORACLE_HOME=C:\Oracle Business Intelligence Enterprise Edition Plus Client\oraclebi\orahome
              set ORACLE_INSTANCE=C:\Oracle Business Intelligence Enterprise Edition Plus Client\oraclebi\orainst
              set ORACLE_BI_APPLICATION=coreapplication
              set ESSBASEPATH=C:\Oracle\Middleware\Essbase1\EPMSystem11R1\products\Essbase\EssbaseServer
              set ARBORPATH=C:\Oracle\Middleware\Essbase1\EPMSystem11R1\products\Essbase\EssbaseServer
              rem call %ORACLE_INSTANCE%\bifoundation\OracleBIApplication\%ORACLE_BI_APPLICATION%\setup\user.cmd
              if NOT "%1" == "" set COMPONENT_NAME=%1

              set PATH=%ORACLE_HOME%\bifoundation\server\bin;%ORACLE_HOME%\bifoundation\web\bin;%ORACLE_HOME%\bin;C:\Oracle Business Intelligence Enterprise Edition Plus Client\jre\bin;%windir%;%windir%\system32;%ESSBASEPATH%\bin;%ARBORPATH%\bin;%PATH%


              Note: The path of the folders should point to the bin folder where you have the dll files such as essapinu.dll which are vital for establishing the connection between Essbase and other applications.