UseInSelection: Boolean;
UseInSelection: Boolean;
The UseInSelection property returns the attribute whether index is used on creating the selection.
Available values:
True. Index is used on forming the selection. It will be possible to use it in order to save and restore selection by dimension based on dictionary.
Only one unique key used for selection creating can be present in the dictionary.
False. Index is not used on forming the selection.
Executing the example requires that the repository contains MDM dictionary with the USE_IN_SELECTION identifier. This dictionary must be out of MDM repository and must be used only as dimension in time series database.
Add links to the Dimensions, Metabase system assemblies.
Sub UserProc;
Var
mb: IMetabase;
DimModel: IDimensionModel;
Indexes: IDimIndexes;
Index: IDimIndex;
Attr: IDimAttribute;
Begin
// Get current repository
mb := MetabaseClass.Active;
// Get dictionary
DimModel := mb.ItemById("USE_IN_SELECTION").Bind As IDimensionModel;
// Get dictionary indexes
Indexes := DimModel.Indexes;
// Look over dictionary indexes
For Each Index In Indexes Do
// If index is used for selection creation,
// display to the console information about it
If Index.UseInSelection Then
Debug.WriteLine("Index name: " + Index.Name);
Debug.WriteLine(Index.CaseSensitive ? "Index is case sensitive" : "Index is not case sensitive");
Debug.WriteLine("Attributes in the index:");
For Each Attr In Index.Attributes Do
Debug.WriteLine(" " + Attr.Name);
End For;
End If;
End For;
End Sub UserProc;
After executing the example the console displays information about index used for selection creating if it is present in the dictionary.
The requirements and result of the Fore.NET example execution match with those in the Fore Example.
Imports Prognoz.Platform.Interop.Dimensions;
…
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
DimModel: IDimensionModel;
Indexes: IDimIndexes;
Index: IDimIndex;
Attr: IDimAttribute;
Begin
// Get current repository
mb := Params.Metabase;
// Get dictionary
DimModel := mb.ItemById["USE_IN_SELECTION"].Bind() As IDimensionModel;
// Get dictionary indexes
Indexes := DimModel.Indexes;
// Look over dictionary indexes
For Each Index In Indexes Do
// If index is used for selection creation,
// display to the console information about it
If Index.UseInSelection Then
System.Diagnostics.Debug.WriteLine("Index name: " + Index.Name);
System.Diagnostics.Debug.WriteLine(Index.CaseSensitive ? "Index is case sensitive" : "Index is not case sensitive");
System.Diagnostics.Debug.WriteLine("Attributes in the index:");
For Each Attr In Index.Attributes Do
System.Diagnostics.Debug.WriteLine(" " + Attr.Name);
End For;
End If;
End For;
End Sub;
See also: