CopyToEx: (Dest: IDimSelectionSet; Options: SelectionCopyToExOptions; ReplaceSelection: Boolean; AddDimensions: Boolean);
CopyToEx(Prognoz.Platform.Interop.Dimensions.IDimSelection; Prognoz.Platform.Interop.Dimensions.SelectionCopyToExOptions; boolean; boolean);
Dest. Consumer used to make copy of dictionary selection.
Options. Determines copied option (selection only, selection and element groups; selection and selection schemas).
ReplaceSelection. Parameter that determines whether consumer selection should be replaced. If this parameter is set to True, the consumer is cleared before copying, otherwise only not selected elements are added.
AddDimensions. Parameter that determines whether dictionary selections, missing in the consumer, should be added.
The CopyToEx method copies groups of elements and dictionary selections to the specified consumer.
To copy a dictionary selection to the specified consumer, use the IDimSelectionSet.CopyTo method.
Executing the example requires two cubes with the CUBE_1 and CUBE_2 identifiers.
Add links to the Metabase, Cubes, Dimensions system assemblies.
Sub main;
Var
MB: IMetabase;
CubeInstance, CubeInstance1: ICubeInstance;
Destination, Destination1: ICubeInstanceDestination;
DimSelectionSet, DimSelectionSet1: IDimSelectionSet;
Options: SelectionCopyToExOptions;
i: Integer;
Begin
MB := MetabaseClass.Active;
CubeInstance := MB.ItemById("CUBE_1").Open(Null) As ICubeInstance;
Destination := CubeInstance.Destinations.DefaultDestination;
DimSelectionSet := Destination.CreateDimSelectionSet;
CubeInstance1 := MB.ItemById("CUBE_2").Open(Null) As ICubeInstance;
Destination1 := CubeInstance.Destinations.DefaultDestination;
DimSelectionSet1 := Destination.CreateDimSelectionSet;
For i := 0 To DimSelectionSet.Count - 1 Do
DimSelectionSet.Item(i).SelectAll;
End For;
Options := SelectionCopyToExOptions.None;
DimSelectionSet.CopyToEx(DimSelectionSet1, Options, True, True);
DimSelectionSet.Clear;
End Sub main;
After executing the example the selection in the cube with the CUBE_1 identifier is copied to the cube with the CUBE_2 identifier.
The requirements and result of the Fore.NET example execution match with those in the Fore Example.
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Dimensions;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
CubeInstance, CubeInstance1: ICubeInstance;
Destination, Destination1: ICubeInstanceDestination;
DimSelectionSet, DimSelectionSet1: IDimSelectionSet;
Options: SelectionCopyToExOptions;
i: Integer;
Begin
MB := Params.Metabase;
CubeInstance := MB.ItemById["CUBE_1"].Open(Null) As ICubeInstance;
Destination := CubeInstance.Destinations.DefaultDestination;
DimSelectionSet := Destination.CreateDimSelectionSet();
CubeInstance1 := MB.ItemById["CUBE_2"].Open(Null) As ICubeInstance;
Destination1 := CubeInstance.Destinations.DefaultDestination;
DimSelectionSet1 := Destination.CreateDimSelectionSet();
For i := 0 To DimSelectionSet.Count - 1 Do
DimSelectionSet.Item[i].SelectAll();
End For;
Options := SelectionCopyToExOptions.scteoNone;
DimSelectionSet.CopyToEx(DimSelectionSet1, Options, True, True);
DimSelectionSet.Clear();
End Sub;
See also: