PrepareMatrix(Dest: ICubeInstanceDestination): IMatrix;
PrepareMatrix(Dest: Prognoz.Platform.Interop.Cubes.ICubeInstanceDestination): Prognoz.Platform.Interop.Matrix.IMatrix;
Dest. Отстроенный вариант отображения куба.
Метод PrepareMatrix для указанного варианта отображения куба отстраивает матрицу, которая будет сохранена в кэш.
Если в кэше уже имеется кэшированная матрица с данными для указанного варианта отображения куба, то она будет перестроена. В виду особенностей реализации метод возвращает пустую матрицу, структура которой соответствует структуре источника данных.
Для выполнения примера предполагается наличие в репозитории куба с идентификатором «STD_CUBE». В репозитории используется механизм кэширования In-Memory.
Добавьте ссылки на системные сборки: Cubes, Metabase.
Sub UserProc;
Var
Mb: IMetabase;
CubeInst: ICubeInstance;
DestInst: ICubeInstanceDestination;
InMem: IInMemManager;
Begin
Mb := MetabaseClass.Active;
// Открытие куба
CubeInst := Mb.ItemById("STD_CUBE").Open(Null) As ICubeInstance;
DestInst := CubeInst.Destinations.DefaultDestination;
// Менеджер для работы с кэшем In-Memory
InMem := New InMemManager.Create;
InMem.PrepareMatrix(DestInst);
End Sub UserProc;
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Metabase;
Public Shared Sub Main(Params: StartParams);
Var
Mb: IMetabase;
CubeInst: ICubeInstance;
DestInst: ICubeInstanceDestination;
InMem: InMemManager = New InMemManagerClass();
Begin
Mb := Params.Metabase;
// Открытие куба
CubeInst := Mb.ItemById["STD_CUBE"].Open(Null) As ICubeInstance;
DestInst := CubeInst.Destinations.DefaultDestination;
// Менеджер для работы с кэшем In-Memory
InMem.PrepareMatrix(DestInst);
End Sub;
При выполнении примера в кэше будут обновлены все данные указанного куба.
См. также: