Hierarchies: IDimAttributeHierarchiesList;
The Hierarchies property returns collection of attribute hierarchies.
To determine whether attribute is used as alternative hierarchy, use IDimAttribute.HasHierarchy.
Executing the example requires that the repository contains a table dictionary with the DIM_SEP identifier containing attribute with the NAME identifier.
Add links to the Dimensions, Metabase system assemblies.
Sub UserProc;
Var
mb: IMetabase;
dimension: IDimensionModel;
attribute: IDimAttribute;
attributes: IDimAttributes;
hierarchies: IDimAttributeHierarchiesList;
count: Integer;
Begin
// Get repository
mb := MetabaseClass.Active;
// Get dictionary
dimension := mb.ItemById("DIM_SEP").Edit As IDimensionModel;
// Get dictionary attributes
attributes := dimension.Attributes;
// Get the Name attribute
attribute := attributes.FindById("NAME");
// Check whether attribute is used as alternative hierarchy
If attribute.HasHierarchy Then
Debug.WriteLine("Attribute is used as alternative hierarchy")
Else
Debug.WriteLine("Attribute is not used as alternative hierarchy");
End If;
// Get attribute hierarchies
hierarchies := attribute.Hierarchies;
// Get number of hierarchies
count := hierarchies.Count;
// Display number of hierarchies to the console
Debug.WriteLine("Hierarchies number = " + count.ToString);
End Sub UserProc;
After executing the example the console displays information whether attribute is used as alternative hierarchy and the number of alternative hierarchies is also displayed.
See also: