Design Hyperion for a natural class and a functional income statement

Juan Porter explains what you need in Hyperion or Essbase for calculating a natural class and a functional income statement.

The natural class presentation and the functional presentation are two main ways many companies present their income statements. A natural class presentation follows the natural general ledger (GL) account classes and is sometimes referred to as the internal income statement or profit and loss, or P&L. The functional presentation enables companies to effectively re-class expenses in order to show a true gross margin. With this view, other selling general and administrative (SG&A) functional expenses are presented below the gross margin. The functional view is sometimes referred to as the external income statement, since this is the typical presentation that is submitted to the U.S. Securities and Exchange Commission, or SEC.

When designing a Hyperion Financial Management, Hyperion Planning or Essbase application, it is important to understand how dimensions impact the natural and functional income statement views. In order to demonstrate this, let's start with a typical application design.

For our example, assume you have a Hyperion application where the Entity dimension is GL Company, the account dimension is GL Account, and the department dimension is GL Department. This last needs to be created as a custom dimension.

The natural class income statement

Using the dimensions above, you need to use only the account dimension to present the natural income statement view. The key with this view of an income statement is to organize your account hierarchy to support the natural aggregation of the accounts. For an example, look at the accounts hierarchy below.

  • Operating profit
    • Gross profit
      • Revenue
      • Cost of sales
    • Total expenses
      • Personnel expenses
      • Office expenses
      • Travel expenses
      • Other expenses

By including the above accounts in the rows, you can use either Hyperion Financial Reporting or Smart View to present the natural class income statement simply.

The functional income statement

The functional income statement requires you to cross the account dimension with the department dimension -- also known as an Asymmetrical Report -- to define a given line or row on the income statement.

In addition to defining the account dimension, you need to organize the department hierarchy to support the functional rollups needed for this view. For an example, look at the department hierarchy below.

  • Total departments
    • 0000 -- Non-department-specific
    • MFG -- MFG departments
    • SG&A -- Total SG&A departments
      • Sales & Marketing -- Sales & Marketing departments
        • Sales -- Sales departments
        • Mktg -- Marketing departments
      • G&A – G&A departments
        • Finance -- Finance departments
        • IT -- IT departments
        • Facilities -- Facilities departments

Once you have the department rollups defined to support the functional income statement, define the report in Hyperion Financial Reporting or Smart View. In either case, include the account and department dimension in the rows and select the specific member combinations needed for each row. For example, look at the account and department:

Row No.









Cost of Sales




Total Expenses




Insert calculated row for Total Cost of Sales

Total Cost of Sales


Insert calculated row for Gross Margin

Gross Margin


Total Expenses

Sales & Marketing

Sales & Marketing Expense


Total Expenses


G&A Expense


Total Expenses


Total Operating Expenses


Operating Income

Total departments

Operating Income

In the row definition example above, you need to create two calculated rows to show total cost of sales and gross margin. You have to include not only the natural (direct) cost of sales, but also operating expenses.

One challenge with reports like this can be finding the right row description. In Smart View, you can hide the columns of the dimension references and insert custom headings. However, this limits the user's ability to effectively drill down.

In Hyperion Financial Reporting, you have more flexibility in defining the row descriptions. If you hide the account dimension column, you can create a custom heading for your department members and use the text functions MemberName, MemberAlias or MemberDescription to control which description you want to display.

For example, if you have <<MemberAlias("Grid1", current, "Account")>> as a custom heading for the "0000" department on row one, the row will show "Revenue" as the description instead of department "0000".

If you use the custom heading <<MemberName("Grid1", current, "Department")>> Expense for Sales & Marketing departments (row six) and G&A departments (row seven), these rows will show SG&A Expense and G&A Expense accordingly.

Once you have the custom headings defined for department members, hide the column for your accounts.

A key benefit of using this approach is that you can still enable expansions on rows six and seven, enabling the user to drill down to the children of the functional rollups on those rows.

While the above approach can be effective in Financial Reporting, it does not lend itself as well to Smart View. As a result, it is important to determine how users will need to analyze and present the data to determine the best approach.

Dig Deeper on Oracle Hyperion

Data Management
Business Analytics
Data Center
Content Management