IPivotFilterSettings.UseTransformationFilter

Синтаксис Fore

UseTransformationFilter: Boolean;

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

UseTransformationFilter: boolean;

Описание

Свойство UseTransformationFilter определяет, будет ли использоваться фильтрация данных по формуле.

Комментарии

Возможные значения:

Для использования свойства необходимо, чтобы свойство IPivotFilterSettings.Enabled принимало значение True.

Если в формуле присутствует параметр, то перед параметром ставится символ «:». Например, формула имеет вид: AttributeId >= :Parameter, где:

Пример Fore

Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS_FILTER». Источником данных является куб.

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

Sub UserProc;
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Dim: IEaxDataAreaSlice;
    Pivot: IPivot;
    Cond: IEaxDataAreaTransformation;
    Filter: IPivotFilterSettings;
   Param: IMetabaseObjectParam;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим экспресс-отчет
    Express := MB.ItemById("EXPRESS_FILTER").Edit As IEaxAnalyzer;
    // Добавим параметр в отчет
    Param := (Param As IMetabaseObject).Params.Add;
    Param.DataType := DbDataType.Integer;
    Param.Name := "ParamExp";
    Param.DefaultValue := 2;
    // Получим настройки фильтрации таблицы
    Pivot := Express.Pivot;
    Filter := Pivot.Filter As IPivotFilterSettings;
    // Зададим выражение для фильтрации
    Filter.UseTransformationFilter := True;
    Dim := Express.DataArea.Slices.Item(0);
    Cond := Dim.FilterTransformations.Item(0);
    Cond.Expression.AsString := "Order>:ParamExp";
    // Сохраним изменения
    (Express As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера в экспресс-отчете будет создан новый параметр. Для таблицы будет задано выражение с использованием данного параметра.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Dal;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Pivot;

Public
 Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Dim: IEaxDataAreaSlice;
    Pivot: IPivot;
    Cond: IEaxDataAreaTransformation;
    Filter: IPivotFilterSettings;
    Param: IMetabaseObjectParam;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим экспресс-отчет
    Express := MB.ItemById["EXPRESS_FILTER"].Edit() As IEaxAnalyzer;
    // Добавим параметр в отчет
    Param := (Param As IMetabaseObject).Params.Add();
    Param.DataType := DbDataType.ddtInteger;
    Param.Name := "ParamExp";
    Param.DefaultValue := 2;
    // Получим настройки фильтрации таблицы
    Pivot := Express.Pivot;
    Filter := Pivot.Filter As IPivotFilterSettings;
    // Зададим выражение для фильтрации
    Filter.UseTransformationFilter := True;
    Dim := Express.DataArea.Slices.Item[0];
    Cond := Dim.FilterTransformations.Item[0];
    Cond.Expression.AsString := "Order>:ParamExp";
    // Сохраним изменения
    (Express As IMetabaseObject).Save();
End Sub;

См. также:

IPivotFilterSettings