StrictRequiredItems: Boolean;
StrictRequiredItems: boolean;
Свойство StrictRequiredItems определяет, извлекать ли данные только по обязательным изменениям.
Возможные значения:
True. Данные будут извлечены только по обязательным измерениям;
False. Данные будут извлечены по выбранным измерениям.
Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «FC».
Добавьте ссылки на системные сборки «Metabase», «Cubes», «Dimensions», «Matrix».
Sub UserProc;
Var
Mb: IMetabase;
Cat: IMetabaseObject;
Inst: IRubricatorInstance;
Cub: ICubeInstance;
Dest: ICubeInstanceDestination;
Exe: ICubeInstanceDestinationExecutor;
Sels: IDimSelectionSet;
Sel: IDimSelection;
Arr: Array[1] Of Integer;
Si, Sc: Integer;
Mat: IMatrix;
ExecuteResult: ICubeExecuteResult;
It: IMatrixIterator;
Coo: IMatrixCoord;
Begin
Mb := MetabaseClass.Active;
Cat := Mb.ItemById("FC").Bind;
Inst := Cat.Open(Null) As IRubricatorInstance;
Cub := Inst As ICubeInstance;
Dest := Cub.Destinations.DefaultDestination;
Sels := Dest.CreateDimSelectionSet;
Sc := Sels.Count - 1;
For Si := 0 To Sc Do
Sel := Sels.Item(Si);
Sel.SelectAll;
End For;
Exe := Dest.CreateExecutor;
(Exe As IRubricatorFactorIO).MultipleFactors := True;
Arr[0] := 125616;
(Exe As IRubricatorFactorExecutor).SetFactorKeys(Arr);
(Sels As ICubeExecuteSetup).StrictRequiredItems := True;
Exe.PrepareExecute(Sels);
Mat := Exe.Matrix;
ExecuteResult := CubeClass.ExecuteResult(Mat);
Exe.PerformExecute;
Mat.ValueFlag := 1;
Coo := Mat.CreateCoord;
It := Mat.CreateIterator;
It.Move(IteratorDirection.First);
While It.Valid Do
Debug.WriteLine(It.Value);
It.Move(IteratorDirection.Next);
End While;
End Sub UserProc;
После выполнения примера будут получены и выведены в окно консоли данные по обязательным измерениям для показателя с ключом «125616».
См. также: