Rebase(Input: ITimeSeries;
BaseDate: String;
[BasePeriod: DimCalendarLevel = 1;]
[BaseValue: Integer = 100]): Variant;
Input. Variable.
BaseDate. Date, relative to which the function is calculated.
BasePeriod. Calendar frequency for function. Optional parameter. The default value: DimCalendarLevel.Year - annual frequency.
BaseValue. Base value for function calculation. Optional parameter. The default value is 100.
The Rebase method applies the Rebase function to selected variable.
Executing the example requires that the repository contains a modeling container with the MS identifier. A model with the MODEL_D identifier calculated by the method of determinate equation and containing at least one input variable must be available in this container.
Sub UserProc;
Var
Mb: IMetabase;
ModelSpace, ModelObj: IMetabaseObject;
Transf: IMsFormulaTransform;
Formula: IMsFormula;
Model: IMsModel;
Determ: IMsDeterministicTransform;
TransVar: IMsFormulaTransformVariable;
Slice: IMsFormulaTransformSlice;
TermInfo: IMsFormulaTermInfo;
Expr: IExpression;
Begin
Mb := MetabaseClass.Active;
ModelSpace := Mb.ItemById("MS").Bind;
ModelObj := Mb.ItemByIdNamespace("MODEL_D", ModelSpace.Key).Edit;
Model := ModelObj As IMsModel;
Transf := Model.Transform;
Formula := Transf.FormulaItem(0);
Determ := Formula.Method As IMsDeterministicTransform;
TransVar := Transf.Inputs.Item(0);
Slice := TransVar.Slices.Item(0);
TermInfo := Transf.CreateTermInfo;
TermInfo.Slice := Slice;
TermInfo.Type := MsFormulaTermType.Pointwise;
Expr := Determ.Expression;
Expr.References := "Ms";
Expr.AsString := "Rebase(" + TermInfo.TermInnerText + ", "+""""+"01.01.2006"+""""+")";
If Expr.Valid
Then ModelObj.Save;
Else Debug.WriteLine(The model is not saved: error in the formula);
End If;
End Sub UserProc;
After executing the example the model transforms the first input variable using the Rebase function.
Expression 1:
Rebase({Brazil|BCA},"2005A")
Result: the Rebase function is applied for the Brazil|BCA factor.
Use: it can be used in formulas of calculated series of time series database and model formulas of modeling container that is a child of the time series database.
Expression 2:
Rebase(X1,"2000A")
Result: the Rebase function is applied for the X1 factor.
Use: it can be used in model formulas of modeling container.
See also: