IEaxAnalyzer.IsDimPinned

Синтаксис Fore

IsDimPinned(Source: Integer; DimKey: Integer;): Boolean;

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

IsDimPinned(Source: Integer; DimKey: Integer;): Boolean;

Параметры

Source. Параметр, определяющий ключ источника.

DimKey. Параметр, определяющий ключ измерения в источнике.

Описание

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

Комментарии

При фиксации общего измерения в источнике, оно разбивается на частные и указанное частное — фиксируется.

Если свойству присвоить значение True, то измерение будет перенесено в фиксированные частные измерения из частных.

Если свойству присвоить значение False, то измерение будет перенесено в частные измерения из фиксированных частных.

Для того чтобы проверить, куда можно перенести измерение, используйте метод IEaxAnalyzer.CanPinDim.

Пример Fore

Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «Obj_1».

Добавьте ссылки на системные сборки: Pivot, Express, Metabase и Dimensions.

Sub Main;
Var
    MB: IMetabase;
    Expr: IEaxAnalyzer;
    Pvt: IPivot;
    CompoundDim: IDimInstance;
    n: Boolean;
    Source: ICompoundDimensionSource;
    DimKey: Integer;
Begin
    MB := MetabaseClass.Active;
    Expr := MB.ItemById(
"OBJ_1").Edit As IEaxAnalyzer;
    Pvt := Expr.Pivot;
    
//Находим частные измерения
    CompoundDim := Pvt.Selection.FindById("FACTS_COMPOUND").Dimension;
    
//Получаем первый источник частных измерений
    Source := (CompoundDim.Dimension As ICompoundDimension).Sources.Item(0);
    
//Получаем ключ частного измерения
    DimKey := (Source.Dimensions.Item(0As IMetabaseObject).Key;
    debug.Write(
"Ключ источника: ");
    debug.WriteLine(Source.Key);
    debug.Write(
"Ключ частного измерения: ");
    debug.WriteLine(DimKey);
    
//Проверяем, может ли это измерение стать фиксированным частным, и при возможности переносим его
    n := Expr.CanPinDim(Source.Key, DimKey, True);
    
If n = True Then
        Expr.IsDimPinned(Source.Key, DimKey) := 
True;
    
End If;
    
//Получаем ключ справочника
    debug.Write("Ключ фиксированного частного измерения: ");
    debug.WriteLine(Expr.PinDimension.ToString);
    
//Сохраняем экспресс-отчет
   (Expr As IMetabaseObject).Save;
End Sub Main;

После выполнения примера в экспресс-отчете первое частное измерение будет перемещено в фиксированные частные измерения. В окне консоли будут выведены ключ источника, ключ частного измерения и ключ фиксированного частного измерения.

Пример Fore.NET

Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «Obj_1».

Добавьте ссылки на системные сборки: Pivot, Express, Metabase и Dimensions.

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Pivot;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Dimensions;
...
Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Expr: IEaxAnalyzer;
    Pvt: IPivot;
    CompoundDim: IDimInstance;
    n: Boolean;
    Source: ICompoundDimensionSource;
    DimKey: uinteger;
Begin
    MB := Params.Metabase;
    Expr := MB.ItemById[
"OBJ_1"].Edit() As IEaxAnalyzer;
    Pvt := Expr.Pivot;
    
//Находим частные измерения
    Pvt.Selection.FindById["FACTS_COMPOUND"].Dimension;
    
//Получаем первый источник частных измерений
    Source := (CompoundDim.Dimension As ICompoundDimension).Sources.Item[0];
    
//Получаем ключ частного измерения
    DimKey := (Source.Dimensions.Item[0As IMetabaseObject).Key;
    System.Diagnostics.Debug.Write(
"Ключ источника: ");
    System.Diagnostics.Debug.WriteLine(Source.Key);
    System.Diagnostics.Debug.Write(
"Ключ частного измерения: ");
    System.Diagnostics.Debug.WriteLine(DimKey);
    
//Проверяем, может ли это измерение стать фиксированным частным, и при возможности переносим его
    n := Expr.CanPinDim(Source.Key, DimKey, True);
    
If n = True Then
        Expr.IsDimPinned[Source.Key, DimKey] := 
True;
    
End If;
    
//Получаем ключ справочника
    System.Diagnostics.Debug.Write("Ключ фиксированного частного измерения: ");
    System.Diagnostics.Debug.WriteLine(Expr.PinDimension);
    
//Сохраняем экспресс-отчет
   (Expr As IMetabaseObject).Save();
    
End Sub;

После выполнения примера в экспресс-отчете первое частное измерение будет перемещено в фиксированные частные измерения. В окне консоли будут выведены ключ источника, ключ частного измерения и ключ фиксированного частного измерения.

См. также:

IEaxAnalyzer