Class Hierarchy
Represents a collection of levels that provide a logical hierarchical drilldown path for client applications. It is a child of a Table object.
Assembly: TOMWrapper.dll
Syntax
public sealed class Hierarchy : TabularNamedObject, ICustomTypeDescriptor, INotifyPropertyChanging, IComparable, IFolderObject, ITabularTableObject, IDescriptionObject, ILineageTagObject, IExtendedPropertyObject, ITabularPerspectiveObject, IHideableObject, ITranslatableObject, IAnnotationObject, ISynonymObject, IClonableObject, ITabularObjectContainer, ITabularNamedObject, ITabularObject, INotifyPropertyChanged, INamedObject
Properties
Annotations
The collection of Annotations on the current Hierarchy.
Declaration
[Browsable(true)]
public AnnotationCollection Annotations { get; }
Property Value
DaxObjectFullName
Gets a fully qualified reference to this hirearchy
Declaration
[Browsable(false)]
public string DaxObjectFullName { get; }
Property Value
Description
The description of the hierarchy, visible to developers at design time and to administrators in management tools, such as SQL Server Management Studio.
Declaration
public string Description { get; set; }
Property Value
DisplayFolder
Defines the display folder for the hierarchy, for use by clients.
Declaration
public string DisplayFolder { get; set; }
Property Value
ErrorMessage
Declaration
public string ErrorMessage { get; }
Property Value
ExtendedProperties
The collection of Extended Properties on the current Hierarchy.
Declaration
public ExtendedPropertyCollection ExtendedProperties { get; }
Property Value
HideMembers
Ragged/unbalanced hierarchies can be enabled by hiding members using this property.
Declaration
public HierarchyHideMembersType HideMembers { get; set; }
Property Value
InPerspective
Declaration
[Browsable(true)]
public PerspectiveHierarchyIndexer InPerspective { get; }
Property Value
IsHidden
A boolean value that indicates whether the hierarchy is treated as hidden by client visualization tools. True if the hierarchy is treated as hidden; otherwise false.
Declaration
public bool IsHidden { get; set; }
Property Value
IsVisible
Gets the visibility of the Hierarchy. Takes into consideration that a hierarchy is not visible if its parent table is hidden.
Declaration
[Browsable(false)]
public bool IsVisible { get; }
Property Value
Levels
The collection of Level objects on this Hierarchy.
Declaration
[Browsable(false)]
public LevelCollection Levels { get; }
Property Value
LineageTag
A tag that represents the lineage of the object.
Declaration
public string LineageTag { get; set; }
Property Value
Parent
The parent Table of the current Hierarchy.
Declaration
public Table Parent { get; }
Property Value
Reordering
Set to true, when multiple levels are going to be re-ordered as one action.
Declaration
[Browsable(false)]
public bool Reordering { get; }
Property Value
SourceLineageTag
A tag that represents the lineage of the source for the object.
Declaration
public string SourceLineageTag { get; set; }
Property Value
State
Provides information on the state of the hierarchy. Possible values and their interpretation are as follows. Ready (1) The hierarchy is queryable and has up-to-date data. NoData (3) Not applicable to Hierarchy. CalculationNeeded (4) The hierarchy does not contain any data because it was not refreshed. There is no error associated with the hierarchy. SemanticError (5) Not applicable to Hierarchy. EvaluationError (6) Not applicable to Hierarchy. DependencyError (7) A dependency associated with the hierarchy is in an error state (SemanticError, EvaluationError, or DependencyError). Incomplete (8) Not applicable to Hierarchy.
Declaration
public ObjectState State { get; }
Property Value
Synonyms
Collection of localized synonyms for this Hierarchy.
Declaration
[Browsable(true)]
public SynonymIndexer Synonyms { get; }
Property Value
Table
The parent table of the current Hierarchy.
Declaration
[Browsable(false)]
public Table Table { get; }
Property Value
TranslatedDescriptions
Collection of localized descriptions for this Hierarchy.
Declaration
[Browsable(true)]
public TranslationIndexer TranslatedDescriptions { get; }
Property Value
TranslatedDisplayFolders
Collection of localized Display Folders for the current Hierarchy.
Declaration
[Browsable(true)]
public TranslationIndexer TranslatedDisplayFolders { get; }
Property Value
TranslatedNames
Collection of localized names for this Hierarchy.
Declaration
[Browsable(true)]
public TranslationIndexer TranslatedNames { get; }
Property Value
UsedInVariations
Enumerates the Variation objects in which this hierarchy is used
Declaration
[Browsable(false)]
public IEnumerable<Variation> UsedInVariations { get; }
Property Value
Methods
AddLevel(string, string, int)
Adds a level to the current hirearchy.
Declaration
public Level AddLevel(string columnName, string levelName = null, int ordinal = -1)
Parameters
Returns
AddLevel(Column, string, int)
Adds a level to the current hirearchy.
Declaration
public Level AddLevel(Column column, string levelName = null, int ordinal = -1)
Parameters
Returns
AddLevels(IEnumerable<Column>, int)
Adds a set of levels to the current hirearchy.
Declaration
public void AddLevels(IEnumerable<Column> columns, int ordinal = -1)
Parameters
ClearAnnotations()
Removes all annotations from this object.
Declaration
public void ClearAnnotations()
ClearExtendedProperties()
Removes all Extended Properties from this object.
Declaration
public void ClearExtendedProperties()
Clone(string, bool, Table)
Creates an exact copy of this Hierarchy object.
Declaration
public Hierarchy Clone(string newName = null, bool includeTranslations = true, Table newParent = null)
Parameters
Type |
Name |
Description |
string |
newName |
|
bool |
includeTranslations |
|
Table |
newParent |
|
Returns
CompactLevelOrdinals()
Declaration
public void CompactLevelOrdinals()
CreateNew(Table, string)
Creates a new Hierarchy and adds it to the parent Table.
Also creates the underlying metadataobject and adds it to the TOM tree.
Declaration
public static Hierarchy CreateNew(Table parent, string name = null)
Parameters
Returns
FixLevelOrder(Level, int)
Declaration
public void FixLevelOrder(Level level, int newOrdinal)
Parameters
Type |
Name |
Description |
Level |
level |
|
int |
newOrdinal |
|
GetAnnotation(int)
Gets the value of the annotation with the given index, assuming it exists.
Declaration
public string GetAnnotation(int index)
Parameters
Type |
Name |
Description |
int |
index |
|
Returns
GetAnnotation(string)
Gets the value of the annotation with the given name. Returns null if no such annotation exists.
Declaration
public string GetAnnotation(string name)
Parameters
Type |
Name |
Description |
string |
name |
|
Returns
GetAnnotations()
Gets a collection of all annotation names on the current Hierarchy.
Declaration
public IEnumerable<string> GetAnnotations()
Returns
GetAnnotationsCount()
Gets the number of annotations on the current Hierarchy.
Declaration
public int GetAnnotationsCount()
Returns
GetChildren()
Declaration
public IEnumerable<ITabularNamedObject> GetChildren()
Returns
GetExtendedProperties()
Gets a collection of all ExtendedProperty names on the current object.
Declaration
public IEnumerable<string> GetExtendedProperties()
Returns
GetExtendedProperty(int)
Gets the value of the ExtendedProperty with the given index, assuming it exists.
Declaration
public string GetExtendedProperty(int index)
Parameters
Type |
Name |
Description |
int |
index |
|
Returns
GetExtendedProperty(string)
Gets the value of the ExtendedProperty with the given name. Returns null if no such ExtendedProperty exists.
Declaration
public string GetExtendedProperty(string name)
Parameters
Type |
Name |
Description |
string |
name |
|
Returns
GetExtendedPropertyCount()
Gets the number of ExtendedProperties on the current object.
Declaration
public int GetExtendedPropertyCount()
Returns
GetExtendedPropertyType(int)
Gets the type of the ExtendedProperty with the given index, assuming it exists.
Declaration
public ExtendedPropertyType GetExtendedPropertyType(int index)
Parameters
Type |
Name |
Description |
int |
index |
|
Returns
GetExtendedPropertyType(string)
Gets the type of the ExtendedProperty with the given name, assuming it exists.
Declaration
public ExtendedPropertyType GetExtendedPropertyType(string name)
Parameters
Type |
Name |
Description |
string |
name |
|
Returns
GetNewAnnotationName()
Returns a unique name for a new annotation.
Declaration
public string GetNewAnnotationName()
Returns
GetNewExtendedPropertyName()
Returns a unique name for a new ExtendedProperty.
Declaration
public string GetNewExtendedPropertyName()
Returns
HasAnnotation(string)
Returns true if an annotation with the given name exists. Otherwise false.
Declaration
public bool HasAnnotation(string name)
Parameters
Type |
Name |
Description |
string |
name |
|
Returns
HasExtendedProperty(string)
Returns true if an ExtendedProperty with the given name exists. Otherwise false.
Declaration
public bool HasExtendedProperty(string name)
Parameters
Type |
Name |
Description |
string |
name |
|
Returns
Init()
Derived members should override this method to instantiate child objects
Declaration
protected override void Init()
Overrides
RemoveAnnotation(string)
Remove an annotation by the given name.
Declaration
public void RemoveAnnotation(string name)
Parameters
Type |
Name |
Description |
string |
name |
|
RemoveExtendedProperty(string)
Remove an ExtendedProperty by the given name.
Declaration
public void RemoveExtendedProperty(string name)
Parameters
Type |
Name |
Description |
string |
name |
|
SetAnnotation(int, string)
Sets the value of the annotation with the given index, assuming it exists.
Declaration
public void SetAnnotation(int index, string value)
Parameters
SetAnnotation(string, string)
Sets the value of the annotation having the given name. If no such annotation exists, it will be created. If value is set to null, the annotation will be removed.
Declaration
public void SetAnnotation(string name, string value)
Parameters
SetExtendedProperty(int, string, ExtendedPropertyType)
Sets the value of the ExtendedProperty with the given index, optionally specifiying the type (string or JSON) of the ExtendedProperty.
Declaration
public void SetExtendedProperty(int index, string value, ExtendedPropertyType type)
Parameters
SetExtendedProperty(string, string, ExtendedPropertyType)
Sets the value of the ExtendedProperty having the given name. If no such ExtendedProperty exists, it will be created. If value is set to null, the ExtendedProperty will be removed.
Declaration
public void SetExtendedProperty(string name, string value, ExtendedPropertyType type)
Parameters
SetLevelOrder(IList<Level>)
Declaration
public void SetLevelOrder(IList<Level> order)
Parameters
Implements
Extension Methods