User Defined Dimensions 1-8

Members can take full advantage of Extensible Dimensionality for inheriting and extending across business units and Scenario Types. When determining the order in which to use User Defined Dimensions, it is recommended to define the larger or more significant Dimensions first using UD1 or UD2. Stacking hierarchies in one User Defined Dimension does not affect calculation time because performance is primarily based on the number of stored data cells, rather than the number of possible intersections.  

Security

Display Member Group

The group of users who can see that this Dimension exists within a list of Dimensions.

Settings

For Formula Type and Allow Input see Account Dimension.

Is Consolidated

If set to Conditional (True if no Formula Type and no Attribute (default)): The data from this entity’s children is consolidated; this entity will equal the total of its children.

If set to True (regardless of Formula Type and Attribute): Consolidate the results of the dimension and the attribute. Consolidate and/or aggregate UD attributes when they reference entity, as the reference Dimension to view results at the parent entity instead of having the Parent entity use the same algorithm as the base entities.

If set to False: The data will not be consolidated. Set to False when using the Parent Entity strictly for grouping purposes. Also, by setting Is Consolidated to False helps with consolidation performance times because the consolidation will not be performed at the Parent Entity.

Alternate Currency for Display

This is a setting to change the Cube View grid currency value to another value. It does not recalculate the Member based on the currency. This requires a formula on the Member to recast the transaction from another Member to the current currency.

Vary by Cube Type

UD1 Default for Other User Defined Dimensions

Set a default value on the UD1 Dimension in order to drive the Members for other User Defined Dimensions (2 through 8). For example, if the UD1 Dimension is Cost Centers, an administrator can drive which UD2 Member (such as Department or Product) will be chosen based on the UD1 selection. A constraint can be placed on the other User Defined Dimensions in order to create conditions for valid intersections in the Cube. 

UD2-UD 8 Constraint

A constraint is a setting that allows only certain Members to be used. If a Member is outside the UD Constraints applied on the Account Dimension, its cube intersection will show as a red/invalid intersection and any numbers in that intersection will not aggregate. Constraints applied on the Entity and UD1 Dimensions will create a green, no input data intersection.

UD2-UD8 Default

This is the standard default Member that can be mapped for a setting and saves having to map to each Member. If the setting says Default, the mapping will always go to that default. 

Vary by Scenario Type

See Account Dimension.

Vary by Scenario Type and Time

See Account Dimension.

User-Defined Members as Attribute Members

A User Defined member can be alternatively defined as an Attribute Member by activating the Is Attribute Member property. When activated as an Attribute, the User Defined Members becomes a “read only” member based on the settings for the related reference properties. Data intersections are not loaded directly to an Attribute, its results are derived from references to properties of other members, such as Names, Descriptions or Text fields. These members act like other dimension members by deriving their values based on the references to other properties and can then be used in reporting.

The Account, Flow and User Defined Dimensions, as Related Dimension Types, support the Attribute Members for “calc-on-the-fly” aggregations at parent members. The dynamically generated results within the Attribute Members will be automatically aggregated to the parent members. Being stored members, the Entity and Scenario, as Related Dimension Types, do not support “calc-on-the-fly”.  Attribute Member results on Entity or Scenario will only be available on base members.

The use of User-Defined Attribute Member can impact application performance, particularly with respect to Consolidation time. The impact is due to the dynamic generation of User-Defined Attribute members’ data intersections adding to the size of the final Data Unit. Therefore, the potential intersections derived from User-Defined Attribute Members should be included in application Data Unit analysis. As a guideline, typical application designs should always consider the performance evaluation of User-Defined Attribute Members should the number of User-Defined Attribute Members approach approximately 2000 items.

The User-Defined member as an Attribute is unique:

  • The data will dynamically calculate across each dimension hierarchy.

  • The Attribute members will not impact the size of the Data Unit in Consolidation.

  • Values derived by Attribute members can be referenced by Business Rules and by member formulas.

  • The members are treated as standard dimensions and records in that they will be processed within a Cube View’s Allow Sparse Suppression routine supporting large sparse application model reporting.

  • The results can be modified quickly and easily by modifying the definition of the reference on the Attribute member or from a change on the properties of source member(s) even if those properties (e.g. Text4) vary by Scenario Type or Time.

The model design and use of Attributes should consider if the feature is appropriate for the application model. Here are some considerations:

  • Attributes may not be appropriate in situations where reporting on the Attribute member must be maintained with a high level of data integrity. This is due to the dynamic nature of the Attribute where its results are based on properties of other members.

  • Attribute results cannot be locked for data integrity.  Although the underlying data being referenced will be locked, modifying the definition of the Attribute or a change on the properties of the referenced source member, this may impact the results.

  • Since Attribute members do not store data, they can be deleted and are not subject to data integrity restrictions if in use. Therefore, dynamic designs of reports and use in rules should be considered.

  • Attributes cannot be input or contain formulas; however, they can reference other input members or calculated members as a source.

  • Attribute data cannot be extracted to a data file.

  • Drill-Down based on the Attribute member intersection cannot be used to drill-back to the Stage Load Results, the Source Member for Data reference member defined on the Attribute must be used.

Consolidate UD Attributes

Consolidate UD Attributes, when referencing Entity as the reference Dimension, consolidates Attribute results. The results could consolidate vs the Parent entities using the same algorithm as the Base Entities.

Set Is Consolidated to True on the UD Attribute to enable attribute members to Consolidate to Parent Entities.

  • Numbers entered at the None Level settings Attribute Member, referenced Dimension is Entity.

  • Uses of the “Is Consolidated” setting.

  • Default is “Conditional (True if no Formula Type and no Attribute (default).

  • Consolidation is enabled when “True (regardless of Formula Type and Attribute)” – consolidate the results of the dimension and attribute.

UD Attribute will also work with the Aggregated Cons Member.

  • Switch Local to Aggregated in the Cons Dimension

  • Local, Aggregated and Top

    • At the Base Level Entity Aggregated and Local are the same.

    • At the Parent Entity it switches over and Aggregated is a different Member.

  • It works across all of the Consolidation Dimension Members.

  • It is the Sum of the Children; not a pointer at the Parent Level.

Setting Attribute Properties

The User Defined Member Settings under the Attribute Member section are used to define the source of the data used for results. 

An Attribute member can define its source reference by up to two physical dimensions using the Related Dimension Type. The interaction between the two references is handled by the Expression Type. 

Expression Types

  • Comparison 1 Only: This is used for an Attribute utilizing only a single Related Dimension

  • Comparison 1 and Comparison 2: This is to utilize two Related Dimensions where the results will be bound by meeting both Related Dimension conditions

  • Comparison 1 Or Comparison 2: This is to utilize two Related Dimensions where the results will need to meet one of the Related Dimension conditions

Is Attribute Member

True/False to enable the User Defined Member as an Attribute.

Source Member For Data

This represents the member within the User Defined Dimension, containing the current attribute, which will be used to define the data returned. This member must be a base level member, such as the None member or a calculated base member. A hierarchy parent member cannot be used.

Expression Type

Used to utilize one or two Related Dimensions and the conditional relationship between two to return results.

Related Dimension Type

Identify the Dimension to use as a source to be evaluated. To support on-the-fly aggregations, an Attribute can reference any Account, Flow or User-Defined dimension.  Entity and Scenario are stored members; therefore, Attributes will only be reflected as base members. They cannot reference the User Defined Dimension in which it is contained.

Related Property

The Related Dimension can be evaluated on its Name, Description, Name or Description, Name and Description, Text1-8. The Related Property will be evaluated only on the Base Members of the Related Dimension Type.

Related Property Examples

The Related Property as:

  • Name: Model4

  • Description: Service Vehicle

  • Name and Description: Model4 – Service Vehicle.  Note the hyphen that OneStream creates when presenting the Name and Description will need to be included in the Comparison Property when evaluating as Property = Comparison Text

  • Name or Description: This property is to conditionally evaluate by Description. If no Description is present, it then evaluates using the Name. The condition is resolved by first evaluating the Description field.  If there is a Description field, the evaluation is performed using the Description field. If there is not a Description, it will evaluate the property using the Name field.

Comparison Text

The text condition being evaluated against the defined Related Property as the Name, Description or Text Field. When referencing a Text Field, the source Text Field can vary by Scenario and Time. When referencing the Description, only the Default Description can be referenced.

Comparison Operator

Sets the evaluation method to compare the Related Property to the Comparison Text. This can be done explicitly with “=” or “<>” as well as dynamically using the Starts With, Ends With, Contains or Does Not Contain operators.

Once the Attribute members and are defined, and any required Comparison Text is applied to the Source Related Dimension Type, the data will render dynamically.  Neither Consolidation nor Calculation is required to render the results. Any change applied to the Source definition of the Comparison text, such as a change to a Text property, will immediately be reflected in the results on the Attribute members. Similarly, modifying the Attribute Member’s Setting Properties will immediately change the Attribute results.

Defining Source Members

Source dimensions for Attributes, which is the assigned Related Dimension Type on the Attribute Member, are evaluated only on the Base member, not parent members. Therefore, the Attribute’s Property, Related Property, and the corresponding Comparison Text, are designed against collecting data at the base level member on the source dimension. When referencing the Text1 through Text8 field, the vary by Scenario Type and Time can be used to vary the results by Scenario and Time.

Using Attributes within Business Rules

Attributes can only be called through a business rule using a DataBuffer. The function property, includeUDAttributeMembersWhenUsingAll, can be enabled to allow rules to reference the Attribute results for use in formulas. 

Dim objDataBuffer As DataBuffer = 
   api.Data.GetDataBuffer(scriptMethodType, 
    sourceDataBufferScript, 
changeIdsToCommonIfNotUsingAll, includeUDAttributeMembersWhenUsingAll, expressionDestinationInfo)