IStandardCubeCalculatedFactBinding.CalcMethod

Синтаксис Fore

CalcMethod: CubeCalcMethod;

Синтаксис Fore.NET

CalcMethod: Prognoz.Platform.Interop.Cubes.CubeCalcMethod;

Описание

Свойство CalcMethod определяет режим расчёта значений вычисляемого факта при построении куба.

Пример

Для выполнения примера предполагается наличие в репозитории стандартного куба с идентификатором «STD_CUBE». В измерении фактов куба имеется не менее трёх элементов: первые два элемента связаны с полями источника данных; третий элемент привязки не имеет. Добавьте ссылки на системные сборки: Cubes, Db, Dimensions, Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    StdCube: IStandardCube;
    StdCubeDest: IStandardCubeDestination;
    CalcBind: IStandardCubeCalculatedFactBinding;
Begin
    MB := MetabaseClass.Active;
    StdCube := MB.ItemById("STD_CUBE").Edit As IStandardCube;
    StdCubeDest := StdCube.Destinations.Item(0);
    //Привязка вычисляемого факта
    CalcBind := StdCubeDest.CalcBindings.Binding(3As IStandardCubeCalculatedFactBinding;
    CalcBind.Formula.AsString := "(@[2]*100)/@[1]";
    CalcBind.CalcMethod := CubeCalcMethod.BySelection;
    (StdCube As IMetabaseObject).Save;
End Sub UserProc;

Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Metabase;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    StdCube: IStandardCube;
    StdCubeDest: IStandardCubeDestination;
    CalcBind: IStandardCubeCalculatedFactBinding;
Begin
    MB := Params.Metabase;
    StdCube := MB.ItemById["STD_CUBE"].Edit() As IStandardCube;
    StdCubeDest := StdCube.Destinations.Item[0];
    //Привязка вычисляемого факта
    CalcBind := StdCubeDest.CalcBindings.Binding[3As IStandardCubeCalculatedFactBinding;
    CalcBind.Formula.AsString := "(@[2]*100)/@[1]";
    CalcBind.CalcMethod := CubeCalcMethod.ccmBySelection;
    (StdCube As IMetabaseObject).Save();
End Sub;

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

См. также:

IStandardCubeCalculatedFactBinding