WhereIsEmpty: TriState;
WhereIsEmpty: Prognoz.Platform.Interop.ForeSystem.TriState;
Свойство WhereIsEmpty определяет, участвуют ли в поиске записи, для которых установлен признак пустоты.
Признак пустоты показателя зависит от значения атрибута показателей «Пустой». Идентификатор данного атрибута определяет свойство IMetaDictionaryLookup.EmptyMarkAttribute.
Возможные значения WhereIsEmpty:
TriState.OnOption. Поиск производится только среди пустых записей;
TriState.OffOption. Поиск производится только среди непустых записей;
TriState.Undefined. Значение по умолчанию. Поиск производится по всем записям.
Для выполнения примера предполагается наличие базы данных временных рядов с идентификатором «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(Null) As 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;
После выполнения примера в окно консоли будут выведены ключи показателей, для которых установлен признак пустоты.
Для выполнения примера предполагается наличие базы данных временных рядов с идентификатором «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(Null) As 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;
После выполнения примера в окно консоли будут выведены ключи показателей, для которых установлен признак пустоты.
См. также: