Dimension Types
When you tag an Essbase dimension as a specific, non-default type, the dimension can access built-in functionality designed for that type. The majority of dimensions can be of type None, making them suitable for standard categorization of your data. You can also set a dimension as Accounts, Time, or Attribute.
By default, standard (non attribute) dimensions are tagged as type None.
An Accounts dimension is best suited for financial measures that you need to analyze. If you define a dimension as accounts, you can specify additional accounting related capabilities for members in that dimension. You can designate only one accounts dimension.
The Time dimension is suitable for detailing the reporting periods that need to be represented in your analysis. An example of a time dimension is a one or more standard or fiscal calendar years, broken down into months or smaller units. You can designate only one time dimension.
Essbase calculates time and accounts dimensions before other dimensions in the database.
If members of a standard dimension have qualities or characteristics that you want to include in data analysis, you can define these characteristics in attribute dimensions. For example, you may have a Product dimension as a standard dimension, and an associated attribute dimension that details a variety of product characteristics.
Time Dimension type
Tag an Essbase dimension as Time if it contains members that describe how often you collect and update data. In the Sample.Basic database, for example, the Year dimension is the time dimension. The time dimension also enables several functions on account dimension members, such as first and last time balances.
Note the following guidelines for the time dimension.
-
You can tag only one dimension in an outline as time.
-
All members in the time dimension inherit the time property.
-
You can add time members to dimensions that are not tagged as time.
-
You can create an outline that does not have a time dimension.
To tag a dimension as Time using the Essbase web interface, open the outline for editing, select a top dimension member, and edit its general properties. Change Dimension type to Time. For more information, refer to Set General Properties.
If you are using an application workbook or Cube Designer to design the cube, you set the Dimension Type to Time on the Essbase.Cube worksheet (refer to Understand the Essbase.Cube Worksheet).
If you use REST API to change the outline, you would update the category property of the dimension to TIME when performing an add or update action, as documented in the endpoint for Run Batch Outline Edit.
Accounts Dimension type
Tag an Essbase dimension as Accounts if it contains financial metrics that you want to analyze, such as profit or inventory.
Note the following guidelines for the accounds dimension.
-
You can tag only one dimension in an outline as accounts.
-
All members in the accounts dimension inherit the accounts property.
-
If needed, you can specify that members of the accounts dimension are calculated on the second pass through an outline. See Two-Pass Calculation Property.
-
You can create an outline that does not have an accounts dimension.
To tag a dimension as accounts using the Essbase web interface, open the outline for editing, select a top dimension member, and edit its general properties. Change Dimension type to Accounts. For more information, refer to Set General Properties.
If you are using an application workbook or Cube Designer to design the cube, you set the Dimension Type to Accounts on the Essbase.Cube worksheet (refer to Understand the Essbase.Cube Worksheet).
If you use REST API to change the outline, you would update the category property of the dimension to ACCOUNT when performing an add or update action, as documented in the endpoint for Run Batch Outline Edit.
The following sections describe built-in functionality that is available for accounts dimensions.
Time Balance Properties
If needed, you can implement Time Balance properties on members in an Essbase accounts dimension, to change how those accounts are calculated based on time periods. The available Time Balance properties are None, First, Last, and Average.
If an accounts dimension member uses the time balance property, it affects how Essbase calculates the parent of that member in the time dimension. By default, a parent in the time dimension is calculated based on the consolidation and formulas of its children. For example, in the Sample.Basic database, the Qtr1 member is the sum of its children (Jan, Feb, and Mar). However, setting a time balance property causes parents, for example Qtr1, to roll up differently.
To set time balance properties using the Essbase web interface, open the outline for editing, select an accounts dimension member, and edit its general properties. You can select the Time balance property to be First, Last, Average, or None. For more information, refer to Set General Properties.
If you are using an application workbook or Cube Designer, you can set the TIMEBALANCE property as A for average, F for first, or L for last, next to the appropriate members in the dimension worksheet for the accounts dimension (refer to Understand Dimension Worksheets).
If you use REST API to edit the outline, you would update the timeBalance property of mbrInfo to FIRST, LAST, AVG or NONE when performing a member add or update action, as documented in the endpoint for Run Batch Outline Edit.
Example 5-1 Example of Time Balance as None
None is the default value. When you set the time balance property as none, Essbase rolls up parents in the time dimension in the usual way—the value of the parent is based on the formulas and consolidation properties of its children.
Example 5-2 Example of Time Balance as First
Set the time balance as "first" when you want the parent value to represent the value of the first member in the branch (often at the beginning of a time period).
For example, assume that a member named OpeningInventory represents the inventory at the beginning of the time period. If the time period was Qtr1, OpeningInventory represents the inventory at the beginning of Jan; that is, the OpeningInventory for Qtr1 is the same as the OpeningInventory for Jan. For example, if you had 50 cases of Cola at the beginning of Jan, you also had 50 cases of Cola at the beginning of Qtr1.
Tag OpeningInventory as first, as shown in the following example consolidation:
OpeningInventory (TB First), Cola, East, Actual, Jan(+), 50
OpeningInventory (TB First), Cola, East, Actual, Feb(+), 60
OpeningInventory (TB First), Cola, East, Actual, Mar(+), 70
OpeningInventory (TB First), Cola, East, Actual, Qtr1(+), 50
Example 5-3 Example of Time Balance as Last
Set the time balance as "last" when you want the parent value to represent the value of the last member in the branch (often at the end of a time period).
For example, assume that a member named EndingInventory represents the inventory at the end of the time period. If the time period is Qtr1, EndingInventory represents the inventory at the end of Mar; that is, the EndingInventory for Qtr1 is the same as the EndingInventory for Mar. For example, if you had 70 cases of Cola at the end of Mar, you also had 70 cases of Cola at the end of Qtr1.
Tag EndingInventory as last, as shown in the following example consolidation:
EndingInventory (TB Last), Cola, East, Actual, Jan(+), 50
EndingInventory (TB Last), Cola, East, Actual, Feb(+), 60
EndingInventory (TB Last), Cola, East, Actual, Mar(+), 70
EndingInventory (TB Last), Cola, East, Actual, Qtr1(+), 70
Example 5-4 Example of Time Balance as Average
Set the time balance as "average" when you want the parent value to represent the average value of its children.
For example, assume that a member named AverageInventory represents the average of the inventory for the time period. If the time period was Qtr1, then AverageInventory represents the average of the inventory during Jan, Feb, and Mar.
Tag AverageInventory as average, as shown in the following example consolidation:
AverageInventory (TB Average), Cola, East, Actual, Jan(+), 60
AverageInventory (TB Average), Cola, East, Actual, Feb(+), 62
AverageInventory (TB Average), Cola, East, Actual, Mar(+), 67
AverageInventory (TB Average), Cola, East, Actual, Qtr1(+), 63
Skip Properties for Time Balance
If you set the time balance property as first, last, or average in an accounts dimension, you should also set the skip property to tell Essbase what to do when it encounters #Missing values or values of 0.
Table 5-1 Skip Properties
Setting | Essbase Action |
---|---|
None |
Does not skip data when calculating the parent value. |
Missing |
Skips #MISSING data when calculating the parent value. |
Zeros |
Skips data that equals zero when calculating the parent value. |
Missing and Zeros |
Skips #MISSING data and data that equals zero when calculating the parent value. |
If you mark a member as time balance last with a skip property of missing or missing and zeros, the parent of that time period matches the last non missing child. In the following example, EndingInventory is based on the value for Feb, because Mar does not have a value.
Cola, East, Actual, Jan, EndingInventory (Last), 60
Cola, East, Actual, Feb, EndingInventory (Last), 70
Cola, East, Actual, Mar, EndingInventory (Last), #MI
Cola, East, Actual, Qtr1, EndingInventory (Last),70
To set time balance skip properties using the Essbase web interface, open the outline for editing, select an accounts dimension member, and edit its general properties. If Time balance property is not None, set the Skip option property to be None, #Missing, Zeroes, or Missing and zeroes. For more information, refer to Set General Properties.
If you use REST API to edit the outline, you would update the skip property of mbrInfo to NONE, MISSING, ZERO, or BOTH when performing a member add or update action, as documented in the endpoint for Run Batch Outline Edit.
Variance Reporting Properties
Variance reporting properties determine how Essbase calculates the difference between actual and budget data in a member with the @VAR or @VARPER function in its member formula. Any member that represents an expense to the company requires an expense property. By default, members are non expense.
When you are budgeting expenses for a time period, the actual expenses should be less than the budget. When actual expenses are greater than budget expenses, the variance is negative. The @VAR function calculates Budget – Actual. For example, if budgeted expenses are $100, and you spend $110, the variance is -10.
When you are budgeting non expense items, such as sales, the actual sales should be more than the budget. When actual sales are less than budget, the variance is negative. The @VAR function calculates Actual – Budget. For example, if budgeted sales were $100, and you made $110 in sales, the variance is 10.
To set variance reporting properties using the Essbase web interface, open the outline for editing, select an accounts dimension member, and edit its general properties. Set the Expense property to True or False. For more information, refer to Set General Properties.
If you are using an application workbook or Cube Designer, you can set the VARIANCEREPORT property as E for expense, or blank for non expense. Apply the code next to the appropriate members in the dimension worksheet for the accounts dimension (refer to Understand Dimension Worksheets).
If you use REST API to edit the outline, you would update the expense property of mbrInfo to true or false, when performing a member add or update action, as documented in the endpoint for Run Batch Outline Edit.
Attribute Dimension type
Use attribute dimensions in Essbase to report and aggregate data based on characteristics of standard dimensions. In the Sample Basic database, for example, the Product dimension is associated with the Ounces attribute dimension. Members of the Ounces attribute dimension categorize products based on their size in ounces.
Review the rules for using attribute dimensions in Overview of Attribute Dimensions.
To tag a dimension as an attribute using the Essbase web interface, open the outline for editing, select a member, and edit its general properties. Click Dimension type and select Attribute.
If you are using an application workbook or Cube Designer to tag an attribute dimension, update the Dimension Type property on the Essbase.Cube worksheet, next to the appropriate dimension name. For the value, you can enter Attribute-Boolean, Attribute-Numeric, Attribute-Text, or Attribute-Date. Refer to Understand the Essbase.Cube Worksheet.
If you use REST API to edit the outline, you would update the attDataType property of the dimension properties to the appropriate attribute data type (BOOL, STRING, DATETIME, or DOUBLE), when performing a dimension add or update action. Refer to documentation for Run Batch Outline Edit endpoint.