ICalendarDimensionClass.IifLevel

Fore Syntax

IifLevel(

Calendar: IDimInstance;

El: Integer;

Level: DimCalendarLevel;

El1: Integer;

El2: Integer): Integer;

Fore.NET Syntax

IifLevel(

Calendar: Prognoz.Platform.Interop.Dimensions.IDimInstance;

El: uinteger;

Level: Prognoz.Platform.Interop.Dimensions.DimCalendarLevel;

El1: uinteger;

El2: uinteger): uinteger;

Parameters

Calendar. Data of the calendar dictionary, by which calculation is executed.

El. Index of the element, relative to which calculation is executed.

Level. The level, on belonging to which the El element is checked.

El1. Index of the element returned if the El element is located on the Level level.

El2. Index of the element is returned if the El element is not located on the Level level.

Description

The IifLevel method checks if the specified element belongs to the specified dictionary level.

Comments

If the El element belongs to the Level level, the method returns the index of the El1 element, otherwise it returns El2.

Fore Example

The example is the function that is used to calculate the relation in a standard cube.

To execute the example, add links to the Cubes and Dimensions system assemblies.

Function IifLevel(T: Variant): Integer;
Var
    Cube: ICubeInstance;
    CubeDest: ICubeInstanceDestination;
    DimInsts: ICubeInstanceDimensions;
    DimInst: IDimInstance;
    i: Integer;
    Result: Integer;
    el1: Integer;
Begin
    // Get the current cube
    Cube := CubeClass.CurrentCube;
    CubeDest := Cube.Destinations.DefaultDestination;
    // Get calendar dimension
    DimInsts := CubeDest.Dimensions;
    For i := 0 To DimInsts.Count - 1 Do
        If (DimInsts.Item(i).Dimension Is ICalendarDimension) Then
            DimInst := DimInsts.Item(i);
        End If;
    End For;
    // Execute calculation
    el1 := CalendarDimension.DownLevel(DimInst, t);
    Result := CalendarDimension.IifLevel(DimInst, t, DimCalendarLevel.Quarter, el1, t);
    // Return result
    Return Result;
End Function IifLevel;

The result of using the relation in the formula of the calculated fact: the value for the elements of the quarterly frequency will be taken from the corresponding elements of the annual frequency.

Fore.NET Example

The example is the function that is used to calculate the relation in a standard cube.

Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Dimensions;

Shared Function IifLevel(T: object): Integer;
Var
    cClass: CubeClassClass;
    Cube: ICubeInstance;
    CubeDest: ICubeInstanceDestination;
    DimInsts: ICubeInstanceDimensions;
    DimInst: IDimInstance;
    i: Integer;
    calendDim: CalendarDimension;
    el, el1: uinteger;
    Result: Integer;
Begin
    // Get the current cube
    cClass := New CubeClassClass.Create();
    Cube := cClass.CurrentCube[Null];
    CubeDest := Cube.Destinations.DefaultDestination;
    // Get calendar dimension
    DimInsts := CubeDest.Dimensions;
    For i := 0 To DimInsts.Count - 1 Do
        If (DimInsts.Item[i].Dimension Is ICalendarDimension) Then
            DimInst := DimInsts.Item[i];
        End If;
    End For;
    // Execute calculation
    calendDim := New CalendarDimension.Create();
    el := uinteger.Parse(t.ToString());
    el1 := calendDim.DownLevel(DimInst, el);
    Result := calendDim.IifLevel(DimInst, el, DimCalendarLevel.dclQuarter, el1, el) As integer;
    // Return result
    Return Result;
End Function IifLevel;

The result of using the relation in the formula of the calculated fact: the value for the elements of the quarterly frequency will be taken from the corresponding elements of the annual frequency.

See also:

ICalendarDimensionClass