IdentificationStartDateParamId: String;
IdentificationStartDateParamId: string;
The IdentificationStartDateParamId property determines an identifier of the parameter setting the sample period start date.
To determine a parameter setting the sample period end date, use the IFormulaTransformModel.IdentificationEndDateParamId property.
Executing the example requires a form containing the LanerBox component with the LanerBox1 identifier and the UiErAnalayzer component with the UiErAnalayzer1 identifier, which is a data source for LanerBox1. UiErAnalayzer1 must contain a workbook of the time series database containing calculated series and parameters of the Date and Time types with the following identifiers: IDENT_START, IDENT_END, FORECAST_START, FORECAST_END.
Add links to the Cubes, Dal, Metabase, Transform system assemblies.
Before executing the example select one calculated series in LanerBox1.
Sub CalcSeriesPerams;
Var
Eax: IEaxAnalyzer;
ParamsProv: ITsParamProvider;
ParamVals: ITsModelParamValues;
pVal: ITsModelParamValue;
Laner: ILaner;
Series: ILanerSerie;
CalcSerie: ILanerCalculateSerie;
TransformModel: IFormulaTransformModel;
Begin
Eax := UiErAnalyzer1.ErAnalyzer;
// Get object for working with parameters
ParamsProv := Eax.ParamProvider As ITsParamProvider;
// Set parameters value
ParamVals := ParamsProv.ParamValues;
// Sample start
pVal := ParamVals.FindById("IDENT_START");
pVal.Value := DateTime.Parse("01.01.2003");
// Sample end
pVal := ParamVals.FindById("IDENT_END");
pVal.Value := DateTime.Parse("31.12.2007");
// Forecast start
pVal := ParamVals.FindById("FORECAST_START");
pVal.Value := DateTime.Parse("01.01.2008");
// Forecast end
pVal := ParamVals.FindById("FORECAST_END");
pVal.Value := DateTime.Parse("01.01.2015");
// Get calculated series
Series := LanerBox1.SelectedSeries(0);
CalcSerie := Series As ILanerCalculateSerie;
TransformModel := CalcSerie.Transform;
TransformModel.AutoPeriod := TransformModelAutoPeriodOptions.None;
TransformModel.PeriodSet := TransformModelPeriodSet.All;
TransformModel.UsePeriod := True;
// Set parameters for series calculation period
TransformModel.IdentificationStartDateParamId := "IDENT_START";
TransformModel.IdentificationEndDateParamId := "IDENT_END";
TransformModel.ForecastStartDateParamId := "FORECAST_START";
TransformModel.ForecastEndDateParamId := "FORECAST_END";
// Update data
Laner := Eax.Laner;
Laner.Refresh;
CalcSerie.Calculate;
End Sub CalcSeriesPerams;
Example execution result: for the calculated series selected in the LanerBox1 component the calculation period parameters will be determined by the following parameters: IDENT_START, IDENT_END, FORECAST_START, FORECAST_END.
The requirements and result of the Fore.NET example execution match with those in the Fore example. Use Fore.NET analogs instead of Fore components.
Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Laner;
Imports Prognoz.Platform.Interop.Transform;
…
Public Sub CalcSeriesPerams();
Var
Eax: IEaxAnalyzer;
ParamsProv: ITsParamProvider;
ParamVals: ITsModelParamValues;
pVal: ITsModelParamValue;
Laner: ILaner;
Series: ILanerSerie;
CalcSerie: ILanerCalculateSerie;
TransformModel: IFormulaTransformModel;
Begin
Eax := uiErAnalyzerNet1.ErAnalyzer.ErAnalyzer;
// Get object for working with parameters
ParamsProv := Eax.ParamProvider As ITsParamProvider;
// Set parameters value
ParamVals := ParamsProv.ParamValues;
// Sample start
pVal := ParamVals.FindById("IDENT_START");
pVal.Value := DateTime.Parse("01.01.2003");
// Sample end
pVal := ParamVals.FindById("IDENT_END");
pVal.Value := DateTime.Parse("31.12.2007");
// Forecast start
pVal := ParamVals.FindById("FORECAST_START");
pVal.Value := DateTime.Parse("01.01.2008");
// Forecast end
pVal := ParamVals.FindById("FORECAST_END");
pVal.Value := DateTime.Parse("01.01.2015");
// Get calculated series
Series := lanerBoxNet1.SelectedSeries[0];
CalcSerie := Series As ILanerCalculateSerie;
TransformModel := CalcSerie.Transform;
TransformModel.AutoPeriod := TransformModelAutoPeriodOptions.tmapoNone;
TransformModel.PeriodSet := TransformModelPeriodSet.tmpsAll;
TransformModel.UsePeriod := True;
// Set parameters for series calculation period
TransformModel.IdentificationStartDateParamId := "IDENT_START";
TransformModel.IdentificationEndDateParamId := "IDENT_END";
TransformModel.ForecastStartDateParamId := "FORECAST_START";
TransformModel.ForecastEndDateParamId := "FORECAST_END";
// Update data
Laner := Eax.Laner;
Laner.Refresh();
CalcSerie.Calculate();
End Sub CalcSeriesPerams;
See also: