IPrxDataIslandProperties.Dimension

Fore Syntax

Dimension(Dimension: IDimensionModel): IPrxDataIslandDimension;

Fore.NET Syntax

Dimension(Dimension: IDimensionModel): Prognoz.Platform.Interop.Dimensions.IPrxDataIslandDimension;

Parameters

Dimension. Dimension, on which data area is built.

Description

The Dimension property returns an object containing parameters of the dimension of the data slice based on which the data area is built.

Fore Example

Executing the example requires a regular report with the REPORT identifier, which contains data area. Add links to the Metabase, Report and Dimensions system assemblies.

Sub UserProc;
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    Prop: IPrxDataIslandProperties;
   Sort: IPrxDataIslandDimensionSort;
    DimModel: IDimensionModel;
    DI: IPrxDataIsland;
    Slice: IPrxSlice;
    Head: IPrxSliceHeader;
    SliceDim: IPrxSliceDimension;
    Dim: IDimInstance;
Begin
    MB := MetabaseClass.Active;
    MObj := MB.ItemById(
"REPORT").Edit;
    DI := (MObj 
As IPrxReport).DataIslands.Item(0).Edit;
        Prop := DI.Properties;
        Slice := DI.Slice;
        Head := Slice.TopHeader;
        SliceDim := Head.Item(
0);
        Dim := SliceDim.Dimension;
        DimModel := Dim.Dimension;
        
// Set dimension sorting by element name.
        Sort := Prop.Dimension(DimModel).Sort;
        Sort.Kind := PrxDimensionSortKind.ByName;  
        Sort.Enabled := 
True;
    DI.Save;
    
// Save report.
    MObj.Save;
End Sub UserProc;

After executing the example sorting by the first dimension located in columns is enabled. Sorting type - by element name.

Fore.NET Example

The requirements and result of the Fore.NET example execution match with those in the Fore example.

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Dimensions;

...

Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    Prop: IPrxDataIslandProperties;
    Sort: IPrxDataIslandDimensionSort;
    DimModel: IDimensionModel;
    DI: IPrxDataIsland;
    Slice: IPrxSlice;
    Head: IPrxSliceHeader;
    SliceDim: IPrxSliceDimension;
    Dim: IDimInstance;
Begin
    MB := Params.Metabase;
    MObj := MB.ItemById["REPORT"].Edit();
    DI := (MObj As IPrxReport).DataIslands.Item[0].Edit();
        Prop := DI.Properties;
        Slice := DI.Slice;
        Head := Slice.TopHeader;
        SliceDim := Head.Item[0];
        Dim := SliceDim.Dimension;
        DimModel := Dim.Dimension;
        // Set dimension sorting by element name.
        Sort := Prop.Dimension[DimModel].Sort;
        Sort.Kind := PrxDimensionSortKind.phskByName;  
        Sort.Enabled := True;
    DI.Save();
    // Save report.
    MObj.Save();
End Sub;

See also:

IPrxDataIslandProperties