SQL: String;
Свойство SQL определяет SQL-условие используемое для отбора элементов, по которым будет производиться расчет, в выбранном измерении.
Актуально, если свойству Type установлено значение MDCalculationSliceFilterType.SQL.
Для выполнения примера предполагается наличие в репозитории многомерного расчета на сервере БД с идентификатором MDCalc_1. Приемник данных построен на основе календарного измерения с идентификатором CALEN.
Sub Main;
Var
MB: IMetabase;
MDInst: IMDCalculationInstance;
Args: IMDCalculationCalculateArgs;
Filter: IMDCalculationSliceFilter;
Begin
MB := MetabaseClass.Active;
MDInst := MB.ItemById("MDCalc_1").Open(Null) As IMDCalculationInstance;
Args := MDInst.CreateCalculateArgs;
//Фильтр с помощью SQL-условия
Filter := Args.SliceFilter(MDInst.Calculation.Destination.Slices.FindById("CALEN"));
Filter.Type := MDCalculationSliceFilterType.SQL;
Filter.SQL := "%0:s >= TO_DATE('2005.01.01', 'YYYY.MM.DD') AND %0:s <= TO_DATE('2006.01.01', 'YYYY.MM.DD')";
MDInst.Calculate(Args);
End Sub Main;
После выполнения примера будет осуществлен многомерный расчет на сервере БД. Расчет будет осуществляться по элементам, содержащим формулы и расположенные в период 2005-2006 г.
См. также: