InputFactorTerm: IMsFormulaTermInfo;
Свойство InputFactorTerm определяет параметры входного терма, являющегося показателем.
Свойство устарело, используйте IMsMethodSeries.Input.
Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с идентификатором «Button1», компонента TabSheetBox и компонента UiErAnalyzer с наименованием «UiErAnalyzer1», являющегося источником данных для TabSheetBox. В «UiErAnalyzer1» должна быть загружена рабочая область базы данных временных рядов, в которой должен присутствовать показатель с ключом «98280», содержащий годовые данные.
Пример будет выполняться при нажатии на кнопку.
Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);
Var
Laner: ILaner;
Series: ILanerSeries;
RubrIn: IRubricatorInstance;
Factor: IRubricatorFactor;
Serie: ILanerSourceSerie;
VarStub: IVariableStub;
CalcSerie: ILanerCalculateSerie;
TransformModel: IFormulaTransformModel;
FormulaTransform: IMsFormulaTransform;
Slice: IMsFormulaTransformSlice;
Selector: IMsFormulaTransformSelector;
Formula: IMsFormula;
MedianSmoothing: IMsMedianSmoothingTransform;
TermInfo: IMsFormulaTermInfo;
Begin
Laner := UiErAnalyzer1.ErAnalyzer.Laner;
RubrIn := Laner.RubricatorInstance;
Factor := RubrIn.GetFactData(98280).Factor;
Laner.BeginUpdate;
Series := Laner.Series;
Serie := Series.AddSourceSerie(Factor);
VarStub := Serie.Stub;
CalcSerie := Series.AddCalculateSerie("MedianSmoothing");
TransformModel := CalcSerie.Transform;
TransformModel.AddInputVariable(VarStub);
FormulaTransform := TransformModel.Transform As IMsFormulaTransform;
FormulaTransform.Inputs.Add(VarStub);
Slice := FormulaTransform.Outputs.Item(0).Slices.Add(Null);
Selector := FormulaTransform.CreateSelector;
Selector.Slice := Slice;
Formula := FormulaTransform.Transform(Selector);
Formula.Kind := MsFormulaKind.MedianSmoothing;
Formula.Level := DimCalendarLevel.Year;
MedianSmoothing := Formula.Method As IMsMedianSmoothingTransform;
Slice := FormulaTransform.Inputs.Item(0).Slices.Add(Null);
TermInfo := FormulaTransform.CreateTermInfo;
TermInfo.Slice := Slice;
MedianSmoothing.InputFactorTerm := TermInfo;
Laner.EndUpdate;
WinApplication.InformationBox(CalcSerie.SaveModel.Name);
End Sub Button1OnClick;
После выполнения примера будет добавлен новый ряд, основанный на показателе с ключом «98280». На его основе будет создан вычисляемый ряд, рассчитанный методом медианного сглаживания. Вычислимый ряд будет сохранен в виде модели, наименование которой будет отображено в информационном сообщении.
См. также: