IMetaDictionaryLookup.WhereIsEmpty

Синтаксис Fore

WhereIsEmpty: TriState;

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

WhereIsEmpty: Prognoz.Platform.Interop.ForeSystem.TriState;

Описание

Свойство WhereIsEmpty определяет, участвуют ли в поиске записи, для которых установлен признак пустоты.

Комментарии

Признак пустоты показателя зависит от значения атрибута показателей «Пустой». Идентификатор данного атрибута определяет свойство IMetaDictionaryLookup.EmptyMarkAttribute.

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

Пример Fore

Для выполнения примера предполагается наличие базы данных временных рядов с идентификатором «FC_IS_EMPTY». В данной базе присутствует признак пустоты показателей. Добавьте ссылки на системные сборки «Metabase», «Cubes», «Rds».

Sub UserProc;
Var
    MB: IMetabase;
    RubDesc: IMetabaseObjectDescriptor;
    RubrIn: IRubricatorInstance;
    DictInst: IMetaDictionaryInstance;
    MetaDLookup: IMetaDictionaryLookup;
    i: Integer;
    Res: Array Of Integer;
Begin
    MB := MetabaseClass.Active;
    RubDesc := MB.ItemById("FC_IS_EMPTY");
    RubrIn := RubDesc.Open(NullAs IRubricatorInstance;
    DictInst := RubrIn.Facts;
    MetaDLookup := DictInst.CreateLookup("");
    MetaDLookup.EmptyMarkAttribute := "EMPT";
    MetaDLookup.WhereIsEmpty := TriState.OnOption;
    i := MetaDLookup.LookupKeys("FACTOR").Length;
    Res := New Integer[i];
    Res := MetaDLookup.LookupKeys("FACTOR");
    For i := 0 To Res.Length - 1 Do
        Debug.WriteLine(Res[i].ToString);
    End For;
End Sub UserProc;

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

Пример Fore.NET

Для выполнения примера предполагается наличие базы данных временных рядов с идентификатором «FC_IS_EMPTY». В данной базе присутствует признак пустоты показателей.

Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.ForeSystem;
Imports Prognoz.Platform.Interop.Rds;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    RubDesc: IMetabaseObjectDescriptor;
    RubrIn: IRubricatorInstance;
    DictInst: IMetaDictionaryInstance;
    MetaDLookup: IMetaDictionaryLookup;
    i: Integer;
    Res: System.Array;
Begin
    MB := Params.Metabase;
    RubDesc := MB.ItemById["FC_IS_EMPTY"];
    RubrIn := RubDesc.Open(NullAs IRubricatorInstance;
    DictInst := RubrIn.Facts;
    MetaDLookup := DictInst.CreateLookup("");
    MetaDLookup.EmptyMarkAttribute := "EMPT";
    MetaDLookup.WhereIsEmpty := TriState.tsOnOption;
    i := MetaDLookup.LookupKeys("FACTOR").Length;
    Res := New Integer[i];
    Res := MetaDLookup.LookupKeys("FACTOR");
    For i := 0 To Res.Length - 1 Do
        System.Diagnostics.Debug.WriteLine(Res[i].ToString());
    End For;
End Sub;

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

См. также:

IMetaDictionaryLookup