Пользовательские функции

Пользовательская функция - процедура или функция, осуществляющая расчет или преобразование данных по алгоритму пользователя.

Все пользовательские функции являются глобальными в рамках репозитория и доступны для использования во всех базах данных временных рядов в настольном и веб-приложении.

Создание пользовательских функций

Для создания пользовательской функции используйте метод IForeMethods.Add.

При создании пользовательской функции учитывайте значение параметра Type для определения типа метода (арифметический, поточечный или векторный). Если пользовательская функция рядного типа, то она обрабатывает все выделенные ряды одновременно. В рабочую книгу добавляется один результирующий ряд, содержащий результаты расчёта. При указании параметров пользовательской функции в окне «Параметры для» будет доступен ряд «Result», соответствующий результирующему ряду.

Примечание. Создание пользовательских функций доступно только в настольном приложении.

В дочернем контейнере моделирования расчёт пользовательских функций всегда осуществляется в векторном режиме. Все параметры, указанные пользователем в окне «Параметры для», распознаются автоматически. Если в расчёте используются ряды данных, то они должны быть типа ITimeSeries. Для возврата рассчитанных значений функции также должны использоваться данные типа ITimeSeries.

Пример

Sub MyFunc(Input: ITimeSeries; Output: ITimeSeries; Coef: Double);

Function MyFunc1(Input, Input1: ITimeSeries; Coef: Double): ITimeSeries;

Если пользовательский метод арифметический или поточечный, в качестве пользовательского метода должна использоваться функция, возвращающая данные типа ITimeSeries.

При вычислении метода для нескольких рядов расчёт производится для каждого ряда в отдельности. При этом в рабочую книгу добавляется ряд с результатами для каждого рассчитанного ряда.

Применение пользовательских функций

Для применения пользовательской функции расчёта к временному ряду используйте команды, расположенные на вкладке ленты инструментов «Вычисления». Расположение команды зависит от настроек метода:

Если для расчёта метода требуется ввод каких-либо дополнительных параметров, будет отображен диалог «Параметры для».

После применения пользовательской функции в рабочую книгу будет добавлен ряд с наименованием вида «<Наименование_метода>(<Список_Объясняющих_Рядов>)», содержащий результаты расчёта.

См. также:

Работа с вычисляемыми рядами | Настройка параметров метода расчёта