ILanerCalculateSerie.Source

Синтаксис

Source: IRubricatorFactor;

Описание

Свойство Source определяет источник вычисляемого ряда.

Пример

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

Пример будет выполняться при нажатии на кнопку.

Sub Button1OnClick(Sender: Object; Args: IMouseEventArgs);

Var

ErAn: IEaxAnalyzer;

Laner: ILaner;

Series: ILanerSeries;

CalcSerie, Serie: ILanerCalculateSerie;

tr: IMsFormulaTransform;

OutVar, InpVar: IMsFormulaTransformVariable;

Slice: IMsFormulaTransformSlice;

Selector: IMsFormulaTransformSelector;

Formula: IMsFormula;

Determ: IMsDeterministicTransform;

TermInfo: IMsFormulaTermInfo;

Begin

ErAn := UiErAnalyzer1.ErAnalyzer;

Laner := ErAn.Laner;

Laner.BeginUpdate;

Series := Laner.Series;

CalcSerie := Series.Item(0) As ILanerCalculateSerie;

Serie := Series.AddCalculateSerieAsSource(CalcSerie.Source);

Serie.Name := Serie.SourceStub.Name + " + 10";

Serie.UseTransform := True;

tr := Serie.Transform.Transform As IMsFormulaTransform;

OutVar := tr.Outputs.Item(0);

Slice := OutVar.Slices.Add(Null);

Selector := tr.CreateSelector;

Selector.Slice := Slice;

Formula := tr.Transform(Selector);

Formula.Kind := MsFormulaKind.Deterministic;

Determ := Formula.Method As IMsDeterministicTransform;

InpVar := tr.Inputs.Add(Serie.SourceStub);

Slice := InpVar.Slices.Add(Null);

TermInfo := tr.CreateTermInfo;

TermInfo.Slice := Slice;

Determ.Expression.AsString := TermInfo.TermInnerText + " + 10";

Laner.EndUpdate;

End Sub Button1OnClick;

После выполнения примера в рабочую книгу будет добавлен вычисляемый ряд, основанный на данных первого ряда рабочей книги.

См. также:

ILanerCalculateSerie