ICubeCacheSaver.SaveCache

Синтаксис

SaveCache(

DestKey: Integer;

ParamValues: IMetabaseObjectParamValues;

Selections: IDimSelectionSet;

Value: IMatrix);

Параметры

DestKey. Ключ необходимого варианта отображения куба.

ParamValues. Параметры указанного объекта кэширования.

Selections. Коллекция отметок в указанном варианте отображения куба.

Value. Матрица значений куба.

Описание

Метод SaveCache выполняет сохранение кэша для заданного варианта отображения куба по заданным параметрам.

Пример

Для выполнения примера понадобится база данных с идентификатором «DB», а также куб с идентификатором «D_SEP».

Sub UserProc;
Var
    MB: IMetabase;
    MObj: IMetabaseObjectDescriptor;
    CacheSaver: ICubeCacheSaver;
    CrInfo: IMetabaseObjectCreateInfo;
    CubIn: ICubeInstance;
    Dest: ICubeInstanceDestination;
    SelSet: IDimSelectionSet;
    i: Integer;
    Sel: IDimSelection;
    Mat: IMatrix;
Begin
    MB := MetabaseClass.Active;
    MObj := MB.ItemById("D_SEP");
    CrInfo := MB.CreateCreateInfo;
    CrInfo.ClassId := MetabaseObjectClass.KE_CLASS_CUBE_CACHE_SAVER;
    CrInfo.Parent := MObj;
    CrInfo.Permanent := True;
    CacheSaver := MB.CreateObject(CrInfo).Edit As ICubeCacheSaver;
    CacheSaver.Database := MB.ItemById("DB").Bind As IDatabase;
    (CacheSaver As IMetabaseObject).Save;
    CubIn := MObj.Open(NullAs ICubeInstance;
    Dest := CubIn.Destinations.DefaultDestination;
    SelSet := Dest.CreateDimSelectionSet;
    For Each Sel In SelSet Do
        Sel.SelectAll;
    End For;
    Mat := Dest.Execute(SelSet);
    CacheSaver.SaveCache(Dest.Key, Null, SelSet, Mat);
End Sub UserProc;

После выполнения примера будет в базе данных с идентификатором «DB» будет создано хранилище кэша для куба с идентификатором «D_SEP».

См. также:

ICubeCacheSaver