IStandardCubeFactBinding.DistinctAggregate

Синтаксис

DistinctAggregate: Boolean;

Описание

Свойство DistinctAggregate определяет, агрегировать ли идентичные данные. True - агрегировать только различные значения, False - агрегировать все значения.

Пример

Для выполнения примера предполагается наличие в репозитории стандартного куба с идентификатором «OBJ_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;

После выполнения примера для фактов куба будет определен пользовательский метод расчета агрегации на источнике данных. Агрегироваться будут только различные значения.

См. также:

IStandardCubeFactBinding