NamingDimension(Index: Integer): IDimensionModel;
NamingDimension[Index: integer]: Prognoz.Platform.Interop.Dimensions.IDimensionModel;
Index. Индекс измерения.
Свойство NamingDimension возвращает структуру измерения, используемого для формирования наименований.
Свойство актуально, если источником данных является база данных временных рядов. Измерение используется для формирования наименований моделей и вычисляемых рядов.
Измерения будут располагаться в порядке, заданном в свойстве IRubricator.Facts.AttributeNamings. Для получения количества измерений используйте свойство IVariableStub.DimensionCount.
Для выполнения примера в репозитории предполагается наличие базы данных временных рядов с идентификатором «TSDB».
Добавьте ссылки на системные сборки: Cubes, Metabase.
Sub UserProc;
Var
MB: IMetabase;
Rubr: IRubricator;
Stub: IVariableStub;
i: Integer;
Begin
// Получаем текущий репозиторий
MB := MetabaseClass.Active;
// Получаем базу данных временных рядов в виде абстрактного источника данных
Rubr := MB.ItemById("TSDB").Bind As IRubricator;
Stub := Rubr As IVariableStub;
// Выводим в окно консоли измерения, используемые для формирования наименований
For i := 0 To Stub.DimensionCount - 1 Do
Debug.WriteLine((Stub.NamingDimension(i) As IMetabaseObject).Name);
End For;
End Sub UserProc;
В результате выполнения примера в окно консоли будут выведены наименования измерений, используемых для формирования наименований.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Cubes;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
Rubr: IRubricator;
Stub: IVariableStub;
i: Integer;
Begin
// Получаем текущий репозиторий
MB := Params.Metabase;
// Получаем базу данных временных рядов в виде абстрактного источника данных
Rubr := MB.ItemById["TSDB"].Bind() As IRubricator;
Stub := Rubr As IVariableStub;
// Выводим в окно консоли измерения, используемые для формирования наименований
For i := 0 To Stub.DimensionCount - 1 Do
System.Diagnostics.Debug.WriteLine((Stub.NamingDimension[i] As IMetabaseObject).Name);
End For;
End Sub;
См. также: