LookupFactorsC: Array;
LookupFactorsC: System.Array;
Метод LookupFactors возвращает массив составных ключей найденных временных рядов.
Составной ключ искомого временного ряда определяет свойство IRubricatorDictionaryLookup.WhereCompoundFactorKey.
Для выполнения примера в репозитории предполагается наличие базы данных временных рядов с идентификатором «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(Null) As 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;
Результат выполнения примера: в базе данных временных рядов выполнен поиск по значениям составного ключа, результаты поиска выведены в окно консоли.
Для выполнения примера в репозитории предполагается наличие базы данных временных рядов с идентификатором «RUBRICATOR_CUBE».
Imports Prognoz.Platform.Interop.Cubes;
…
[STAThread]
Public Shared Sub Main(Params: StartParams);
Var
mb: IMetabase;
RubI: IRubricatorInstance;
pFactsLookup: IRubricatorFactsLookup;
CompKey: Array[2] Of object;
Key, arr: Array Of object;
i, idx: Integer;
s: String;
Begin
mb := Params.Metabase;
RubI := mb.ItemById["RUBRICATOR_CUBE"].Open(Null) As 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;
Результат выполнения примера: в базе данных временных рядов выполнен поиск по значениям составного ключа, результаты поиска выведены в окно консоли.
См. также: