IValidationGrowthRate.ComparisonValue

Синтаксис Fore

ComparisonValue: IValidationComparisonValue;

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

ComparisonValue: Prognoz.Platform.Interop.Ms.IValidationComparisonValue;

Описание

Свойство ComparisonValue возвращает параметры темпа роста.

Комментарии

Значения темпа роста могут быть как абсолютными, так и процентными. Для выбора типа значения используйте свойство IValidationComparisonValue.Percentage.

Пример Fore

Для выполнения примера в репозитории предполагается наличие базы данных временных рядов с идентификатором «TSDB_VALIDATION_PARAMETERS», содержащей правило валидации с идентификатором «VALIDATION».

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

Sub UserProc;
Var
    Mb: IMetabase;
    RubrKey: Integer;
    ValidObj: IMetabaseObject;
    ValidFilter: IValidationFilter;
    GrowthRate: IValidationGrowthRate;
    ComparisonValue: IValidationComparisonValue;
Begin
    Mb := MetabaseClass.Active;
    // Получаем правило валидации
    RubrKey := Mb.GetObjectKeyById("TSDB_VALIDATION_PARAMETERS");
    ValidObj := Mb.ItemByIdNamespace("VALIDATION", RubrKey).Edit;
    ValidFilter := ValidObj As IValidationFilter;
    // Задаем уровень динамики, к которому применяем правило
    ValidFilter.Level := DimCalendarLevel.None;
    // Указываем тип валидации
    ValidFilter.Kind := ValidationDetailsKind.GrowthRate;
    // Получаем параметры правила «Анализ темпа роста»
    GrowthRate := ValidFilter.Details As IValidationGrowthRate;
    // Задаем параметры вычисления темпа роста
    ComparisonValue := GrowthRate.ComparisonValue;
    ComparisonValue.ComparisonOperator := ValidationComparisonOperator.Less;
    ComparisonValue.Percentage := True;
    ComparisonValue.Value1 := 10;
    // Очищаем область выполнения и фильтр валидации
    GrowthRate.SelectionTargetData.Clear;
    GrowthRate.SelectionFilter.Clear;
    // Сохраняем правило
    ValidObj.Save;
End Sub UserProc;

В результате выполнения примера будет настроено правило валидации «Анализ темпа роста»: выявляются значения ряда с темпом роста менее 10%.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Dimensions;
Imports Prognoz.Platform.Interop.Ms;

Public Shared Sub Main(Params: StartParams);
Var
    Mb: IMetabase;
    RubrKey: uinteger;
    ValidObj: IMetabaseObject;
    ValidFilter: IValidationFilter;
    GrowthRate: IValidationGrowthRate;
    ComparisonValue: IValidationComparisonValue;
Begin
    Mb := Params.Metabase;
    // Получаем правило валидации
    RubrKey := Mb.GetObjectKeyById("TSDB_VALIDATION_PARAMETERS");
    ValidObj := Mb.ItemByIdNamespace["VALIDATION", RubrKey].Edit();
    ValidFilter := ValidObj As IValidationFilter;
    // Задаем уровень динамики, к которому применяем правило
    ValidFilter.Level := DimCalendarLevel.dclNone;
    // Указываем тип валидации
    ValidFilter.Kind := ValidationDetailsKind.vdkGrowthRate;
    // Получаем параметры правила «Анализ темпа роста»
    GrowthRate := ValidFilter.Details As IValidationGrowthRate;
    // Задаем параметры вычисления темпа роста
    ComparisonValue := GrowthRate.ComparisonValue;
    ComparisonValue.ComparisonOperator := ValidationComparisonOperator.vcoLess;
    ComparisonValue.Percentage := True;
    ComparisonValue.Value1 := 10;
    // Очищаем область выполнения и фильтр валидации
    GrowthRate.SelectionTargetData.Clear();
    GrowthRate.SelectionFilter.Clear();
    // Сохраняем правило
    ValidObj.Save();
End Sub;

См. также:

IValidationGrowthRate