IStandardCubeFactBinding.CustomAggregateFunction

Syntax

CustomAggregateFunction: String;

Description

The CustomAggregateFunction property determines a custom method of aggregation calculation. This property is taken into account if the IStandardCubeFactBinding.AggregationType property is set to CubeFactBindingAggregationType.Custom.

Example

Executing the example requires that the repository contains a standard cube with the OBJ_CUBE identifier. Facts bindings must be set up in this cube.

Sub Main;

Var

MB: IMetabase;

MObj: IMetabaseObject;

StandCub: IStandardCube;

StDataset: IStandardCubeDataset;

FactBind: IStandardCubeFactBinding;

FactBinds: IStandardCubeFactBindings;

FactDimension: IDimInstance;

Iter: IDimIterator;

DimElements: IDimElements;

id: String;

Begin

MB := MetabaseClass.Active;

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

StandCub := MObj As IStandardCube;

FactDimension := StandCub.FactDimension.OpenDimension;

DimElements := FactDimension.Elements;

Iter := DimElements.Elements.Iterator;

Iter.First;

While Iter.Next Do

id := DimElements.Id(Iter.Element);

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

FactBinds := StandCub.FactBindings(StDataset);

FactBind := FactBinds.Binding(id);

If FactBind.Formula <> Null Then

FactBind.AggregationType := CubeFactBindingAggregationType.Custom;

FactBind.CustomAggregateFunction := "SUM";

FactBind.DistinctAggregate := True;

FactBind.AggregatedDataType := CubeFactBindingAggregatedDataType.FixedPoint;

FactBind.AggregatedDataTypePrecision := 3;

End If;

End While;

MObj.Save;

End Sub Main;

After executing the example a custom method of aggregation calculation on the data source is determined for cube facts. Numbers with fixed point calculated to within one thousandth are the result of aggregation. Aggregation method - sum.

See also:

IStandardCubeFactBinding