IMsSpliceTransform.PrecedingEndDate

Синтаксис

PrecedingEndDate: DateTime;

Описание

Свойство PrecedingEndDate определяет календарную точку окончания предыдущего ряда.

Комментарии

Свойство устарело, используйте IMsSpliceTransform.Operands.

Пример

Для выполнения примера предполагается наличие в репозитории контейнера моделирования с идентификатором «TRANSFORMATION». В данном контейнере должны присутствовать стандартная модель с идентификатором «M_SPLICE» и переменные с идентификаторами «PRECED», «FOLLOW».

Sub Main;

Var

mb: IMetabase;

ModelCont: IMetabaseObjectDescriptor;

Descript: IMetabaseObjectDescriptor;

Obj: IMetabaseObject;

Model: IMsModel;

Transform: IMsFormulaTransform;

InputsVar: IMsFormulaTransformVariables;

TransformVar: IMsFormulaTransformVariable;

Slice: IMsFormulaTransformSlice;

Selector: IMsFormulaTransformSelector;

Formula: IMsFormula;

Splice: IMsSpliceTransform;

TermInfo : IMsFormulaTermInfo;

Obj_x1: IMetabaseObject;

ModelVar_x1: IMsVariable;

Obj_x2: IMetabaseObject;

ModelVar_x2: IMsVariable;

Begin

mb := MetabaseClass.Active;

ModelCont := mb.ItemById("TRANSFORMATION");

Descript := mb.ItemByIdNamespace("M_SPLICE", ModelCont.Key);

Obj := Descript.Edit;

Model := Obj As IMsModel;

// Настраиваем параметры модели

Transform := Model.Transform;

TransformVar := Transform.Outputs.Item(0);

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

Selector := Transform.CreateSelector;

Selector.Slice := Slice;

Formula := Transform.Transform(Selector);

Formula.Level := DimCalendarLevel.Year;

Formula.Kind := MsFormulaKind.Splice;

Splice := Formula.Method As IMsSpliceTransform;

Splice.MethodType := MsSpliceType.Butt;

Debug.WriteLine("Выходная переменная: " + Splice.Result.TermToText);

InputsVar := Transform.Inputs;

InputsVar.Clear;

// Добавляем первую входную переменную (предыдущий ряд) и задаем ее параметры

Descript := mb.ItemByIdNamespace("PRECED", ModelCont.Key);

Obj_x1 := Descript.Bind;

ModelVar_x1 := Obj_x1 As IMsVariable;

InputsVar.Add(ModelVar_x1 As IVariableStub);

TransformVar := InputsVar.Item(0);

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

TermInfo := Transform.CreateTermInfo;

TermInfo.Slice := Slice;

Splice.PrecedingSerie := TermInfo;

Splice.PrecedingEndDate := DateTime.ComposeDay(2005, 1, 1);

// Добавляем первую входную переменную (последующий ряд) и задаем ее параметры

Descript := mb.ItemByIdNamespace("FOLLOW", ModelCont.Key);

Obj_x2 := Descript.Bind;

ModelVar_x2 := Obj_x2 As IMsVariable;

InputsVar.Add(ModelVar_x2 As IVariableStub);

TransformVar := InputsVar.Item(1);

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

TermInfo := Transform.CreateTermInfo;

TermInfo.Slice := Slice;

Splice.FollowingSerie := TermInfo;

Splice.FollowingStartDate := DateTime.ComposeDay(2004, 1, 1);

Obj.Save;

End Sub Main;

После выполнения примера модель «M_SPLICE» будет осуществлять совмещение рядов «PRECED» и «FOLLOW». В качестве предыдущего ряда будет выступать переменная «PRECED» с календарной точкой окончания- «01.01.2005».

См. также:

IMsSpliceTransform