IFormulaTransformModel.Transform

Синтаксис

Transform: Object;

Описание

Свойство Transform возвращает объект, позволяющий настроить параметры метода расчета.

Комментарий

Для настройки параметров метода расчёта возвращаемый объект должен быть приведен к интерфейсу IMsFormulaTransform.

Пример

Для выполнения примера предполагается наличие формы, расположенной на ней кнопки с идентификатором «Button1», компонента LanerBox и компонента UiErAnalyzer с наименованием «UiErAnalyzer1», являющегося источником данных для LanerBox. В «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;
    Arima: IMsArimaTransform;
    TermInfo: IMsFormulaTermInfo;
Begin
    Laner := UiErAnalyzer1.ErAnalyzer.Laner;
    Series := Laner.Series;
    RubrIn := Laner.RubricatorInstance;
    Factor := RubrIn.GetFactData(
98280).Factor;
    Laner.BeginUpdate;
    Serie := Series.AddSourceSerie(Factor);
    VarStub := Serie.Stub;
    CalcSerie := Series.AddCalculateSerie(
"ARIMA");
    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.Arima;
    Formula.Level := DimCalendarLevel.Year;
    Arima := Formula.Method 
As IMsArimaTransform;
    Slice := FormulaTransform.Inputs.Item(
0).Slices.Add(Null);
    TermInfo := FormulaTransform.CreateTermInfo;
    TermInfo.Slice := Slice;
    Arima.InputFactorTerm := TermInfo;
    Laner.EndUpdate;
End Sub Button1OnClick;

После выполнения примера будет добавлен новый вычисляемый ряд «ARIMA», рассчитывающий показатель с ключом «98280» с помощью метода ARIMA.

См. также:

IFormulaTransformModel