In the Sample Basic database, products have attributes that are characteristics of the products. For example, products have an attribute that describes their packaging. In the outline, you see these characteristics as two dimensions, the Products dimension, and the Pkg Type attribute dimension that is associated with it. An attribute dimension has the word Attribute next to its name in the outline.
Figure 37, Outline Showing Base and Attribute Dimensions shows part of the Sample Basic outline featuring the Product dimension and three attribute dimensions,
Caffeinated, Ounces, and Pkg Type.
Figure 37. Outline Showing Base and Attribute Dimensions
In the outline, to the right of the Product dimension, the terms Caffeinated, Ounces, and Pkg Type show that these attribute dimensions are associated with the Product
dimension.
A standard dimension is any dimension that is not an attribute dimension. When an attribute dimension is associated with a standard dimension, the standard dimension is the base dimension for that attribute dimension. In the outline in Figure 37, Outline Showing Base and Attribute Dimensions, the Product dimension is the base dimension for the Caffeinated, Ounces, and Pkg Type attribute dimensions.
Note:
Attribute dimensions and members are Dynamic Calc, so Essbase calculates attribute information at retrieval time. Attribute data is not stored in the database.
Understanding Members of Attribute Dimensions
Members of an attribute dimension are potential attributes of the members of the associated base dimension. After you associate a base dimension with an attribute dimension, you associate members of the base dimension with members of the
associated attribute dimension. The Market dimension member Connecticut is associated with the 6000000 member of the Population attribute dimension. That makes 6000000 an attribute of Connecticut.
In the outline, the information next to a base dimension member shows the attributes of that member. In Figure 37, Outline Showing Base and Attribute Dimensions , next to product “10, Caffeinated:True, Ounces:12, Pkg Type:Can” shows that product 100-10 has three attributes—product 100-100-100-10 has caffeine, it is sold in 12-ounce containers, and the containers are cans.
Understanding the Rules for Base and Attribute Dimensions and Members There are several important rules regarding members of attribute dimensions and their base dimensions.
• You can tag only sparse dimensions as attribute dimensions.
• Before you can save an outline to the server, each attribute dimension must be associated with a standard, sparse dimension as its base dimension.
• Attribute dimensions must be the last dimensions in the outline.
• Attribute dimensions have a type setting—text, numeric, Boolean, or date.
Text is the default setting. Although assigned at the dimension level, the type applies only to the level 0 members of the dimension. For more information, see Understanding Attribute Types.
• If you remove the attribute tag from a dimension, Essbase removes prefixes or suffixes from its member names. Prefixes and suffixes are not visible in the outline. For more information, see Setting Prefix and Suffix Formats for Member Names of Attribute Dimensions.
• A base dimension member can have many attributes, but only one attribute from each particular attribute dimension.
For example, product 100-10 can have size and packaging attributes, but only one size and only one type of packaging.
• You cannot associate an attribute with an implied shared member the child of which is tagged as shared.
• Essbase does not support attributes for Hybrid Analysis-enabled members.
You can use attribute values in calculations in the following comparisons:
• > (greater than)
• >= (greater than or equal to)
• < (less than)
• <= (less than or equal to)
• = = (equal to)
• <> or != (not equal to)
• IN
Understanding the Rules for Attribute Dimension Association
When you associate an attribute dimension with a standard dimension, the standard dimension is known as the base dimension for that attribute dimension.
• An attribute dimension must be associated with a sparse standard dimension.
• A standard dimension can be a base dimension for more than one attribute dimension.
• An attribute dimension can be associated with only one base dimension.
For example, you might have a Size attribute dimension with members Small, Medium, and Large. If you associate the Size attribute dimension with the Product dimension, you cannot also associate the Size attribute dimension with the Market dimension. Tracking size-related information for the Market dimension requires another attribute dimension with a different name, for example, MarketSize, with the MarketSize attribute dimension associated with the Market dimension.
Understanding the Rules for Attribute Member Association
When you associate a member of an attribute dimension with a member of a base dimension, follow these rules:
• You cannot associate multiple members from the same attribute dimension with the same base dimension member. For example, the Bottle and Can package types cannot both be associated with the product 100-30.
• You can associate members from different attribute dimensions with the same member of a base dimension. For example, a decaffeinated cola product (100-30) sold in 16 ounce bottles has three attributes—
Caffeinated:False; Ounces:16; and Pkg Type:Bottle.
• After attributes are associated with base dimension members, if you cut or copy and paste base dimension members to another location in the outline, the attribute associations are lost.
• Essbase does not require that each member of a base dimension be associated with a member of an attribute dimension.
• All base dimension members associated with members of a particular attribute dimension must be at the same level.
For example, in Figure 38, Association of Attributes with the Same Level Members of the Market Dimension, all Market dimension members that have Population attributes are at level 0. You cannot associate East, which is a level 1 member,
with a Population attribute since the other members of the Market dimension that have Population attributes are level 0 members.
Figure 38. Association of Attributes with the Same Level Members of the Market Dimension
• The level 0 members of attribute dimensions are the only members that you can associate with base dimension members.
For example, in the Population attribute dimension, you can associate only level 0 members such as 3000000, 6000000, and 9000000, with members of the Market dimension. You cannot associate a level 1 member such as Small.
The name of the level 0 member of an attribute dimension is the attribute value.
The only members of attribute dimensions that have attribute values are level 0 members.
You can use the higher-level members of attribute dimensions to select and group data. For example, you can use Small, the level 1 member of the Population attribute dimension, to retrieve sales in both the 3000000 and 6000000 population categories.
Understanding Attribute Types
Attribute dimensions have a text, numeric, Boolean, or date type that enables different functions for grouping, selecting, or calculating data. Although assigned at the dimension level, the attribute type applies only to level 0 members of the attribute dimension.
• The default attribute type is text. Text attributes enable the basic attribute member selection and attribute comparisons in calculations. When you perform such comparisons, Essbase compares characters. For example, the package type Bottle is less than the package type Can because B precedes C in the alphabet. In Sample Basic, Pkg Type is an example of a text attribute dimension.
• The names of level 0 members of numeric attribute dimensions are numeric values. You can include the names (values) of numeric attribute dimension members in calculations. For example, you can use the number of ounces
specified in the Ounces attribute to calculate profit per ounce for each product.
You can also associate numeric attributes with ranges of base dimension values;
for example, to analyze product sales by market population groupings—states with 3,000,000 population or less in one group, states with a population between 3,000,001 and 6 million in another group, and so on. See Setting Up Member Names Representing Ranges of Values.
• All Boolean attribute dimensions in a database contain only two members.
The member names must match the settings for the database; for example, True and False. If there is more than one Boolean attribute dimension, specify a prefix or suffix member name format to ensure unique member names; for example, Caffeinated_True and Caffeinated_False. For a
discussion of how to change Boolean names, see Setting Boolean Attribute Member Names.
• You can use date attributes to specify the date format—month-day-year or day-month-year—and to sequence information accordingly. For a discussion of how to change date formats, see Changing the Member Names in Date Attribute Dimensions. You can use date attributes in calculations. For example, you can compare dates in a calculation that selects product sales from markets established since 10-12-1999.
Essbase supports date attributes from January 1, 1970 through January 1, 2038.
Comparing Attribute and Standard Dimensions
In general, attribute dimensions and their members are similar to standard dimensions and members. You can provide aliases and member comments for attributes. Attribute dimensions can include hierarchies and you can name generations and levels. You can perform the same spreadsheet operations on attribute dimensions and members as you can on standard dimensions and members; for example, to analyze data from different perspectives, you can retrieve, pivot, and drill down in the spreadsheet.
Table 12 describes major differences between attribute and standard dimensions and their members.
Table 12. Differences Between Attribute and Standard Dimensions
Attribute Dimensions Standard Dimensions Storage Sparse. Their base dimensions must also be
sparse. Can be dense or sparse
Storage property Dynamic Calc only, therefore not stored in the database. The outline does not display this property.
Can be Store Data, Dynamic Calc and Store, Dynamic Calc, Never Share, or Label Only Position in outline Must be the last dimensions in the outline Must be ahead of all
attribute dimensions in the outline
Partitions Cannot be defined along attribute
dimensions, but you can use attributes to
Can be defined along standard dimensions.
Attribute Dimensions Standard Dimensions define a partition on a base dimension.
Formulas
(on members) Cannot be associated Can be associated
Shared members Not allowed Allowed
Two-pass
If a member formula contains a run-time dependent function associated with an attribute member name, and the member with the formula is tagged as two-pass, calculation skips the member and issues a warning message. Run-time dependent functions include the following: @CURRMBR,
@PARENT, @PARENTVAL, @SPARENTVAL,
@MDPARENTVAL, @ANCEST, @ANCESTVAL,
@SANCESTVAL, and @MDANCESTVAL.
Calculation is performed on standard members with run-time formulas and tagged two-pass.
Two-pass, multiple dimensions:
Calculation order
Order of calculation of members tagged two-pass depends on order in outline. The last dimension is calculated last.
Calculation result is not dependent on outline order for members tagged
Calculation skipped, warning message issued. Thus member intersection of two-pass tagged members and upper level members may return different results from calculation on standard dimensions.
Calculations skip dense dimensions if they are on non-existing stored blocks. To identify non-existing stored blocks, export the database or run query to find out whether block has any data.
Available
UDAs on members Not allowed Allowed
Consolidations For all members, calculated through the Attribute Calculations dimension members:
Sum, Count, Min, Max, and Avg.
Consolidation operators in the outline are ignored during attribute calculations.
Consolidation operation indicated by assigning the desired consolidation symbol to each member Member selection
facilitated by Level 0 member typing
Available types include text, numeric, Boolean, and date.
All members treated as text.
Associations Must be associated with a base dimension N/A Spreadsheet
drill-downs List the base dimension data associated with the selected attribute. For example, drilling down on the attribute Glass displays sales for each product packaged in glass, where Product is the base dimension for the Pkg Type attribute dimension.
List lower or sibling levels of detail in the standard dimensions. For example, drilling down on QTR1 displays a list of products and their sales for that quarter.
Comparing Attributes and UDAs
Attributes and UDAs both enable analysis based on characteristics of the data. Attributes provide much more capability than UDAs. Table 13 compares them. Checkmarks indicate the feature supports the corresponding capability.
Table 13. Comparing Attributes and UDAs
Capability Attributes
Feature UDAs Feature Data Storage
You can associate with sparse dimensions.
You can associate with dense dimensions.
Data Retrieval
You can group and retrieve consolidated totals by attribute or UDA value. For example, associate the value High Focus Item to various members of the Product dimension and use that term to retrieve totals and details for just those members.
Simple More difficult to implement, requiring additional calculation scripts or commands You can categorize attributes in a hierarchy and
retrieve consolidated totals by higher levels in the attribute hierarchy; for example, if each product has a specific size attribute such as 8, 12, 16, or 32, and the sizes are categorized as small,
medium, and large. You can view the total sales of small products.
More difficult to implement
You can create crosstab views displaying
aggregate totals of attributes associated with the same base dimension.
You can only retrieve totals based on specific UDA values.
You can use Boolean operators AND, OR, and NOT with attribute and UDA values to further refine a query. For example, you can select decaffeinated drinks from the 100 product group.
Because attributes have a text, Boolean, date, or numeric type, you can use appropriate operators and functions to work with and display attribute data. For example, you can view sales totals of all products introduced after a specific date.
You can group numeric attributes into ranges of values and let the dimension building process automatically associate the base member with the appropriate range. For example, you can group sales in various regions based on ranges of their
Capability Attributes
Feature UDAs Feature populations—less than 3 million, between 3 and 6
million, and so on.
Through the Attribute Calculations dimension, you can view aggregations of attribute values as sums, counts, minimums, maximums, and averages.
You can use an attribute in a calculation that defines a member. For example, you can use the weight of a product in ounces to define the profit per ounce member of the Measures dimension.
You can retrieve specific base members using attribute-related information.
Powerful conditional and value-based selections
Limited to text string matches only
Data Conversion
Based on the value of a UDA, you can change the sign of the data as it is loaded into the database.
For example, you can reverse the sign of all members with the UDA Debit.
Calculation Scripts
You can perform calculations on a member if its attribute or UDA value matches a specific value.
For example, you can increase the price by 10% of all products with the attribute or UDA of Bottle.
You can perform calculations on base members whose attribute value satisfies conditions that you specify. For example, you can calculate the Profit per Ounce of each base member.