Formula: IExpression;
Свойство Formula возвращает выражение, определяющее привязку факта куба к полям источника данных, либо выражение, по которому будет определяться значение вычисляемого факта.
Для выполнения примера предполагается наличие стандартного куба с идентификатором "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;
Debug.WriteLine(FactBind.Formula.AsString);
v := FactBind.FactKey;
FactBind := StandCub.CalcBindings.Binding(2);
FactBind.Formula.AsString := "@[1]*3.14";
MObj.Save;
End Sub Main;
После выполнения примера будет настроена привязка для первых двух элементов измерения фактов куба. Первый факт куба будет привязан к первому полю источника данных, второй будет определен как вычисляемый факт, его значение вычисляется на базе значения первого факта, по установленной формуле.
См. также: