Oracle Customer Engineering & Advocacy Lab (CEAL) Blog covers BI Tech, EPM, BI Cloud and EPM Cloud.

Oracle Hyperion Financial Management (HFM) Configurable Dimensions FAQ

What is Configurable Dimensions?

Configurable Dimension allows the HFM administrator to set the number of custom dimensions in the application. For each dimension it is possible to set the size of the dimension and give a short name and a long name (alias).

What are the benefits of Configurable Dimensions?

Configurable Dimensions provides HFM the flexibility lacking in the traditional tools with predefined fixed structures. HFM applications can be built with the exact number of custom dimensions needed. If 2 custom dimensions are necessary, then the application can be built with 2 dimensions. If it needs 4 or 6, the number of custom dimension can be set accordingly. Customer requirements drive the design and the structure of the application without constraints or compromises.

What kind of application can be built in HFM?

HFM is the preferred tool to create financial reporting applications. Management reporting and legal consolidation can be handled within the same application. Configurable dimension provides an expandable framework ideal to handle all the required details, whether it is operational or legal. For instance some dimensions can be used to analyze Product and Market information, while other dimensions for type of adjustments or eliminations. All the information in these configurable dimensions is automatically available in Web forms, Reports and in Excel using the SmartView module.

What is the “size” of a dimension?

The size of a dimension determines the total number of elements in the dimension. Depending on the size of the dimension, the system allocates in the database a different number of bytes for the index .

The size of a dimension can be either:

  • Large: 2 billions members (4 bytes used internally)

  • Medium: 32,000 members (2 bytes used internally)

  • Small: 128 members (1 byte used internally)

What is the minimum number of custom dimensions in an application?

The minimum is 2 custom dimensions. Technically the system requires these 2 dimensions to store the source and destination currencies for the exchange rates. The system will automatically create these 2 dimensions with a Large size.

What is the maximum number of dimension in an application?

The number of dimensions is limited by the total number of bytes used for all the index of these dimensions. This total must not exceed 40 bytes.

The system will always create the first two dimensions as Large, which will use 8 bytes. There will be 32 bytes remaining for additional customs.




Maximum number of elements



2 billions

Number of bytes used internally per dimension




Possible number of dimensions in the application

None to 32

None to 16

2 to 10

When creating an application, can I mix Large, Medium and Small dimensions in the same application?

Yes. It is possible to create some custom dimensions as Large and other dimensions as Medium or Small.

What happens when I reach the maximum number of elements in a dimension?

Although the officially published maximum number of elements is 128; 32,000; 2 billions for Small, Medium, and Large dimension, internally the system can accommodate twice this number of elements. Once the maximum number of elements is reached in a dimension, it is not possible to create additional elements. The solution is then to create a new application and set the dimension with a larger size.

Can we delete elements in order to regain some index number for new elements?

No. The system does not reuse index number of deleted elements.

After the application has been created in a Development environment, it is recommended to create a brand new application for Production containing only the final version of metadata and using internally only the exact number of index

Does Configurable Dimension have an impact on performance?

Configurable dimension does not have a direct impact on performance. In an application where Calculation rules are correctly written, performance is driven by the amount of data in the application, not by the number of dimensions or the number of elements in each dimension.

Does adding dimension to an existing application have an impact on performance?

Adding dimensions to an existing application is likely to introduce more detailed reporting and therefore require additional data and additional calculation rules. These additional data and rules will have an impact on performance.

What is the optimal number of custom dimension?

There is no technical optimum number independent from the business requirements. For a specific application, the optimal number of dimensions is the smallest number of dimensions necessary to handle the business requirements.

Is usability better with more dimensions or fewer dimensions?

Usability is better with fewer dimensions. It will be easier for the users to view and set the Point of View with fewer dimensions. There will be less dimensions to use in Journals, Reports, Grids, Web forms, SmartView.

Should existing applications be modified following the introduction of configurable dimensions?

The existing applications can be converted using the migration utility, they can continue to be used as is.

We have an existing application with 4 custom dimensions where only 3 custom dimensions are used. How can I remove the 4th unused dimension?

It is not possible to remove a dimension from an existing application. A new application must be created.

Should existing applications be redesigned to take advantage of configurable dimensions?

If the business requirements are the same, then the existing application should remain the same. If the reporting needs are evolving, then it is possible add new dimensions to the existing application.

How many custom dimensions should be used in an application?

The number of custom dimensions depends on the level of details of the reporting. When the same detailed analysis exist for multiple accounts, this detail should be created in a custom dimension. For instance, if Sales, Cost of Good Sold and Gross Margin must all be detailed by products, then it is advised to create a Product hierarchy in a custom dimension. When an account must be analyzed by a combination of details, for instance Sales by Product and also simultaneously by Market, then these details should be be created in separate dimensions. The more analytical details are required, the more dimensions are necessary. For instance, if Sales, Cost of goods sold and Gross margin must be analyzed simultaneously by Product, Market, Channels, and Packages, then it is advised to use 4 custom dimensions.

Can custom dimensions contain details of different natures?

Yes. A custom dimension can contain different type of details, as long as these details are used on different accounts. For instance if the P&L accounts are detailed by Products and the Balance Sheet accounts are detailed by Flows, then it is possible to use the same custom dimension for both details. Products and Flows will be created as separate hierarchies in the same dimension. When defining the accounts, P&L accounts will be associated with Product hierarchy and Balance Sheet accounts will be associated with Flow hiearchy.

Is it better to create more custom dimensions or fewer custom dimensions?

We believe it is better to create fewer dimensions because it will be easier for the user to navigate in the product. When possible we think it is better to use the same dimension for different type of details, using the top member attributes in accounts to define the correct intersections.

How does the system associate custom elements with accounts?

Like in prior version, the valid custom dimension elements are associated with accounts using metadata attribute <Dimension Name>TopMember.

Should I create the application with extra unused dimensions, just in case it will be needed later?

No. The application should be created with the exact number of dimensions required for the current business requirements. We will provide a separate utility to add custom dimensions to existing application. When a new dimension will be added to an existing application, all historical data will be preserved. The new dimension will contain a [None] element. The existing data will be set to [None] for the new dimension.

What is the impact of Configurable Dimensions on the User interface?

Several changes were made in the User Interface of the product to accommodate a variable number of custom dimensions. For instance, it is possible to control the dimensions displayed in the Point of View and also how the Point of View is displayed.

Are all Custom dimensions required when entering Journal?

Yes. In order to adapt the Journal module to a possibly large number of custom dimensions, the system can automatically move common elements from the rows to the page so that the user does not have to repeat the same element on every row.

How do the Rules work with Configurable Dimensions?

All existing functions continue to work. Some new generic functions have been created to handle applications with more than 4 custom dimensions.

How are custom dimension names and dimension alias used in the system?

Both custom dimension name and alias can be referenced in rules, web forms and system reports.

What is the impact of custom dimensions on the infrastructure platform?

There is no direct impact of custom dimension on the infrastructure. The infrastructure must be sized based on the number of concurrent users, the amount of data processed during consolidation, the amount of data processed in reports or other data retrieval mechanisms, the intensity of the calculation required. For best performance, 64 bit system using fast processors and large enough amount of memory is recommended.

Join the discussion

Comments ( 5 )
  • guest Tuesday, July 24, 2012

    What is the direct impact of the type of underlying database, i.e, SQL vrs Oracle, vrs IBM B2 as to the number of custom dimensions available?

  • Ahmed Wednesday, July 25, 2012

    Depending on the type of database, we can allocate number of "physical" columns for the custom dimensions. This will have direct impact as to maximum number of custom dimensions you can create for the application.

    With, you can define the “size” for each custom dimension. (Large – 4 bytes, Medium – 2 bytes, Small – 1 byte). Internally each “physical” column we allocate for the custom dimension is 8 bytes.

    For example, if we have ONE physical column for custom dimension, we can have either 2 large, or 1 large and 2 medium, or 1 large and 1 medium and 2 small or 1 large and 4 small and etc…. Again, you can have any combination as long as the total does not exceed 8 bytes.

    For SQL server, we support 5 physical custom columns. (Maximum 40 bytes – 8 bytes * 5)

    For Oracle DB, we support 21 physical custom columns. (maximum 168 bytes – 8 bytes *21)

    For DB2, we support 100 physical custom columns. (Maximum 800 bytes – 8 bytes * 100)

    Based on number of bytes available for the DB, you can figure out the maximum number of custom you can create for the app depending on size of your custom.

  • guest Wednesday, December 19, 2012

    Is the certain order of custom dimensions in an application important? Can it impact to speed of computations?

  • guest Thursday, January 31, 2013

    The article mentions a utility to add dimensions to an existing application. When will this utility be available? Thanks

  • guest Thursday, January 31, 2013

    The article mentions a utility to add dimensions to an existing application. When will this utility be available? Thanks

Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha