IMsCrossDimensionAggregationOptions.RebaseDateParamId

Синтаксис

RebaseDateParamId: String;

Описание

Свойство RebaseDateParamId определяет параметр, задающий базовый период для расчета агрегации.

Пример

Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «FC». В контейнере моделирования данной базы должна присутствовать метамодель, содержащая параметр «RebDate_Param». Цепочка расчета метамодели должна содержать модель с идентификатором «MODEL_AGGR», рассчитываемую методом расширенной агрегации.

Sub Main;

Var

mb: IMetabase;

RubrDescr: IMetabaseObjectDescriptor;

Rubr: IRubricator;

msDescr: IMetabaseObjectDescriptor;

Model: IMsModel;

Transform: IMsFormulaTransform;

Formula: IMsFormula;

Aggr: IMsCrossDimensionAggregationTransform;

strsGen: IMsFormulaStringGenerator;

Options: IMsCrossDimensionAggregationOptions;

Begin

mb := MetabaseClass.Active;

RubrDescr := mb.ItemById("FC");

Rubr := RubrDescr.Bind As IRubricator;

msDescr := Rubr.ModelSpace;

Model := mb.ItemByIdNamespace("MODEL_AGGR", msDescr.Key).Edit As IMsModel;

Transform := Model.Transform;

Formula := Transform.FormulaItem(0);

Aggr := Formula.Method As IMsCrossDimensionAggregationTransform;

Aggr.AgregationMethod := MsAgregationMethodType.Sum;

Options := Aggr.Options;

Options.Threshold := 0;

Options.Level := True;

Options.Rebase := True;

Options.RebaseDateParamId := "RebDate_Param";

Options.LevelValue := DimCalendarLevel.Year;

Options.UseFillGaps := False;

strsGen := Formula.CreateStringGenerator;

strsGen.ShowFullVariableNames := True;

Debug.WriteLine("Выражение агрегации: " + strsGen.Execute);

(Model As IMetabaseObject).Save;

End Sub Main;

После выполнения примера будет изменены следующие параметры модели:

В окно консоли будет выведено выражение, по которому рассчитывается агрегация. Например:

Выражение агрегации: World for publication|BCA[t] = Rebase(Level(Сумма((BCA[t]) * (BCI[t])) / Сумма(BCI[t])), RebDate_Param)

См. также:

IMsCrossDimensionAggregationOptions