ILanerCalculateGroupSerie.Transform

Синтаксис

Transform: IFormulaTransformModel;

Описание

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

Пример

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

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

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

Var

Rubricator: IRubricator;

ErAn: IEaxAnalyzer;

Laner: ILaner;

TransformVar: IMsFormulaTransformVariable;

Coord: IMsFormulaTransformCoord;

Slice: IMsFormulaTransformSlice;

selector: IMsFormulaTransformSelector;

Formula: IMsFormula;

Det: IMsDeterministicTransform;

Term1: IMsFormulaTerm;

CalcGroupSer : ILanerCalculateGroupSerie;

Transform : IMsFormulaTransform;

MsMetaAttributeValue: IMsMetaAttributeValue;

MsMetaA: IMetaAttribute;

Begin

ErAn := UiErAnalyzer1.ErAnalyzer;

Laner := ErAn.Laner;

Rubricator := Laner.RubricatorInstance.Rubricator;

Laner.BeginUpdate;

CalcGroupSer := Laner.Series.AddCalculateGroupSerie(Rubricator);

CalcGroupSer.Name := "Argentina + 100";

Transform := CalcGroupSer.Transform.Transform As IMsFormulaTransform;

TransformVar := Transform.Outputs.Add(Null);

Coord := Transform.CreateCoord(TransformVar);

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

Selector := Transform.CreateSelector;

Selector.Slice := Slice;

Formula := Transform.Transform(Selector);

Formula.Kind := MsFormulaKind.Deterministic;

Det := Formula.Method As IMsDeterministicTransform;

TransformVar := Transform.Inputs.Add(Null);

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

MsMetaA := Rubricator.Facts.Attributes.FindById("COUNTRY");

MsMetaAttributeValue := Slice.MetaAttributeValueList.Add(MsMetaA);

MsMetaAttributeValue.Value := 213;

Term1 := Det.Operands.Add(Slice);

Det.Expression.AsString := Term1.TermToInnerText + " + 100";

Laner.EndUpdate;

End Sub Button1OnClick;

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

См. также:

ILanerCalculateGroupSerie