Showing posts with label Hyperion Essbase. Show all posts
Showing posts with label Hyperion Essbase. Show all posts

Friday, October 11, 2013

Calculation Commands In Essbase

Calculation commands in Essbase is divided into groups based on Types as:

  • Data Declarations
  • Control Flow
  • Functional
  • Conditionals and
  • Member Formulas.

Data Declarations:
             These are used to declare, and set the initial values of, temporary variables. The values stored in a variable are not returned in queries, because they only exist while the calculation script is being processed. If you want to report these values, you need to create members within the database outline, or assign the values from the variables into existing members.

ARRAY:
              Typically, arrays are used to temporarily store variables as part of a member formula. The variables cease to exist after the calculation script ends. The size of the array variable is determined by the corresponding dimension (e.g., if dimension Period has 12 members, ARRAY Discount[Period] has 12 members). To create multiple arrays simultaneously, separate the array declarations in the ARRAY command with commas, as shown in the Example. Do not use quotation marks (") in variables

Syntax:
ARRAY arrayVariableName [dimName] = { constList};

Example:
ARRAY discount[Scenario];
yields an array of 4 entries, with the values 1 through 4 entered in those four entries.
ARRAY discount[Scenario] = {1, 2, 3, 4};
ARRAY discount[Scenario], tmpProduct[Product];

yields two arrays:
1. discount, corresponding to Scenario and containing four members
2. tmpProduct, corresponding to Product and containing nine members

VAR:
        Declares a temporary variable that contains a single value. We can also use a single VAR command to declare multiple variables by supplying a comma-delimited list of variable names. The name of the variable cannot duplicate a database member name. If a value is not declared, it is set to #MISSING. VAR commands can only be assigned values within a member calculation or when VAR is declared.

Syntax:
VAR varName [= value];

Example
VAR Target = 1200;

VAR Break1, Break2, Break3;

Control Flow Commands:
Control Flow commands are used to iterate a set of commands or to restrict the commands' effect to a subset (partition) database. They control the flow of a calculation script. The FIX…ENDFIX and EXCLUDE…ENDEXCLUDE commands restrict calculations to specified members. The LOOP…ENDLOOP command enables repetition.

  1. EXCLUDE…ENDEXCLUDE
  2. FIX…ENDFIX
  3. LOOP…ENDLOOP


EXCLUDE…ENDEXCLUDE
       The EXCLUDE command allows you to define a fixed range of members which are not affected by the associated commands. The EXCLUDE ENDEXCLUDE calculation block defines commands which are not to be performed on all other than those specified by the EXCLUDE statement that starts the block. The ENDEXCLUDE command ends an EXCLUDE command block. Specifying members that should not be calculated in an EXCLUDE..ENDEXCLUDE command may be simpler than specifying a complex combination of member names in a FIX…ENDFIX command. Use EXCLUDE…ENDEXCLUDE commands only within calculation scripts, not in outline member formulas. You can include EXCLUDE commands within FIX command blocks.

Syntax:
EXCLUDE (Mbrs)
COMMANDS ;
ENDEXCLUDE

Example:
The following example excludes calculations on the children of Qtr4, enabling calculation of other quarters in the Year dimension.

EXCLUDE (@CHILDREN(Qtr4))
CALC DIM (Year)

ENDEXCLUDE

FIX…ENDFIX
The FIX…ENDFIX command block restricts database calculations to a subset of the database. All commands nested between the FIX and ENDFIX statements are restricted to the specified database subset. The FIX command is a block command that allows you to define a fixed range of dimensions or members to which the associated commands are restricted. The FIX command is often used to calculate a subset of the database. You cannot use a FIX statement on a dimension if it is a subset of a dimension that you calculate within the FIX statement. For example you could not use Market "New Mkt" in a FIX statement if you calculate all of Market within the FIX statement.

Syntax:
FIX (fixMbrs)
COMMANDS ;
ENDFIX

Example:
FIX (Budget)
   CALC DIM (Year, Measures, Product, Market);
ENDFIX

FIX (Budget, Jan, Feb, Mar, @DESCENDANTS(Profit))
   CALC DIM (Product, Market);

ENDFIX

LOOP...ENDLOOP
         The LOOP...ENDLOOP command block specifies the number of times to iterate calculations. All commands between the LOOP and ENDLOOP statements are performed the number of times that you specify. LOOP is a block command that defines a block of commands for repeated execution. As with the FIX command, you can nest LOOP statements if necessary.

Syntax:
LOOP (integer, [break])
COMMANDS ;
ENDLOOP

Example:
In this example, the LOOP command finds a solution for Profit and Commission. This operation is done as a loop because Profit and Commission are interdependent: Profit is needed to evaluate Commission, and Commission is needed to calculate Profit. This example thus provides a model for solving simultaneous formulas.

FIX("New York",Camera,Actual,Mar)
   LOOP(30)
      Commission = Profit * .15;
      Profit = Margin - "Total Expenses" - Commission;
   ENDLOOP;

ENDFIX

Member Formulas:
         Member Formulas are used to calculate the default outline format on a custom formula within the script. As with formulas in the database outline, a formula in a calculation script defines mathematical relationships between database members. For example, the following expressions are valid within a calculation script:

"Profit_%"
      Specifying a member name with a formula defined in the outline calculates the member using its formula.

Expenses = Payroll + Marketing;
The above formula expresses a simple mathematical relationship, which is used in place of the database outline formula on the Expenses member.

Interdependent Formulas
            Essbase optimizes calculation performance by calculating formulas for a range of members in the same dimension. However, some formulas require values from members of the same dimension. A good example is that of cash flow, in which the opening inventory is dependent on the closing inventory from the previous month.

Functional and Conditional commands are Discussed in later post.

Tuesday, September 10, 2013

A Sample MaxL Script

     We can automate all the processes modeled in a single MaxL script. This script assumes that the application name is Sample, the database name is Basic, and the calculation script created earlier is named BudInc. It also assumes the load rules generated by the Essbase Studio process are as follows:

  • ACCOUN builds the Account dimension.
  • MARKET builds the Market dimension.
  • PRODUC builds the Product dimension.
  • SCENAR builds the Scenario dimension.
  • YEAR builds the Year dimension.
  • BASIC loads numeric data into the model.


The following script contains commented sections that explain the purpose of each command or block of commands.

/* Create a log file of the process and log into the Essbase sever.*/
spool on to 'c:/MaxL_Logs/output.txt';
login 'admin' 'password';
/* Build the Essbase database using the rules created by Essbase Studio*/
import database sample.basic dimensions
connect as 'admin' identified by 'password' using server rules_file 'ACCOUN',
connect as 'admin' identified by 'password' using server rules_file 'MARKET',
connect as 'admin' identified by 'password' using server rules_file 'PRODUC',
connect as 'admin' identified by 'password' using server rules_file 'SCENAR',
connect as 'admin' identified by 'password' using server rules_file 'YEAR'

on error append to 'C:/MaxL_Error/dimbuild.txt';

/* Load data into the Essbase database using the rule created by Essbase Studio*/
import database sample.basic data
connect as 'admin' identified by 'password' using server rules_file 'BASIC'
on error append to 'C:/MaxL_Error/data.txt';
/* Execute the BudInc calculation script */
Execute calculation sample.basic.budinc;
/* Execute the Top report script*/
export database sample.basic using server report_file 'top.rep' to data_file
'c:/MaxL_Reps/top.txt';
/* Close log file and exit*/
spool off;
exit;

Understanding How Drill-Through Works

             Drill-through is the ability to navigate from your intersection in an Essbase reporting environment to data found in another source. Essbase Studio passes your current context to the other data source. When you drill into the cell at the intersection of Row and Column, Oracle Hyperion Smart View checks for the existence of a drill-through report for this data cell and finds one for Supplier detail. When the report is launched, the context of the data cell is passed into a SQL statement. 

Essbase Studio supports the following sources for drill-through reports:

  • Relational sources
  • URL, standard (manual) or within the template for Oracle Hyperion Financial Data Quality Management (FDM) or for Oracle BI EE.
  • Custom SQL.
  • Java method


Creating a Drill-Through Report:

     To create a drill-through report, follow these steps:

  1. In the Metadata Navigator, right-click the Drill Through Reports folder and select New | Drill-through Report.
  2. Specify a name for the report.
  3. In the Intersections area, click Add.
  4. Expand sales analysis and Hierarchies.
  5. Select Product, and then click OK.
  6. Change the intersection level to be only Family.
  7. Select the Report Contents tab.
  8. Add the columns to the reports by dragging and dropping from either the Data Sources area or the Metadata Navigator.
  9. Select the Associations tab.
  10. Select sales analysis model, and then click Save.
  11. Select the Report Contents tab.
  12. Deselect Show Duplicates in Report, and then click Test.
  13. Click Close twice.
The report is now available.

Tuesday, September 3, 2013

Introduction to UDA and Attribute

Essbase supports two different kinds of attributes, one called user-defined attributes (UDAs) and the other simply called attributes. A UDA is essentially any arbitrary “string-tag” that can be associated with any member from any regular dimension. A member can have multiple tags associated. The user can query to get all members of a dimension that have a specific tag (UDA). UDA-association of a member is also exposed in MDX as a dimension property of type Boolean as well. UDAs are displayed under the Member Properties folder of the associated dimension in the metadata tree view. When a UDA is dragged onto the design pane of the query designer, the generated MDX query automatically includes the associated dimension and puts the UDA onto the Dimension Properties clause of the query. There is no automatic aggregation of data to UDA values.
An attribute is more similar to a dimension property in the OLAP sense. Values for an attribute are collected in an attribute dimension, which may form a multilevel hierarchy similar to a regular dimension. Attribute values can be types of number, string, Boolean, and date. When an attribute is associated with a regular dimension, it appears under the Member Properties folder of the dimension in the metadata tree view. Drag an attribute from the Member Properties folder onto the design pane of the query designer and the generated MDX query automatically includes the associated dimension and puts the attribute onto the Dimension Properties clause of the query. An attribute dimension can also be selected on the Rows clause of the MDX query like a regular dimension. In this case, data is automatically aggregated from the associated dimension members to the attribute member.
Neither UDAs nor attribute values can be associated with calculated members. A request for a UDA associated with a calculated member always returns FALSE. Similarly, if you request for an attribute value related to a calculated member, you will always get NULL.

Loading Data Using Rules File

Today we are going to discuss how to create some dimensions using rule files. The approach to create these files is as follows:
  • From administration service console, select File>Editors>Data prep editor.
  • Select file> Open data file.
  • Select the file system tab.
  • Select required flat file to load and click OK.
  • The contents of flat file are displayed in Data prep editor.

Setting Data Source Properties:
  • Select Options > Data source properties.
  • Select the Header tab.
  • In the number of lines to skip text box, enter 1. Then OK.
  •  Then on the View menu clear the check mark next to raw data. The source data view is hidden as shown below.

  • Select view> Dimension build fields.
  • Select Options> Associate outline.
  • If necessary, expand the Hyperion server node and the desired application node to display the Sales database node.
  • Select Sales. Then save.


Adding the Product Dimension.
  • Select Options> Dimension build settings.
  • Select the Dimension Definition tab.
  • Select Rules file.
  • Next to Dimensions, click “Click here to Edit”.
  • Enter Product.
  • Press Enter. Check the result with below figure.


  • Right click Product, and select Edit properties.
  • In the data storage section, select Label only.
  • In the configuration section, select Sparse.
  • Compare results with the following figure:




Selecting the dimension build method:
  • Select options> dimension build settings.
  • Select the dimension build settings tab.
  • In the dimension list, double-click Product.
  • In the “Build method” section, select use generation references.
  • Click OK.
Defining field Properties:
  • Select Field1.
  • Select field> Properties.
  • Select the Dimension Build Properties tab.
  • To set the properties for field 1, perform the following action:
  • In the dimension list, double-click PRODUCT.
  • Under field type, double click Generation.
  • In the field number text box, enter 2.
  • Click Next. In the dialog box, “field Number: 2” is displayed under the tab names.
  • To set the properties for Field2, perform the following actions:
  • In the dimension list, double-click Product.
  • Under field type, double-click Property.
  • In the Field number text box, enter 2.
  • Click Next.
  • Using the information in the following table, set the properties for the remaining fields:
  • Click OK to return to Data Prep Editor.
  • Compare the results with the following figure:
Validating and Saving the Rules file:
  • Select Options> validate.  The message The rules file is correct for dimension building id displayed.
  • Click OK and save.
  • Select the Essbase server tab.
  • In the “Look in” drop-down box, select Sales.
  • In the “File name” text box, enter Famgen.
  • Click OK.
Update Sales Outline:
  • Open the Sales outline.
  • Select outline> Update outline.
  • Click Find Data File.
  • Perform the following tasks:
  •  Select the File System tab.
  • Select the desired text file
  •  Click OK. Our flat file is displayed in the list of data files.
  • Click Find Rules File.
  • Perform the following tasks.
  • On the Essbase server tab, select the desired file.
  • Click OK then it is displayed as selected rules
  • Click OK Essbase process the dimension build. When the build is completed, the Dimension Build Completed dialog box is displayed.
  • Save the Sales outline.




Monday, August 26, 2013

Different ways to get data from Essbase Cube

There are many different ways to extract data from an Essbase database. Here is the list of various methods of extracting data from your Essbase database:

Essbase Add-in for Microsoft Excel: 

Designed to work seamlessly with the world's most popular spreadsheet program, the Essbase add-in is the tool of choice of data analysts everywhere. We can pull data out of our Essbase database with the add-in and load up an Excel worksheet. Even though Microsoft Excel has a limit of 65,536 rows through the 2003 version and many more rows available in Microsoft Excel 2007, it seems that Essbase can have a hard time handling spreadsheets that contain more than 1,000 rows. Performance rapidly degrades and we can even experience timeouts.

Oracle Smart View: 

This tool is separate from the Essbase add-in and in fact, must be purchased as a separate component to be used with the Essbase suite of applications. As will be discussed at great length in the Appendix, Smart View is a dynamic data retrieval tool that allows the user to pull data directly from an Essbase database into any of the Microsoft Office components. This allows for the creation of Microsoft PowerPoint presentations that never need data updating as fresh data can be retrieved in real time into the slides. The same holds true for Microsoft Outlook emails and Microsoft Word documents.

Essbase Query Designer:

This tool is a part of the Essbase add-in and is a menu pick from the Essbase menu in Microsoft Excel. The Essbase Query Designer tool allows you to create simple to complex Essbase queries. This is accomplished through the use of an easy to use visual query wizard. The saved query can be opened and retrieved in Microsoft Excel to return your data.

Essbase Report Script: 

An Essbase report script can be created from scratch as an ASCII text file or conveniently, a report script can be created by Essbase, as a by-product of the Query Designer function. Essbase report scripts can be executed within a Microsoft Excel worksheet, Essbase command script or MaxL script, or from an Essbase API call.

Essbase MDX Query Language:

Essbase MDX can be easily described as a structured query language for multidimensional databases. MDX queries for the most part use simple and easy to understand statements to extract data from your Essbase database. MDX queries can be executed in much the same manner as Essbase report scripts or MaxL scripts.

             All of the above mentioned methods are used to report or extract the data that is in your Essbase database or cube. Some of the above mentioned tools go beyond the scope of the Microsoft Excel add-in and can be used by the other Microsoft Office products as well like Oracle Smart View. The Essbase add-in is the most complete tool in terms of functionality and ease of use. Included with the Essbase Add-in for Microsoft Excel is the Essbase Query Designer (EQD), which allows you to visually design custom reports from Essbase. The downside to the EQD is that the reports are only usable in Microsoft Excel. The Essbase report script can be used to run reports from a batch program and automatically send a morning report to key persons. While the formatting can be orderly, the report is still an ASCII based report without the pretty colors or graphs. And then there's MDX, which is a nice option, but the scripts do tend to require a bit of maintenance. However, the resultant output is in a very usable format.

Attribute Dimension Overview

    We can use attribute dimensions to retrieve and analyze data not only from the perspective of dimensions, but also in terms of characteristics, or attributes, of the dimensions. Essbase offers a specialized type of attribute dimension, called a varying attribute dimension. Varying attributes enable you to store changing attribute values in relation to other dimensions. 

Attribute Dimension Benefits:

          The following are a few ways that analysis by attribute provides depth and perspective, supporting better-informed decisions:

  1. We can select, aggregate, and report on data based on common attributes.
  2. By defining attributes as having a text, numeric, Boolean, or date type, you can filter data using type-related functions such as AND, OR, and NOT operators and <, >, and = comparisons. Only text attribute dimensions are supported in Planning databases.
  3. We can use the numeric attribute type to group statistical values by attribute ranges; for example, population groupings such as <500,000, 500,000–1,000,000 and >1,000,000.
  4. Through the Attribute Calculations dimension, automatically created by Essbase, we can view sums, counts, minimum or maximum values, and average values of attribute data.
  5. We can perform calculations using numeric attribute values in calculation scripts and member formulas.
  6. We can create cross-tabs of attribute data for a dimension, and you can pivot and drill down for detail data in spreadsheets.
         An attribute cross-tab is a report or spreadsheet showing data consolidations across attributes of the same dimension. Although we can create multilevel attribute hierarchies, they can have a serious impact on database and retrieval performance and should be avoided.

Attribute Calculations Dimension: 

            When we create the first attribute dimension in the outline, Essbase creates the Attribute Calculations dimension, which includes five members with the default names Sum, Count, Min (minimum), Max (maximum), and Avg (average). We can use the members in spreadsheets or reports to dynamically calculate and report on attribute data.
          The Attribute Calculations dimension is not visible in the outline. However in certain Oracle reporting tools that have been customized to work with Essbase, we can observe the presence of Attribute Calculations wherever we select dimension members, such as in the Member Selection dialog box in Financial Reporting or in Web Analysis.

The Attribute Calculations dimension has the following properties:

  1. System-defined. Essbase creates the Attribute Calculations dimension and its five members automatically. We cannot add or delete members.
  2. Label only. Like all label only dimensions, the Attribute Calculations dimension shares the value of its first child, Sum. When we view an attribute member in a report, you are effectively viewing the Sum calculations, whether or not the Sum member is displayed.
  3. Dynamic Calc. The data in the Attribute Calculations dimension is calculated when a user requests it, and then it is discarded. You cannot store calculated attribute data in a database.
  4. Not displayed in Outline Editor. The Attribute Calculations dimension is not displayed in Outline Editor. Members from this dimension can be viewed in spreadsheets and reports and managed on the Properties tab in Outline Editor.

There is no consolidation along attribute dimensions. We cannot tag members from attribute dimensions with consolidation operators or with member formulas to calculate attribute data.

Hyperion Business Rule Overview

In budgeting, the business logic requirement is not easy to achieve through the Planning outline design. We employ Business rules to implement complicated calculations. We are not going to code in any complicated programming language for a Business rule; rather, it will be all graphical in nature. Graphical interfaces ease Business rule creation, even for users with a business (non-technical) background. Nevertheless, Business rules can also be created by coding in all the calculations. In fact, the graphical interface also generates code behind the scenes and the user developing a rule using the graphical interface can switch to the source section for viewing the generated code. Business rules make use of the predefined functions and formulas of Essbase. Business rules are not created within the Planning web, unlike the outline structure or member formulas. We create Business rules through the EAS console. Nevertheless, we can create rules using the Calculation manager (which is a part of EPM architecture).

Some of the Advantages of Business rule are:

Easy to Create
  1. Macros simplify the creation of business rules and sequences, and save business rule designers time by enabling them to reuse pieces of business rules in other business rules or macros.
  2. Variables of the saved selection type can be used at run time and during design time to make business rules easier to design.
  3. Predefined and reusable formulas that define cost and revenue calculations save business rule designers time during the design process. The following formulas are provided:
  • Pro-Rata Ratio
  • Units-Rates
  • Variable
  • Custom
The graphical depiction of components, formulas, and processes makes it easy to construct business rules in a multidimensional application.

Easy to Use

  1. Business rules can be launched by business users from within Oracle Essbase Administration Services, the Business Rules Web Launcher, the Business Rules Command Line Launcher, and the Oracle Hyperion Planning, Fusion Edition Web Client.
  2. Business rules can be launched in all Essbase server environments.
  3. Business rules can be stored and run on a server across a wide area network (WAN).
  4. Business rules with run time prompts ensure valid inputs from budget prepares.
  5. Entry of run time prompt values during launching makes a single, centrally created business rule reusable by several users.
Easy to Maintain

  1. The Business Rules architecture supports enterprise-wide maintenance and methods of use that can be successfully managed and deployed to multiple business users.
  2. Business rules, sequences, macros, variables, and projects can be stored in any of these repositories: Microsoft Access, Microsoft SQL Server, Oracle, or DB2 for shared, enterprise wide access.
  3. Use of a central repository makes administration and maintenance of business rules easy, because the repository stores information for applications in one database.
  4. The logical organization of business rules, sequences, macros, and variables into projects makes them easier to find and maintain.
There are 4 main options in Hyperion Business Rule. They are

  1. Rules – A rule typically runs a specific calculation/allocation on a single Essbase Database. It can be extended quite extensively to include advanced calculation scripts.
  2. Sequence – A sequence basically helps in sequencing a list of rules based on business requirements. It basically provides an order to the Rules execution.
  3. Macros – Macros are like mini rules which can be reused across multiple rules.
  4. Global Variables – Global Variables are nothing but a set of variables that provide a global context to the variable values.
Since Hyperion Business rule comes along with EAS, its security is derived from Shared Services. Each rule/sequence execution/validation by a user can be controlled through the shared services console. HBR is relevant only to BSO cubes as ASO cubes do not support calculation scripts.

Monday, August 12, 2013

MaxL Scripts Overview

        MaxL is the multi-dimensional database definition language (DDL) for Essbase Server. Using MaxL, you can easily automate administrative and query operations on Essbase Server.
        A MaxL script contains a login statement and a sequence of MaxL statements, each terminated by a semicolon. If you use MaxL Script Editor to execute a MaxL script, the login statement is optional; you can select the Essbase Server that you want to connect to from the editor. Most MaxL statements begin with a verb and consist of grammatical sequences of keywords and variables. MaxL Script Editor color-codes the elements of the MaxL syntax and provides an auto-complete feature that helps you build statements as you type. We don't need to save MaxL scripts in order to execute MaxL statements. We can interactively type, execute and clear the MaxL statements within the editor to execute multiple scripts.

 Most operating systems support three channels for input/output:

  • STDIN (standard input channel)
  • STDOUT (standard output channel)
  • STDERR (standard error channel)


                  Most operating systems also provide command-line options for re-directing data generated by applications, depending on which of the above channels the data is piped through.
                  Errors in MaxL are flagged as STDERR, allowing command-line redirection of errors using operating-system redirection handles. Non errors are flagged as STDOUT; thus normal output may be logged separately from error output. Beginning with Release 7.0, MaxL Shell errors are by default directed to the errorstream, and output is directed to the output stream.

Essbase Calculation Script Overview

       Calculation Script is group of command lines, those are use for calculation. Calculation scripts are text files that define how to calculate data in the database. In a block storage database, they represent the second method of calculations after the basic outline calculations. Calculation scripts perform calculations different from the consolidations and mathematical operations that are defined in the database outline. Calculation scripts files have a “*.csc” extension.

       A database contain two types of values: the values we have enter and the values that are calculated from the input data. 
  • Outline calculations:  Outline calculations represent the simplest method of calculation. In BSO Essbase calculates the database according to the relationships between members in the database outline and according to member consolidation operators or formulas.
  • Script based calculations: A calculation script contains a series of calculation commands, equations, and formulas. We use calculation scripts exactly how we want Essbase to calculate a BSO.
  • With custom calculation scripts, we can override default database calculation on a temporary or permanent basis. In custom calculation scripts, we can refer to calculation rules defined in the database outline. The most common commands that reference outline calculations are CALC ALL, CALC DIM and AGG.

Calculation script Organization:
 
        When creating a large calculation script, you need to plan the process, creating an architecture for calculation structure. Creating an architecture gives your calculation scripts a logical flow and ensures that calculation order and data block construction provide correct answers and optimal performance. Calculation script is organized in six standard sections:
  • Information: It contains of details like script name, created by, on date, purpose of the script, directions to execute, versions, assumptions, comments, revised by and description.
  • Housekeeping: This section sets the stage for the next sequence of calculations to occur. Two categories of commands used are SET and data manipulation commands. 
  • SET commands prepare the calculator for proper processing of the commands in the resr of the script.
  • SET CACHE HIGH: Instructs the calculation process to use the highest calculator cache setting stored in Essbase.cfg file.
  • SET MSG SUMMARY: Instructs Essbase to display summary-level message in the application log of calculation process.
  • SET UPDATECALC OFF: turns the intelligent calculator off. When intelligent calculation is used, Essbase calculates only blocks that were updated since the last calculation.
  • SET CALCPARALLEL 4: Enables parallel calculation across four threads, in place of default serial calculation.
  • Baseline fix: The baseline fix section is found near the top of most calculation scripts and defines the specific focus of the script. There are a number of issues to consider when creating a baseline fix. 
  • Because Essbase requires you to reference data across all dimensions, it is common practice to add a member such as No customer to a dimension to represent data to which the dimension does not apply.

Saturday, August 3, 2013

Basics of Hyperion Planning

          Oracle’s EPM System is a complete, open and integrated system that supports a broad range of analytic requirements.  It includes three layers of capabilities – Information Delivery, EPM and BI Applications and a common Business Intelligence Foundation.

          First is the Information Delivery Layer – this provides a complete set of information delivery and access capabilities – designed to address the needs of different types of users in an organization.  This includes interactive dashboards for execs and managers, ad-hoc analysis tools for power users, MS Office interface for Finance users, pixel-perfect reports and mobile support for casual users and others.

          Our EPM and BI Applications layer includes an integrated suite of market-leading performance management applications.  Based on the Hyperion suite, our PM Applications address key strategic and financial performance management processes including Strategy Management, Planning & Forecasting, Financial Close & Reporting, and Profitability Management.  It also includes integrated BI applications that can help users analyze data from ERP and CRM applications and also support specific industry requirements.

Hyperion Planning has the following characteristics: 

Pervasive
       It enables all levels of your organization to see information optimized for their role.
Comprehensive
       It incorporates information from your financial performance management, operational intelligence, and transactional applications.
Hot-pluggable
       It integrates with any data source, extraction, transformation and load tool, major business application, application server, security infrastructure, portal technology, front-end and analytical tools, and database.

Planning Features
        The following are the some of the features of planning.
Facilitates collaboration, communication, and control across multi-divisional global enterprises.
Provides ease of use and deployment through the Web or Oracle Hyperion Smart View.
Lowers the total cost of ownership.
Enhances decision-making.
Promotes modeling with complex business rules and allocations.
Integrates with other systems to load data.

Integrates with reporting applications for reporting and analysis.

Workspace Overview: 
         Workspace provides a centralized interface for viewing and interacting with content created using Hyperion financial applications, such as planning and financial management, and reporting content.

Benefits of using Workspace: 
  • Single user logon to access both reporting and analysis content and planning.
  • Single console for application management and creation.
  • Centralized repository of key dimensional element for Hyperion products and console for controlling data flow between applications.
  • Audit logging and process controls.
  • Using workspace we can perform following tasks like build and manage applications.
  • Manage data sources and manage metadata and data.
  • Perform planning and consolidation application tasks, create rules with calculation manger.
  • Conduct high-performance multidimensional modeling, analysis and reporting with Essbase.
  • Use interactive reporting to generate ad hoc relational queries, self-service reports, and dashboards against ODBC data sources.
  • Access and interact with other published content, like word or excel documents.
  • Migrate entire applications or individual application artifacts to different servers.
  • Launching workspace is done through entering the following URL in your web browser.
http://<web server> :< port number>/workspace.

Thursday, August 1, 2013

Errors In Hyperion Workspace

Error
      Here is one of the possible error that we may face in Excel sheet with Excel Add-in: 
      "Essbase has encountered an internal Excel error. Your sheet will not be overwritten and none of your data will be lost. However, you are strongly urged to exit Excel and restart in order to clear up the problem" 

This was caused by a fixed Defect

Solution:


  • Open your Excel Workbook.
  • Go to File -> Save As and save it as an 'Excel 97-2003 Workbook'.
  • Close and re-open this newly saved file.
  • Go to Files -> Save As and save it back as an 'Excel Workbook' (this will reset it as an Excel 2007 book).



You should now be able to retrieve without errors.

Error:
     When logged into workspace to access the applications – some of the users are not able to view the applications and getting blank drop down list box from menu File->Open ->Applications->Planning -> Blank drop down list box as shown in the screen shot below.


Solution :
1. Add your Workspace Web server name to the list of Trusted Sites in IE (Internet Options > Security > Trusted Sites > Sites)


  • Change the security settings for Trusted Sites by clicking the Custom Settings button in the Security Tab.


  • Change the setting for ‘Allow script-initiated windows without size of position constraints’ to ‘Enable’.



  • Refresh Internet Explorer windows and restart IE.
Error:
       Outlook issues from Smart View install.


To resolve this issue, use one of the following methods to remove the reference...
Method 1
  • Start Outlook. 
  • In the navigation pane, right-click the folder that is associated with the missing Outlook data file. 
  • Click Close Folder_Name.
Note Folder_Name is the folder that is associated with the missing Outlook data file. 
  • Restart Outlook.
Method 2
  • Start Outlook. 
  • On the File menu, click Data File Management.
  • Click the folder that is associated with the missing Outlook data file, and then click Remove.
  • Restart Outlook.


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 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.