IMDCalculation.TimeDependencyEnabled

Синтаксис Fore

TimeDependencyEnabled: Boolean;

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

TimeDependencyEnabled: boolean;

Описание

Свойство TimeDependencyEnabled возвращает признак доступности установить для формул зависимость от времени.

Комментарии

Данное свойство возвращает True, если в приемнике имеется календарное измерение, иначе - False.

Пример Fore

Для выполнения примера в репозитории предполагается наличие базы данных с идентификатором DB, а так же двух стандартных кубов с идентификаторами CUBE_INPUT и CUBE_OUTPUT. В кубе с идентификатором CUBE_OUTPUT должно быть календарное измерение.

Добавьте ссылки на системные сборки: Cubes, Db, Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    CrInfo: IMetabaseObjectCreateInfo;
    MObj: IMetabaseObject;
    MDCalc: IMDCalculation;
    Cube: ICubeModel;
    Source: IMDCalculationSource;
    Destination: IMDCalculationDestination;
    FormulasTable: IMDCalculationFormulasTable;
    TableForFormulas: ITable;
Begin
    
// Получаем текущий репозиторий
    MB := MetabaseClass.Active;
    
// Создаём объект и задаём его параметры
    CrInfo := MB.CreateCreateInfo;
    CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_MDCALCULATION;
    CrInfo.Id := MB.GenerateId(
"MDCALC");
    CrInfo.Name := 
"Многомерный расчет на сервере";
    CrInfo.Parent := 
Null;
    
// Получаем объект "Многомерный расчет на сервере"
    MObj := MB.CreateObject(CrInfo).Edit;
    MDCalc := MObj 
As IMDCalculation;
    
// Добавляем базу данных
    MDCalc.Database := MB.ItemById("DB").Bind As IDatabase;
    
// Указываем куб-источник
    Cube := MB.ItemById("CUBE_INPUT").Bind As ICubeModel;
    Source := MDCalc.Sources.AddCube(Cube);
    
// Указываем куб-назначение
    Destination := MDCalc.Destination;
    Destination.SetCube(MB.ItemById(
"CUBE_OUTPUT").Bind As ICubeModel);
    
// Создаем новую таблицу формул
    If MDCalc.TimeDependencyEnabled Then
        MDCalc.TimeDependent := 
True;
    
End If;
    FormulasTable := MDCalc.FormulasTable;
    TableForFormulas := FormulasTable.Create;
    FormulasTable.Attach(TableForFormulas);
    
// Сохраняем "Многомерный расчет на сервере"
    MObj.Save;
End Sub UserProc;

После выполнения примера в корневом каталоге репозитория будет создан объект «Многомерный расчет на сервере БД», для которого будут установлены куб-источник, куб-назначение, создана новая таблица формул, включена возможность указывать период действия для формул.

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Cubes;
Imports Prognoz.Platform.Interop.Db;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    CrInfo: IMetabaseObjectCreateInfo;
    MObj: IMetabaseObject;
    MDCalc: IMDCalculation;
    Cube: ICubeModel;
    Source: IMDCalculationSource;
    Destination: IMDCalculationDestination;
    FormulasTable: IMDCalculationFormulasTable;
    TableForFormulas: ITable;
Begin
    
// Получаем текущий репозиторий
    MB := Params.Metabase;
    
// Создаём объект и задаём его параметры
    CrInfo := MB.CreateCreateInfo();
    CrInfo.ClassID := MetabaseObjectClass.KE_CLASS_MDCALCULATION 
As Int32;
    CrInfo.Id := MB.GenerateId(
"MDCALC"0);
    CrInfo.Name := 
"Многомерный расчет на сервере";
    CrInfo.Parent := 
Null;
    
// Получаем объект "Многомерный расчет на сервере"
    MObj := MB.CreateObject(CrInfo).Edit();
    MDCalc := MObj 
As IMDCalculation;
    
// Добавляем базу данных
    MDCalc.Database := MB.ItemById["DB"].Bind() As IDatabase;
    
// Указываем куб-источник
    Cube := MB.ItemById["CUBE_INPUT"].Bind() As ICubeModel;
    Source := MDCalc.Sources.AddCube(Cube);
    
// Указываем куб-назначение
    Destination := MDCalc.Destination;
    Destination.SetCube(MB.ItemById[
"CUBE_OUTPUT"].Bind() As ICubeModel);
    
// Создаем новую таблицу формул
    If MDCalc.TimeDependencyEnabled Then
        MDCalc.TimeDependent := 
True;
    
End If;
    FormulasTable := MDCalc.FormulasTable;
    TableForFormulas := FormulasTable.Create(TableForFormulas);
    FormulasTable.Attach(TableForFormulas);
    
// Сохраняем "Многомерный расчет на сервере"
    MObj.Save();
End Sub;

См. также:

IMDCalculation

IMDCalculation.TimeDependent

IMDCalculationInstance.TimeDependent