IStandardCubeCalculatedFactBinding.TimeLagLevel

Синтаксис

TimeLagLevel: DimCalendarLevel;

Описание

Свойство TimeLagLevel определяет уровень календаря, по которому необходимо увеличить отметку, для расчета вычисляемого показателя.

Пример

Для выполнения примера предполагается наличие стандартного куба с идентификатором "Stan_Cube". В измерении фактов куба имеется не менее двух элементов.

Sub Main;

Var

MB: IMetabase;

MObj: IMetabaseObject;

StandCub: IStandardCube;

StDataset: IStandardCubeDataset;

Dataset: IDatasetModel;

Field: IDatasetModelField;

FactBind: IStandardCubeFactBinding;

Relation: IStandardCubeRelation;

Begin

MB := MetabaseClass.Active;

MObj := MB.ItemById("Stan_Cube").Edit;

StandCub := MObj As IStandardCube;

StDataset := StandCub.Datasets.Item(0);

//Создаем отношение

Relation := StandCub.Relations.Add;

Relation.Relation(StandCub.Dimensions.Item(0)).AsString := "T.NEXT";

Relation.Id := "RELATION_1";

Relation.Name := "RELATION_1";

//Поле для привязки

Dataset := StDataset.Dataset;

Field := Dataset.Fields.Item(0);

//Привязка первого факта

FactBind := StandCub.FactBindings(StDataset).Binding(1);

FactBind.Formula.AsString := (Dataset As IMetabaseObject).Id + "." + Field.Id;

//Привязка второго(вычисляемого) факта

FactBind := StandCub.CalcBindings.Binding(3);

FactBind.Formula.AsString := "@[1]-RELATION_1[@[1]]";

//Задаем лаг для вычисляемого показателя

(FactBind As IStandardCubeCalculatedFactBinding).TimeLagLevel := DimCalendarLevel.Month;

(FactBind As IStandardCubeCalculatedFactBinding).TimeForwardLag := 1;

MObj.Save;

End Sub Main;

После выполнения примера будет настроена привязка для первых двух элементов измерения фактов куба. Первый факт куба будет привязан к первому полю источника данных. Второй факт будет определен как вычисляемый. Для задания формулы вычисляемого факта будет создано отношение, выбирающее значение следующего элемента.

См. также:

IStandardCubeCalculatedFactBinding