IRubricatorDictionaryLookup.LookupFactorsC

Синтаксис Fore

LookupFactorsC: Array;

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

LookupFactorsC: System.Array;

Описание

Метод LookupFactors возвращает массив составных ключей найденных временных рядов.

Комментарии

Составной ключ искомого временного ряда определяет свойство IRubricatorDictionaryLookup.WhereCompoundFactorKey.

Пример Fore

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

Sub UserProc;
Var
    mb: IMetabase;
    RubI: IRubricatorInstance;
    pFactsLookup: IRubricatorFactsLookup;
    CompKey: Array[2];
    Key, arr: Array Of Variant;
    i, idx: Integer;
    s: String;
Begin
    mb := MetabaseClass.Active;
    RubI := mb.ItemById("RUBRICATOR_CUBE").Open(NullAs IRubricatorInstance;
    pFactsLookup := RubI.CreateFactsLookup;
    CompKey[0] := 512; CompKey[1] := 1009;
    pFactsLookup.WhereCompoundFactorKey := CompKey;
    If pFactsLookup.LookupFactorsC <> Null Then
        i := pFactsLookup.LookupFactorsC.Length;
    Debug.WriteLine("Найдено: " + i.ToString);
        Key := New Variant[i];
        Key := pFactsLookup.LookupFactorsC;
        For i := 0 To Key.Length - 1 Do
            arr := Key[i] As Array Of Variant;
            s := "";
            For idx := 0 To arr.Length - 1 Do
                s := s + (arr[idx] As string) + "; ";
            End For;
            Debug.WriteLine(s);
        End For;
    End If;
End Sub UserProc;

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

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Cubes;

[STAThread]
Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    RubI: IRubricatorInstance;
    pFactsLookup: IRubricatorFactsLookup;
    CompKey: Array[2Of object;
    Key, arr: Array Of object;
    i, idx: Integer;
    s: String;
Begin
    mb := Params.Metabase;
    RubI := mb.ItemById["RUBRICATOR_CUBE"].Open(NullAs IRubricatorInstance;
    pFactsLookup := RubI.CreateFactsLookup();
    CompKey[0] := 512; CompKey[1] := 1009;
    pFactsLookup.WhereCompoundFactorKey := CompKey;
    If pFactsLookup.LookupFactorsC() <> Null Then
        i := pFactsLookup.LookupFactorsC().Length;
        System.Diagnostics.Debug.WriteLine("Найдено: " + i.ToString());
        Key := New object[i];
        Key := pFactsLookup.LookupFactorsC() As Array Of object;
        For i := 0 To Key.Length - 1 Do
            arr := Key[i] As Array Of object;
            s := "";
            For idx := 0 To arr.Length - 1 Do
                s := s + (arr[idx].ToString()) + "; ";
            End For;
            System.Diagnostics.Debug.WriteLine(s);
        End For;
    End If;
End Sub;

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

См. также:

IRubricatorDictionaryLookup