Show contents 

Express > Express Assembly Interfaces > IEaxDataAreaHierarchies > IEaxDataAreaHierarchies.GetDependants

IEaxDataAreaHierarchies.GetDependants

Syntax

GetDependants(S: IDimSelection; Key: Integer; de: Integer): Array;

Parameters

S. Dimension selection where alternative hierarchy is placed.

Key. Unique key of analytical data area.

de. Dimension selection element.

Description

The GetDependants method returns arrays of data transformation formulas keys from collection of alternative hierarchies of analytical data area.

Comments

The Key = -1 parameter is used if analytical area uses one slice. If more than one data slice is used, use the IEaxDataAreaHierarchies.CreateKey method to get unique key of analytical data area.

Example

Executing the example requires that the repository contains an express report with the EXPRESS_GETDEPENDANTS identifier. The report contains:

Add links to the Dimension, Express, Metabase, Pivot system assemblies.

Sub UserProc;
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    DArea: IEaxDataArea;
    DAHierarchies: IEaxDataAreaHierarchies;
    Hierarchy: IEaxDataAreaHierarchy;
    HierarchyInst: IDimHierarchyInstance;
    Elements: IDimElements;
    DimElArray, ElArray: IDimElementArray;
    Pivot: IPivot;
    DimSel: IDimSelection;
    Slice: IEaxDataAreaSlice;
    Key, DimElement: Integer;
    GetDepArray: Array Of Integer;
    ElementName: String;
Begin
    // Get repository
    MB := MetabaseClass.Active;
    // Get express report
    Express := MB.ItemById("EXPRESS_GETDEPENDANTS").Bind As IEaxAnalyzer;
    // Get data source slice
    DArea := Express.DataArea;
    // Get the collection of hierarchies of analytical data area
    DAHierarchies := DArea.Hierarchies;
    // Get analytical data area hierarchy
    Hierarchy := DAHierarchies.Item(0);
    // Get alternative hierarchy data
    HierarchyInst := Hierarchy.Hierarchy;
    // Get selection
    Pivot := Express.Pivot;
    DimSel := Pivot.Selection.FindById("DIC_RF");
    // Get data slice
    Slice := DArea.Slices.Item(0);
    // Get dimension key
    Key := DAHierarchies.CreateKey(Slice.Key, HierarchyInst.Key);
    // Get array of selected elements
    ElArray := Dimsel.SelectedElementArray(Null);
    // Get all dimension elements
    Elements := ElArray.Elements;
    // Get element index in dimension
    DimElement := ElArray.Element(5);
    // Get element name and display in the console window
    ElementName := Elements.Name(DimElement);
    Debug.WriteLine("Name of selected element - " + ElementName);
    // Get array of keys of data transformation formulas
    GetDepArray := DAHierarchies.GetDependants(DimSel, Key, DimElement);
    If GetDepArray <> Null Then
        // Display console
        Debug.WriteLine("Length of obtained array = " + GetDepArray.Length.ToString);
        Else
        Debug.WriteLine("No elements found in array");
    End If;
End Sub UserProc;

After executing the example the console displays name of selected element and length of obtained array.

See also:

IEaxDataAreaHierarchies