IMsInterpolateTransformationMethod.InterpolateType

Синтаксис

InterpolateType: MsInterpolateType;

Описание

Свойство InterpolateType определяет метод дезагрегации, который необходимо применить при преобразовании терма.

Пример

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

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

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

Var

Laner: ILaner;

Factor: IRubricatorFactor;

Series: ILanerSeries;

serie: ILanerSourceSerie;

Transform: IFormulaTransformModel;

calcSerie: ILanerCalculateSerie;

t: IMsFormulaTransform;

Selector: IMsFormulaTransformSelector;

Slice, SliceInp: IMsFormulaTransformSlice;

MDic: IMetaDictionary;

MetaAttr: IMetaAttribute;

MsMetaAttributeValue: IMsMetaAttributeValue;

Formula: IMsFormula;

det: IMsDeterministicTransform;

Rubricator: IRubricator;

info: IMsFormulaTermInfo;

term: IMsFormulaTerm;

TermMeth: IMsFormulaTermTransformationMethod;

Interpolate: IMsInterpolateTransformationMethod;

Begin

Laner := UiErAnalyzer1.ErAnalyzer.Laner;

Laner.BeginUpdate;

Series := Laner.Series;

Factor := Laner.RubricatorInstance.GetFactData(98491).Factor;

serie := Series.AddSourceSerie(Factor);

calcSerie := Series.AddCalculateSerie("Interpolate");

Transform := calcSerie.Transform;

Transform.AddInputVariable(serie.Stub);

t := Transform.Transform As IMsFormulaTransform;

Selector := T.CreateSelector;

Slice := T.Outputs.Item(0).Slices.Add(Null);

Selector.Slice := Slice;

Formula := T.Transform(Selector);

Formula.Level := DimCalendarLevel.Month;

Formula.Kind := MsFormulaKind.Deterministic;

Det := Formula.Method As IMsDeterministicTransform;

SliceInp := t.Inputs.Item(0).Slices.Add(Null);

Rubricator := Laner.RubricatorInstance.Rubricator;

Mdic := Rubricator.Facts;

MetaAttr := MDic.Attributes.FindByKind(MetaAttributeKind.CalendarLevel);

MsMetaAttributeValue := SliceInp.MetaAttributeValueList.Add(MetaAttr);

term := Det.Operands.Add(SliceInp);

Info := term.TermInfo;

TermMeth := Info.CreateTermTransformationMethod(MsTermTransformationType.Interpolate);

Interpolate := TermMeth As IMsInterpolateTransformationMethod;

Interpolate.InterpolateType := MsInterpolateType.Prorate;

Info.TermTransformationMethod := Interpolate;

Term.TermInfo := Info;

Det.Expression.AsString := term.TermToInnerText;

Laner.EndUpdate;

End Sub Button1OnClick;

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

См. также:

IMsInterpolateTransformationMethod