IModelling.DiffX

Syntax

DiffX(Input: ITimeSeries; [Lag: Integer = 1]): Variant;

Parameters

Input. Variable.

Lag. The parameter sets a shift (lag) of variable points in a time period.

Description

The DiffX method calculates increment of variable points in comparison with the specified period.

Comments

The Lag parameter can take only positive values; optional parameter; the default value is 1 - the previous period.

Variable points increment is calculated by the formula: X[t]-X[t-Lag].

Example

Executing the example requires that the repository contains a modeling container with the MS identifier. This container includes a model with the MODEL_D identifier that is calculated by the determinate equation method and contains at least one input variable.

Add links to the Metabase and Ms system assemblies.

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;
    Expr := Determ.Expression;
    Expr.References := "Ms";
    Expr.AsString := "DiffX(" + TermInfo.TermInnerText + ", 3)";
    If Expr.Valid
    Then ModelObj.Save;
    Else Debug.WriteLine("Model is not saved: error in formula");
    End If;
End Sub UserProc;

After executing the example the model will calculate increment of the first input variable points to the period shifted from the current one by three points back.

Example of Use in Expressions

Expression 1:

DiffX({Brazil|BCA}, 2)

Result: the increment of the Brazil|BCA time series observations is calculated to the period that is shifted from the current one by two points back.

Use: it can be used in formulas of cross functional expression editor in any platform tool where it is available.

Expression 2:

DiffX(X1, 3)

Result: the increment of values of the X1 factor points is calculated to the previous period that is shifted from the current one by three points back.

Use: it can be used in model formulas of modeling container.

See also:

IModelling