Working with Attributes Skip Navigation
Essbase® Analytic Services Database Administrator's Guide | Update Contents | Previous | Next | Print | ? |
Information Map

Working with Attributes


Attributes describe characteristics of data such as the size and color of products. Through attributes you can group and analyze members of dimensions based on their characteristics. This chapter describes how to create and manage attributes in an Analytic Server outline.

Note: The information in this chapter is designed for block storage databases. Some of the information is not relevant to aggregate storage databases. For detailed information on the differences between aggregate and block storage, see Comparison of Aggregate and Block Storage. For information on creating aggregate storage applications, see Aggregate Storage Applications, Databases, and Outlines.

This chapter contains the following topics:

You can find other information about attributes in relevant sections of this book.


Information Needed
More Information

Defining attributes through dimension build

Building Attribute Dimensions and Associating Attributes

Using attributes in partitions

Using attributes in report writer

Developing Report Scripts



Process for Creating Attributes

When working with attributes in Outline Editor perform the following tasks:

  1. Create a new dimension. See Adding Dimensions and Members to an Outline. In the outline, position the attribute dimensions after all standard dimensions.

  2. Tag the dimension as an attribute dimension and set attribute dimension type as text, numeric, Boolean, or date. See Creating Attribute Dimensions.

  3. Add members to the attribute dimension. See Adding Dimensions and Members to an Outline.

  4. Associate a base dimension with the attribute dimension. See Understanding the Rules for Attribute Dimension Association.

  5. Associate members of the base dimension with members of the attribute dimension. See Understanding the Rules for Attribute Member Association.

  6. If necessary, set up the attribute calculations. See Calculating Attribute Data.

Understanding Attributes

You can use the Analytic Services attribute feature to retrieve and analyze data not only from the perspective of dimensions, but also in terms of characteristics, or attributes, of those dimensions. For example, you can analyze product profitability based on size or packaging, and you can make more effective conclusions by incorporating into the analysis market attributes such as the population size of each market region.

Such an analysis could tell you that decaffeinated drinks sold in cans in small (less than 6,000,000-population) markets are less profitable than you anticipated. For more details, you can filter the analysis by specific attribute criteria, including minimum or maximum sales and profits of different products in similar market segments.

Here are a few ways analysis by attribute provides depth and perspective, supporting better-informed decisions:

Understanding Attribute Dimensions

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 60 shows part of the Sample Basic outline featuring the Product dimension and three attribute dimensions, Caffeinated, Ounces, and Pkg Type.

Figure 60: 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 60, 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 Analytic Services 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 60, next to product "100-10, Caffeinated:True, Ounces:12, Pkg Type:Can" shows that product 100-10 has three attributes-product 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 use attribute values in calculations in the following comparisons:

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.

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:

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.

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

Must be 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 define a partition on a base dimension.

Can be defined along standard dimensions.

Formulas (on members)

Cannot be associated

Can be associated

Shared members

Not allowed

Allowed

Two-pass calculation member property

Not available

Available

Two-pass calculation with run-time formula

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 two-pass in more than one dimension.

Two-pass calculation with no member formula

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.

Available

Dense dynamic calc members in non-existing stored blocks

Calculation skips dense dimensions if they are on any non-existing stored block. 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 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 show a crosstab of all values of each attribute 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 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.

.


Designing Attribute Dimensions

Analytic Services provides more than one way to design attribute information into a database. Most often, defining characteristics of the data through attribute dimensions and their members is the best approach. The following sections discuss when to use attribute dimensions, when to use other features, and how to optimize performance when using attributes.

Using Attribute Dimensions

For the most flexibility and functionality, use attribute dimensions to define attribute data. Using attribute dimensions provides the following features:

For more information about attribute features, see Understanding Attributes.

Using Alternative Design Approaches

In some situations, consider one of the following approaches:

Table 14 describes situations where you might consider one of these alternative approaches for managing attribute data in a database.


Table 14: Considering Alternatives to Attribute Dimensions  

Situation
Alternative to Consider

Analyze attributes of dense dimensions

UDAs or shared members.

Perform batch calculation of data

Shared members or members of separate, standard dimensions.

Define the name of a member of an attribute dimension as a value as that results from a formula

Shared members or members of separate, standard dimensions

Define attributes that vary over time

Members of separate, standard dimensions. For example, to track product maintenance costs over a period of time, the age of the product at the time of maintenance is important. However, using the attribute feature you could associate only one age with the product. You need multiple members in a separate dimension for each time period that you want to track.

Minimize retrieval time with large numbers of base-dimension members

Batch calculation with shared members or members of separate, standard dimensions.



Optimizing Outline Performance

Outline layout and content can affect attribute calculation and query performance. For general outline design guidelines, see Designing an Outline to Optimize Performance.

To optimize attribute query performance, consider the following design tips:

For information on optimizing calculation of outlines containing attributes, see Optimizing Calculation and Retrieval Performance.

Building Attribute Dimensions

To build an attribute dimension, first tag the dimension as attribute and assign the dimension a type. Then associate the attribute dimension with a base dimension. Finally, associate each level 0 member of the attribute dimension with a member of the associated base dimension.

To build an attribute dimension, see "Defining Attributes" in the Essbase Administration Services Online Help.

To view the dimension, attribute value and attribute type of a specific attribute member, use any of the following methods:


Tool
Topic
Location

Administration Services

Viewing Attribute Information in Outlines

Essbase Administration Services Online Help

MaxL

query database

Technical Reference

ESSCMD

GETATTRINFO

Technical Reference



Setting Member Names in Attribute Dimensions

All member names in an outline must be unique. When you use the attribute feature, Analytic Services establishes some default member names. These default names might duplicate names that already exist in the outline. You can change these system-defined names for the database and can establish other settings for members of attribute dimensions in the database. The outline does not show the full attribute names. You can see and use the full attribute names anywhere you select members, such as when you define partitions or select information to be retrieved.

Define the member name settings before you define or build the attribute dimensions. Changing the settings after the attribute dimensions and members are defined could result in invalid member names.

The following sections describe how to work with the names of members of attribute dimensions:

Note: If you partition on outlines containing attribute dimensions, the name format settings of members described in this section must be identical in the source and target outlines.

Setting Prefix and Suffix Formats for Member Names of Attribute Dimensions

The names of members of Boolean, date, and numeric attribute dimensions are values. It is possible to encounter duplicate attribute values in different attribute dimensions.

Because Analytic Services does not allow duplicate member names, you can define unique names by attaching a prefix or suffix to member names in Boolean, date, and numeric attribute dimensions in the outline. For example, by setting member names of attribute dimensions to include the dimension name as the suffix, attached by an underscore, the member value 12 in the Ounces attribute dimension assumes the unique, full attribute member name, 12_Ounces.

By default, Analytic Services assumes that no prefix or suffix is attached to the names of members of attribute dimensions.

The convention that you select applies to the level 0 member names of all numeric, Boolean, and date attribute dimensions in the outline. You can define aliases for these names if you wish to display shorter names in retrievals.

To define prefix and suffix formats, see "Defining a Prefix or Suffix Format for Members of Attribute Dimensions" in the Essbase Administration Services Online Help.

Setting Boolean Attribute Member Names

When you set the dimension type of an attribute dimension as Boolean, Analytic Services automatically creates two level 0 members with the names specified for the Boolean attribute settings. The initial Boolean member names in a database are set as True and False. If you want to change these default names, for example, to Yes and No, you must define the member names for Boolean attribute dimensions before you create any Boolean attribute dimensions in the database.

Before you can set an attribute dimension type as Boolean, you must delete all existing members in the dimension.

To define the database setting for the names of members of Boolean attribute dimensions, see "Setting Member Names for Boolean Attribute Dimensions" in the Essbase Administration Services Online Help.

Changing the Member Names in Date Attribute Dimensions

You can change the format of members of date attribute dimensions. For example, you can use the following date formats:

If you change the date member name format, the names of existing members of date attribute dimensions may be invalid. For example, if the 10-18-1999 member exists and you change the format to dd-mm-yyyy, outline verification will find this member invalid. If you change the date format, you must rebuild the date attribute dimensions.

To change the names of the members in date attribute dimensions, see "Setting the Member Name Format of Date Attribute Dimensions" in the Essbase Administration Services Online Help.

Setting Up Member Names Representing Ranges of Values

Members of numeric attribute dimensions can represent single numeric values or ranges of values:

When you build the base dimension, Analytic Services automatically associates members of the base dimension with the appropriate attribute range. For example, if numeric members represent the tops of ranges, Analytic Services automatically associates the Connecticut market, with a population of 3,269,858, with the 6000000 member of the Population attribute dimension.

In the dimension build rules file, specify the size of the range for each member of the numeric attribute dimension. In the above example, each attribute represents a range of 3,000,000.

To set up ranges in numeric attribute dimensions, see "Assigning Member Names to Ranges of Values" in the Essbase Administration Services Online Help.

Changing the Member Names of the Attribute Calculations Dimension

To avoid duplicating names in an outline, you may need to change the name of the Attribute Calculations dimension or its members. For more information about this dimension, see Understanding the Attribute Calculations Dimension.

Regardless of the name that you use for a member, its function remains the same. For example, the second (Count) member always counts, no matter what you name it.

To change the names of the members in the Attribute Calculations dimension, see "Changing Member Names of Attribute Calculations Dimensions" in the Essbase Administration Services Online Help.

Calculating Attribute Data

Analytic Services calculates attribute data dynamically at retrieval time, using members from a system-defined dimension created specifically by Analytic Services. Using this dimension, you can apply different calculation functions, such as a sum or an average, to the same attribute. You can also perform specific calculations on members of attribute dimensions; for example, to determine profitability by ounce for products sized by the ounce.

The following information assumes that you understand the concepts of attribute dimensions and Analytic Services calculations, including dynamic calculations.

This section includes the following sections:

Understanding the Attribute Calculations Dimension

When you create the first attribute dimension in the outline, Analytic Services also creates the Attribute Calculations dimension comprising five members with the default names Sum, Count, Min (minimum), Max (maximum), and Avg (average). You can use these members in spreadsheets or in reports to dynamically calculate and report on attribute data, such as the average yearly sales of 12-ounce bottles of cola in the West.

The Attribute Calculations dimension is not visible in the outline. You can see it wherever you select dimension members, such as in the Spreadsheet Add-in.

The attribute calculation dimension has the following properties:

There is no consolidation along attribute dimensions. You cannot tag members from attribute dimensions with consolidation symbols (for example, + or -) or with member formulas in order to calculate attribute data. As Dynamic Calc members, attribute calculations do not affect the batch calculation in terms of time or calculation order. To calculate attribute data at retrieval time, Analytic Services performs the following tasks:

  1. Finds the base-dimension members that are associated with the specified attribute-dimension members present in the current query

  2. Dynamically calculates the sum, count, minimum, maximum, or average for the attribute-member combination for the current query

  3. Displays the results in the spreadsheet or report

  4. Discards the calculated values-that is, the values are not stored in the database

    Note: Analytic Services excludes #MISSING values when calculating attribute data.

For example, as shown in Figure 63, a spreadsheet user specifies two members of attribute dimensions (Ounces_16 and Bottle) and an Attribute Calculations member (Avg) in a spreadsheet report. Upon retrieval, Analytic Services dynamically calculates the average sales values of all products associated with these attributes for the current member combination (Actual -> Sales -> East -> Qtr1):

Figure 63: Retrieving an Attribute Calculations Member

For information on accessing calculated attribute data, see Accessing Attribute Calculations Members Using the Spreadsheet.

Understanding the Default Attribute Calculations Members

The Attribute Calculations dimension contains five members used to calculate and report attribute data. These members are as follows:

Note: Each of these calculations excludes #MISSING values.

You can change these default member names, subject to the same naming conventions as standard members. For a discussion of Attribute Calculations member names, see Changing the Member Names of the Attribute Calculations Dimension.

Viewing an Attribute Calculation Example

As an example of how Analytic Services calculates attribute data, consider the following yearly sales data for the East:


Table 15: Sample Attribute Data

Base-Dimension Member
Associated Attributes
Sales Value for Attribute-Member Combination

Cola

Ounces_12, Can

23205

Diet Cola

Ounces_12, Can

3068

Diet Cream

Ounces_12, Can

1074

Grape

Ounces_32, Bottle

6398

Orange

Ounces_32, Bottle

3183

Strawberry

Ounces_32, Bottle

5664



A spreadsheet report showing calculated attribute data might look like the following illustration:

Figure 65: Sample Spreadsheet with Attribute Data

As shown in the figure above, you can retrieve multiple Attribute Calculations members for attributes. For example, you can calculate Sum, Count, Avg, Min, and Max for 32-ounce bottles and cans.

Accessing Attribute Calculations Members Using the Spreadsheet

You can access members from the Attribute Calculations dimension in Spreadsheet Add-in. From the spreadsheet, users can view Attribute Calculations dimension members using any of the following methods:

For more information on accessing calculated attribute data from the spreadsheet, see the Essbase Spreadsheet Add-in User's Guide.

Optimizing Calculation and Retrieval Performance

To optimize attribute calculation and retrieval performance, consider the following considerations:

Using Attributes in Calculation Formulas

In addition to using the Attribute Calculations dimension to calculate attribute data, you can also use calculation formulas on members of standard or base dimensions to perform specific calculations on members of attribute dimensions; for example, to determine profitability by ounce for products sized by the ounce.

You cannot associate formulas with members of attribute dimensions.

Note: Some restrictions apply when using attributes in formulas associated with two-pass members. For details, see the rows about two-pass calculations in Table 12.

You can use the following functions to perform specific calculations on attributes:


Type of Calculation
Function to Use

Generate a list of all base members with a specific attribute. For example, you can generate a list of members that have the Bottle attribute, and then increase the price for those members.

@ATTRIBUTE

Return the value of the level 0 attribute member that is associated with the base member being calculated.

  • From a numeric or date attribute dimension (using @ATTRIBUTEVAL)

  • From a Boolean attribute dimension (using @ATTRIBUTEBVAL)

  • From a text attribute dimension (using @ATTRIBUTESVAL)

For example, you can return the numeric value of a size attribute (for example, 12 for the member 12 under Ounces) for the base member being calculated (for example, Cola).

@ATTRIBUTEVAL

@ATTRIBUTEBVAL

@ATTRIBUTESVAL

Convert a date string to numbers for a calculation. For example, you can use @TODATE in combination with the @ATTRIBUTEVAL function to increase overhead costs for stores opened after a certain date.

@TODATE

Generate a list of all base dimension members associated with attributes that satisfy the conditions that you specify. For example, you can generate a list of products that are greater than or equal to 20 ounces, and then increase the price for those products.

@WITHATTR



Note: For syntax information and examples for these functions, see the Technical Reference. For an additional example using @ATTRIBUTEVAL in a formula, see Calculating an Attribute Formula.

Understanding Attribute Calculation and Shared Members

Attribute calculations start at level 0 and stop at the first stored member. Therefore, if your outline has placed a real member in between two shared members in a an outline hierarchy, the calculation results may not include the higher shared member.

For example:

Member 1 (stored)
     Member A (stored)
          Member 2 (shared) 
 Member B (stored)
     Member 1 (shared member whose stored member is Member 1 above) 
 

In this example, when an attribute calculation is performed, the calculation starts with level 0 Member 2, and stops when it encounters the first stored member, Member A. Therefore, Member 1 would not be included in the calculation.

Avoid mixing shared and stored members to avoid unexpected results with attribute calculation. For this example, if Member 2 were not shared, or Member 1 did not have a corresponding shared member elsewhere in the outline, calculation results would be as expected.



Hyperion Solutions Corporation link