IEaxDataAreaSliceProperties.MultipleAttributesSeparator

Fore Syntax

MultipleAttributesSeparator: String;

Fore.NET Syntax

MultipleAttributesSeparator: string;

Description

The MultipleAttributesSeparator property determines a separator between attribute names.

Comments

The property is relevant if the IEaxDataAreaSliceProperties.MultipleAttributesEnabled property is set to True.

Any single character can be used as a separator.

If a user-defined separator does not satisfy the condition, the standard separator "|" is used.

Fore Example

Executing the example requires that the repository contains an express report with the EXPRESS_REPORT identifier. It is required to select several dimension attributes with the DIC_RF identifier in the express report.

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

Sub UserProc;
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    SelSet: IDimSelectionSet;
    DimSel: IDimSelection;
    Attrs: IDimAttributesInstance;
    DataArea: IEaxDataArea;
    Areaslice: IEaxDataAreaSlice;
    Properties: IEaxDataAreaSliceProperties;
    GetDimAttributes, SetDimAttributes: Array Of Integer;
    i: integer;
Begin
    // Get repository
    MB := MetabaseClass.Active;
    // Get express report
    Express := MB.ItemById("EXPRESS_REPORT").Edit As IEaxAnalyzer;
    // Get the selection, by which table is built
    SelSet := Express.Pivot.Selection;
    DimSel := SelSet.FindById("DIC_RF");
    // Get collection of dictionary attributes values
    Attrs := DimSel.Dimension.Attributes;
    // Get analytical data area
    DataArea := Express.DataArea;
    // Get data source slice
    Areaslice := DataArea.Slices.Item(0);
    // Get data source slice properties
    Properties := Areaslice.Properties;
    // Check if several dictionary attributes display mode is used
    If Properties.MultipleAttributesEnabled = False Then
        Properties.MultipleAttributesEnabled := True;
    End If;
    // Remove white spaces between attribute names
    Properties.MultipleAttributesSpaced := False;
    // Set other separator
    Properties.MultipleAttributesSeparator := ":";
    // Get array of attributes keys
    SetDimAttributes := New Integer[Attrs.Count];
    For i := 0 To Attrs.Count - 1 Do
        SetDimAttributes[i] := Attrs.Item(i).Attribute.Key;
    End For;
    // Set selection of dimension attributes
    Properties.SetDimensionNamingAttributes(Dimsel.Dimension.Key, SetDimAttributes);
    // Get selection of dimension attributes
    GetDimAttributes := Properties.GetDimensionNamingAttributes(Dimsel.Dimension.Key);
    // Display to the console number of elements in selection
    Debug.WriteLine("Number of elements in selection - " + GetDimAttributes.Length.ToString);
    // Save changes
    (Express As IMetabaseObject).Save;
End Sub UserProc;

After executing the example:

Fore.NET Example

The requirements and result of the Fore.NET Example execution match with those in the Fore Example.

Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Pivot;


Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    SelSet: IDimSelectionSet;
    DimSel: IDimSelection;
    Attrs: IDimAttributesInstance;
    DataArea: IEaxDataArea;
    Areaslice: IEaxDataAreaSlice;
    Properties: IEaxDataAreaSliceProperties;
    GetDimAttributes, SetDimAttributes: Array;
    i: integer;
Begin
    // Get repository
    MB := Params.Metabase;
    // Get express report
    Express := MB.ItemById["
EXPRESS_REPORT"].Edit() As IEaxAnalyzer;
    // Get the selection, by which table is built
    SelSet := Express.Pivot.Selection;
    DimSel := SelSet.FindById("DIC_RF");
    // Get collection of dictionary attributes values
    Attrs := DimSel.Dimension.Attributes;
    // Get analytical data area
    DataArea := Express.DataArea;
    // Get data source slice
    Areaslice := DataArea.Slices.Item[0];
    // Get data source slice properties
    Properties := Areaslice.Properties;
    // Check if several dictionary attributes display mode is used
    If Properties.MultipleAttributesEnabled = False Then
        Properties.MultipleAttributesEnabled := True;
    End If;
    // Remove white spaces between attribute names
    Properties.MultipleAttributesSpaced := False;
    // Set other separator
    Properties.MultipleAttributesSeparator := ":";
    // Get array of attributes keys
    SetDimAttributes := New Integer[Attrs.Count];
    For i := 0 To Attrs.Count - 1 Do
        SetDimAttributes[i] := Attrs.Item[i].Attribute.Key As Integer;
    End For;
    
// Set selection of dimension attributes
    Properties.SetDimensionNamingAttributes(Dimsel.Dimension.Key, SetDimAttributes);
    
// Get selection of dimension attributes
    GetDimAttributes := Properties.GetDimensionNamingAttributes(Dimsel.Dimension.Key);
    // Display to the console number of elements in selection
    System.Diagnostics.Debug.WriteLine
    ("Number of elements in dimension - " + GetDimAttributes.Length.ToString());

    // Save changes
    (Express As IMetabaseObject).Save();
End Sub;

See also:

IEaxDataAreaSliceProperties