ICubeInstanceDestinationExecutor.Matrix

Синтаксис

Matrix: IMatrix;

Описание

Метод Matrix возвращает результирующую матрицу с данными.

Пример

Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «OBJ_RUBRICATOR». В данной базе должен присутствовать уникальный атрибут, ссылающийся на справочник с идентификатором «DICT_IND», расположенный в репозитории НСИ с идентификатором «RDS_REPO».

Sub Main;

Var

MB: IMetabase;

RubDesc: IMetabaseObjectDescriptor;

RubrIn: IRubricatorInstance;

Cub: ICubeInstance;

Dest: ICubeInstanceDestination;

Sels: IDimSelectionSet;

Sel: IDimSelection;

DictDescr: IMetabaseObjectDescriptor;

DictInst: IDimInstance;

Exec: ICubeInstanceDestinationExecutor;

Mat: IMatrix;

Ite: IMatrixIterator;

Begin

MB := MetabaseClass.Active;

RubDesc := MB.ItemById("FC_RUBRICATOR");

RubrIn := RubDesc.Open(Null) As IRubricatorInstance;

Cub := RubrIn As ICubeInstance;

Dest := Cub.Destinations.DefaultDestination;

Sels := Dest.CreateDimSelectionSet;

Sels.Clear;

Sel := Sels.Add(RubrIn.CalendarLevelsDimension);

Sel.SelectAll;

DictDescr := MB.ItemByIdNamespace("DICT_IND", MB.ItemById("RDS_REPO").Key);

DictInst := DictDescr.Open(Null) As IDimInstance;

Sel := Sels.Add(DictInst);

Sel.SelectElement(0, False);

Exec := Dest.CreateExecutor;

Exec.ScenarioKey := -1;

Exec.PrepareExecute(Sels);

Exec.PerformExecute;

Mat := Exec.Matrix;

Ite := Mat.CreateIterator;

Ite.Move(IteratorDirection.First);

While Ite.Valid Do

Debug.WriteLine(Ite.Value);

Ite.Move(IteratorDirection.Next);

End While;

End Sub Main;

После выполнения примера данные базы данных временных рядов будут представлены как данные отстроенного куба. В окно консоли будет выведена результирующая матрица с данными по указанной отметке.

См. также:

ICubeInstanceDestinationExecutor