SetCompoundFactorKeys(Value: Array);
Value. Массив составных ключей временных рядов.
Метод SetCompoundFactorKeys задает составные ключи для временных рядов, которые должны быть рассчитаны.
Ключи для временных рядов, которые должны быть рассчитаны задает метод IRubricatorFactorExecutor.SetFactorKeys.
Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором FC.
Добавьте ссылки на системные сборки: Metabase, Cubes, Matix, Rds.
Sub UserProc;
Var
MB: IMetabase;
RubDesc: IMetabaseObjectDescriptor;
RubrIn: IRubricatorInstance;
Cub: ICubeInstance;
Dest: ICubeInstanceDestination;
FactorExec: IRubricatorFactorExecutor;
FactsLookup: IRubricatorFactsLookup;
Key: Array Of Variant;
i: Integer;
Exec: ICubeInstanceDestinationExecutor;
Mat: IMatrix;
Ite: IMatrixIterator;
Begin
MB := MetabaseClass.Active;
RubDesc := MB.ItemById("FC");
RubrIn := RubDesc.Open(Null) As IRubricatorInstance;
Cub := RubrIn As ICubeInstance;
Dest := Cub.Destinations.DefaultDestination;
Exec := Dest.CreateExecutor;
FactorExec := Exec As IRubricatorFactorExecutor;
FactsLookup := RubrIn.CreateFactsLookup;
i := FactsLookup.LookupFactorsC.Length;
Key := New Variant[i];
Key := FactsLookup.LookupFactorsC;
FactorExec.SetCompoundFactorKeys(Key);
FactorExec.ValueKind := MetaAttributeKind.Value;
FactorExec.ValueId := "VL";
FactorExec.UseDwarf := True;
Exec := FactorExec.AsCubeExecutor;
Exec.PrepareExecute(Null);
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 UserProc;
После выполнения примера в окно консоли будут выведены значения временных рядов, имеющих составной ключ.
См. также: