Для работы с инструментом в продукте «Форсайт. Аналитическая платформа» версии 10 используйте новый интерфейс.

Отладка расчёта алгоритма

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

Для отладки алгоритма:

  1. Настройте выполнение расчёта с помощью окна «Настройка выполнения расчёта».

Для открытия окна

Задайте параметры:

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

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

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

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

Примечание. По умолчанию флажок установлен.

Схемы расчёта формул

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

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

Схемы расчёта формул

Если в формуле расчёта используются элементы атрибута версионного справочника, то при расчёте алгоритма значения элементов будут фиксированными на дату начала расчёта для каждой календарной точки. Для перестроения значений элементов на текущую дату расчёта для каждой календарной точки создайте параметр MsUseRDSVersions типа DWORD со значением «1» в разделе реестра [HKEY_LOCAL_MACHINE\SOFTWARE\Foresight\Foresight Analytics Platform\10.0\Debug] на локальных компьютерах всех пользователей.

Важно. Использование параметра приводит к снижению производительности и продолжительному расчёту алгоритма.

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

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

Для применения заданных параметров нажмите кнопку «Применить».

  1. Если в нескольких блоках используется разная отметка одного и того же источника, установите флажок «Загружать данные отдельно от остальных» в контекстном меню этих блоков в дереве расчёта. Раздельная загрузка данных в таком случае выполняется быстрее и сокращает общее время расчёта алгоритма. Флажок доступен для всех видов блоков.

  2. Для отладки всего алгоритма нажмите кнопку  «Рассчитать алгоритм» в группе «Отладка».
    Для отладки отдельных блоков выделите их в рабочей области или дереве расчёта. Для этого в рабочей области используйте клавишу SHIFT, в дереве расчёта - клавишу CTRL или SHIFT. После выбора блоков нажмите кнопку  «Рассчитать выделенные» в группе «Отладка».

  3. После запуска расчёта начнётся загрузка данных в алгоритм. После окончания загрузки станет доступна кнопка  «Продолжить». Нажмите её для перехода к следующему шагу в расчёте.

Рассчитанный блок меняет свой вид в рабочей области: он становится зелёным. Например, слева блок до расчёта, справа - после расчёта:

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

  1. Для остановки расчёта нажмите кнопку «Остановить» в группе «Отладка».

Во время отладки расчёта все объекты алгоритма доступны для чтения. Например, можно посмотреть настройки блока расчёта или открыть результаты расчёта блока в инструменте «Аналитические запросы (OALP)».

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

После завершения отладки расчёта будет отображен диалог с результатами. Например:

Если при расчёте возникла ошибка, то будет отображено соответствующее сообщение.

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

Для ускорения расчёта алгоритма обратитесь к разделу «Как ускорить расчёт алгоритма?».

Пример отладки расчёта алгоритма

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

См. также:

Начало работы с расширением «Алгоритмы расчёта» в веб-приложении | Построение алгоритма расчёта | Как выполнять многопоточный расчёт?