MultipleAttributesSeparator: String;
The MultipleAttributesSeparator property determines a separator between attribute names.
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.
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:
Attribute names are not separated with white spaces before and after a new separator ":" in the dimension tree.
Values of all attributes of the specified dimension will be displayed in the dimension tree.
The console window displays the number of elements in selection.
See also: