ReverseFactKey: Variant;
Свойство ReverseFactKey определяет ключ факта куба, значение которого будут вычисляться по формуле ReverseFormula. Факт с ключом ReverseFactKey должен иметь привязку, к какому-либо источнику данных куба.
Для выполнения примера предполагается наличие стандартного куба с идентификатором "Stan_Cube". В измерении фактов куба имеется не менее трех элементов.
Sub Main;
Var
MB: IMetabase;
MObj: IMetabaseObject;
StandCub: IStandardCube;
StDataset: IStandardCubeDataset;
Dataset: IDatasetModel;
Field: IDatasetModelField;
FactBind: IStandardCubeFactBinding;
v: Variant;
Begin
MB := MetabaseClass.Active;
MObj := MB.ItemById("Stan_Cube").Edit;
StandCub := MObj As IStandardCube;
StDataset := StandCub.Datasets.Item(0);
Dataset := StDataset.Dataset;
Field := Dataset.Fields.Item(0);
FactBind := StandCub.FactBindings(StDataset).Binding(1);
FactBind.Formula.AsString := (Dataset As IMetabaseObject).Id + "." + Field.Id;
Field := Dataset.Fields.Item(1);
FactBind := StandCub.FactBindings(StDataset).Binding(2);
FactBind.Formula.AsString := (Dataset As IMetabaseObject).Id + "." + Field.Id;
v := FactBind.FactKey;
FactBind := StandCub.CalcBindings.Binding(3);
FactBind.Formula.AsString := "@[1]*3";
FactBind.ReverseFactKey := v;
FactBind.ReverseFormula.AsString := "((VALUE + 1) * 4 - 2) / 2 ";
MObj.Save;
End Sub Main;
После выполнения примера будет настроена привязка для первых трех элементов измерения фактов куба. Первый и второй факт куба будут привязаны к двум полям источника данных, третий факт будет определен как вычисляемый, его значение вычисляется на базе значения первого факта, а также по установленной формуле будет изменяться значение второго факта.
См. также: