Overview of attributes

Creating attributes is an important step in the initial project design effort, which comes after creating facts when using the Project Creation Assistant. New user and application requirements make attribute creation and modification an important part of the entire project life cycle.

In the data warehouse, attributes are normally identified by a unique ID column in a lookup table. In MicroStrategy reports, attributes are identified by the column headers of the reports.

A report designer creates a report in part by determining these report column headers. Intelligence Server, using this report definition, instructs the engine how to build the SQL for that report. The expressions of attributes and facts in the report define the SELECT clause of the SQL command.

For example, consider the following:

Select Store_ID, Date, sum(Sales)
From Store_Fact
Group By Store_ID, Date 

In the SQL above, sales information will be retrieved by store and date. The attributes and metrics in the report tell Intelligence Server where to look in the data warehouse for the information and how to create the SQL that will retrieve it. Because of this process, report analyzers do not have to know SQL to extract information from a data warehouse.

The lowest level attribute you include in a report, such as Day, is the lowest level of detail reported. A high-level report, such as a report at the Year level, includes the Year attribute but lacks the detail of a similar report which includes the lower level attributes Month and Week. It is important to understand the data is still the same, it is just not aggregated.

A discussion about metrics, filters, and reports is beyond the scope of this guide and is covered in the Advanced Reporting Guide.


Attributes are defined by these properties:

Attribute form: contains an identifier or descriptor of an attribute. Attributes can have multiple attribute forms. For example, for the Customer attribute, Customer Email, Customer First Name, and Customer Last Name are examples of attribute forms. See Column data descriptions and identifiers: Attribute forms.
Attribute expression: maps a MicroStrategy attribute form to one or more columns in the warehouse. See Attribute form expressions.
Attribute relationship: allows interaction of data at different conceptual levels and shows how data is related within a project. See Attribute relationships.

The following diagram illustrates how the attribute properties listed above are related:

While creating attributes is a major step in the initial creation of a project, it is often necessary to modify and create attributes throughout the life cycle of a project. The procedures to perform these tasks are discussed in the first section (Creating attributes) of this chapter. The later sections discuss conceptual information on attributes, as well as highlight some advanced attribute design techniques and procedures.