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».
См. также: