During the design of a dimension you might want to include certain attributes in the dimension, but not want to make the attribute hierarchies available to end users for querying. Two properties of the attributes help you to manipulate visibility of attributes to end users. One property, AttributeHierarchyEnabled, allows you to disable the attribute. By setting this property to False you are disabling the attribute in the dimension; you cannot include this attribute in any level of a multilevel hierarchy. This attribute can only be defined as a member property (related attribute) to another attribute. Members of this attribute cannot be retrieved by an MDX query, but you can retrieve the value as a member property of another attribute. If you disable an attribute you might see improvements in processing performance depending on the number of members in the attribute. You need to be sure that there will be no future need to slice and dice on this attribute.
Another property called AttributeHierarchyVisible is useful for setting an attribute hierarchy to invisible for browsing; but even with this set, the attribute can be used as a level within a hierarchy or can be used for querying. If you set this property to False, you will not see this attribute in the dimension browser. The properties AttributeHierarchyEnabled and AttributeHierarchyVisible are part of the Advanced property section in the properties window, as shown in Figure 5-24.
If you want to create a dimension that contains only multilevel hierarchies and no attributes, you can mark the AttributeHierarchyVisible property to False for all the attributes. When you go to the dimension browser you will only see the hierarchies. Even though you have disabled the attribute for browsing, you will still be able to query the attribute using MDX.