IFormulaTransformModel.AddInputVariable

Синтаксис

AddInputVariable(Variable: IVariableStub);

Параметры

Variable. Добавляемый ряд.

Описание

Метод AddInputVariable осуществляет добавление входного ряда.

Пример

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

Добавьте ссылки на системные сборки: Cubes, Dimensions, Express, Laner, Metabase, Ms.

Sub UserProc;
Var
    MB: IMetabase;
    Workbook: IEaxAnalyzer;
    Laner: ILaner;
    Series: ILanerSeries;
    RubrIn: IRubricatorInstance;
    Factor: IRubricatorFactor;
    Serie: ILanerCalculateSerie;
    VarStub: IVariableStub;
    CalcSerie: ILanerCalculateSerie;
    TransformModel: IFormulaTransformModel;
    FormulaTransform: IMsFormulaTransform;
    Slice: IMsFormulaTransformSlice;
    Selector: IMsFormulaTransformSelector;
    Formula: IMsFormula;
    Arima: IMsArimaTransform;
    TermInfo: IMsFormulaTermInfo;
Begin
    // Получим текущий репозиторий
    MB := MetabaseClass.Active;
    // Получим рабочую книгу
    Workbook := MB.ItemById("WORKBOOK").Edit As IEaxAnalyzer;
    // Получим рабочую область каталога показателей
    Laner := Workbook.Laner;
    // Получим коллекцию рядов рабочей области
    Series := Laner.Series;
    // Получим данные базы данных временных рядов
    RubrIn := Laner.RubricatorInstance;
    // Получим временной ряд показателя с ключом «1»
    Factor := RubrIn.GetFactData(1).Factor;
    // Добавим вычисляемый ряд на основе временного ряда
    Serie := Series.AddCalculateSerieAsSource(Factor);
    VarStub := Serie.Stub;
    // Добавим вычисляемый ряд с наименованием «ARIMA»
    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.Series.Input := TermInfo;
    // Сохраним изменения
    (Workbook As IMetabaseObject).Save;
End Sub UserProc;

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

См. также:

IFormulaTransformModel