Share via

Define attribute relationships as 'Rigid' where appropriate

This rule analyzes dimensions to determine whether they contain at least one user-defined hierarchy in which each member attribute uniquely implies the member attribute above it. If the dimension does have such a hierarchy, the rule checks to see whether all the attribute relationships in the dimension have the RelationshipType property set to Flexible.


The RelationshipType property is a property of the AttributeRelationships class.

Best Practices Recommendations

For best performance, you should typically set the RelationshipType property based on whether the relationships between individual members change over time:

  • For relationships that are not expected to change, set the RelationshipType property to Rigid. An example of a relationship that is not expected to change is the dates in a given month.

  • For relationships that are expected to change, set the RelationshipType property to Flexible. Some examples of relationships that are more prone to change over time include the salespeople in a given region or the marital status of a customer.


    By default, the user interface always sets the RelationshipType property to Flexible.

Setting the RelationshipType property determines whether Analysis Services creates rigid or flexible aggregations. After an incremental update, Analysis Services drops flexible aggregations and those aggregations must be manually reprocessed, but Analysis Services persists rigid aggregations.

For More Information

For more information, see Configuring Attribute Relationship Properties in SQL Server Books Online.