ParamsValues: IMetabaseObjectParamValues;
ParamsValues: IMetabaseObjectParamValues;
Свойство ParamsValues определяет значения параметров автоматического куба.
Для выполнения примера добавьте ссылки на системные сборки Metabase, Cubes и Dimensions. Предполагается наличие автоматического куба с идентификатором «AUTOCUBE» в репозитории.
Sub UserProc;
Var
Update: IMetabaseUpdate;
CubeNode: IMetabaseUpdateDataObjectNode;
Object: IMetabaseObject;
Filter: IAutoCubeUpdateFilter;
Sel: IDimSelection;
ParamsVal: IMetabaseObjectParamValues;
CubeInst: ICubeInstance;
Mb: IMetabase;
Begin
Mb := MetabaseClass.Active;
Update := Mb.CreateUpdate;
CubeNode := Update.RootFolder.Add(MetabaseUpdateNodeType.DataObject) As IMetabaseUpdateDataObjectNode;
Object := Mb.ItemById("AUTOCUBE").Bind;
CubeNode.Object := Object;
CubeNode.Label := CubeNode.Object.Name;
CubeNode.Method := MetabaseUpdateMethod.All;
CubeNode.IncludeData := True;
CubeNode.ExtendedParams := Object.CreateUpdateExParams;
Filter := CubeNode.ExtendedParams As IAutoCubeUpdateFilter;
ParamsVal:= Object.Params.CreateEmptyValues;
ParamsVal.Item(0).Value := "Parameter1";
Filter.ParamValues := ParamsVal;
CubeInst := Object.Open(ParamsVal) As ICubeInstance;
Filter.SelectionSet := CubeInst.Destinations.DefaultDestination.CreateDimSelectionSet;
For Each Sel In Filter.SelectionSet Do
If sel.Dimension.Ident = "CALENDAR" Then
sel.SelectSiblings(0);
Else
Sel.SelectElement(0, true);
End If;
End For;
Update.SaveToFileNF("c:\temp\autocube.pefx");
End Sub UserProc;
После выполнения примера в папке «c:\temp» будет создан файл обновления.
Для выполнения примера добавьте ссылки на системные сборки Metabase, Cubes и Dimensions. Предполагается наличие автоматического куба с идентификатором «AUTOCUBE» в репозитории.
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Dimensions;
Public Shared Sub Main(Params: StartParams);
Var
Update: IMetabaseUpdate;
CubeNode: IMetabaseUpdateDataObjectNode;
Object: IMetabaseObject;
Filter: IAutoCubeUpdateFilter;
Sel: IDimSelection;
ParamsVal: IMetabaseObjectParamValues;
CubeInst: ICubeInstance;
Mb: IMetabase;
Begin
Mb := Params.Metabase;
Update := Mb.CreateUpdate();
CubeNode := Update.RootFolder.Add(MetabaseUpdateNodeType.untDataObject) As IMetabaseUpdateDataObjectNode;
Object := Mb.ItemById["AUTOCUBE"].Bind();
CubeNode.Object := Object;
CubeNode.Label := CubeNode.Object.Name;
CubeNode.Method := MetabaseUpdateMethod.mumAll;
CubeNode.IncludeData := True;
CubeNode.ExtendedParams := Object.CreateUpdateExParams();
Filter := CubeNode.ExtendedParams As IAutoCubeUpdateFilter;
ParamsVal := Object.Params.CreateEmptyValues();
ParamsVal.Item[0].Value := "Parameter1";
Filter.ParamValues := ParamsVal;
CubeInst := Object.Open(ParamsVal) As ICubeInstance;
Filter.SelectionSet := CubeInst.Destinations.DefaultDestination.CreateDimSelectionSet();
For Each Sel In Filter.SelectionSet Do
If sel.Dimension.Ident = "CALENDAR" Then
sel.SelectSiblings(0);
Else
Sel.SelectElement(0, True);
End If;
End For;
Update.SaveToFileNF("c:\temp\autocube.pefx");
End Sub;
После выполнения примера в папке «c:\temp» будет создан файл обновления.
См. также: