IRubricatorInstance.ClearEx

Синтаксис Fore

ClearEx(
       Mode: CubeLoadClearMode;
       FactorKeys: Array;
       FactsAttrs: String;
       ValuesAttrs: String;
       [ExtraOptions: CubeClearOptions = 0]);

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

ClearEx(
       Mode: Prognoz.Platform.Interop.Cubes.CubeLoadClearMode;
       FactorKeys: System.Array;
       FactsAttrs: string;
       ValuesAttrs: string;
       ExtraOptions: Prognoz.Platform.Interop.Cubes.CubeClearOptions);

Параметры

Mode. Режим очистки базы данных временных рядов;

FactorKeys. Массив ключей временных рядов, которые должны быть очищены;

FactsAttrs. Очищаемые атрибуты рядов;

ValuesAttrs. Очищаемые атрибуты наблюдений;

ExtraOptions. Дополнительные параметры отчистки базы данных временных рядов.

Описание

Метод ClearEx очищает базу данных временных рядов в соответствии с указанными расширенными параметрами.

Комментарии

При работе с методом учитывайте особенности задания следующих параметров:

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

Пример Fore

Для выполнения примера в репозитории предполагается наличие базы данных временных рядов с идентификатором «TSDB». Данная база данных должна содержать следующие атрибуты рядов: «COUNTRY», являющийся ссылкой на справочник и строковый атрибут «NOTES».

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

Sub UserProc;
Var
    MB: IMetabase;
    RubInstance: IRubricatorInstance;
    Lookup: IRubricatorFactsLookup;
    MetaDLookup: IMetaDictionaryLookup;
    Cond: IOrmCondition;
    FactorKeys: Array Of Integer;
Begin
    MB := MetabaseClass.Active;
    // Получаем экземпляр базы данных временных рядов
    RubInstance := MB.ItemById("TSDB").Open(NullAs IRubricatorInstance;
    // Создаем объект для поиска в базе данных временных рядов
    Lookup := RubInstance.CreateFactsLookup;
    MetaDLookup := Lookup.Lookup;
    Cond := MetaDLookup.Where.Add;
    // Указываем, что выполняем поиск тех временных рядов,
    // у которых атрибут «COUNTRY» принимает значение «512»
    Cond.AttributeName := "COUNTRY";
    Cond.Value := 512;
    // Выполняем поиск и получаем ключи найденных временных рядов
    MetaDLookup.Open(DictionaryCursorOptions.None);
    FactorKeys := MetaDLookup.LookupKeys("KEY");
    MetaDLookup.Close;
    // Выполняем очистку базы данных временных рядов
    RubInstance.ClearEx(CubeLoadClearMode.MetadataOnly, FactorKeys, "NOTES""*", CubeClearOptions.NoCreateRevision);
End Sub UserProc;

В результат выполнения примера без создания новой ревизии выполнена очистка базы данных временных рядов: для всех временных рядов, у которых значение атрибута «COUNTRY» равно «512», очищены метаданные атрибута рядов «NOTES» и всех атрибутов наблюдений.

Пример Fore.NET

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

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

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    RubInstance: IRubricatorInstance;
    Lookup: IRubricatorFactsLookup;
    MetaDLookup: IMetaDictionaryLookup;
    Cond: IOrmCondition;
    FactorKeys: System.Array;
Begin
    MB := Params.Metabase;
    // Получаем экземпляр базы данных временных рядов
    RubInstance := MB.ItemById["TSDB"].Open(NullAs IRubricatorInstance;
    // Создаем объект для поиска в базе данных временных рядов
    Lookup := RubInstance.CreateFactsLookup();
    MetaDLookup := Lookup.Lookup;
    Cond := MetaDLookup.Where.Add();
    // Указываем, что выполняем поиск тех временных рядов,
    // у которых атрибут «COUNTRY» принимает значение «512»
    Cond.AttributeName := "COUNTRY";
    Cond.Value := 512;
    // Выполняем поиск и получаем ключи найденных временных рядов
    MetaDLookup.Open(DictionaryCursorOptions.dcuoNone);
    FactorKeys := MetaDLookup.LookupKeys("KEY");
    MetaDLookup.Close();
    // Выполняем очистку базы данных временных рядов
    RubInstance.ClearEx(CubeLoadClearMode.clcmMetadataOnly, FactorKeys, "NOTES""*", CubeClearOptions.ccoNoCreateRevision);
End Sub;

См. также:

IRubricatorInstance