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
- Gross profit
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
- Sales & Marketing -- Sales & Marketing 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. |
Account |
Department |
Description |
1 |
Revenue |
0000 |
Revenue |
2 |
Cost of Sales |
0000 |
|
3 |
Total Expenses |
MFG |
|
4 |
Insert calculated row for Total Cost of Sales |
Total Cost of Sales |
|
5 |
Insert calculated row for Gross Margin |
Gross Margin |
|
6 |
Total Expenses |
Sales & Marketing |
Sales & Marketing Expense |
7 |
Total Expenses |
G&A |
G&A Expense |
8 |
Total Expenses |
SG&A |
Total Operating Expenses |
9 |
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.