Одинаковые поля формул с разными результатами - PullRequest
0 голосов
/ 05 марта 2019

У меня есть отчет о кристаллах, который отслеживает продажи инвентарных предметов в месяц за 12-месячный период, а затем показывает среднее количество проданных за месяц.У меня есть 2 одинаковых поля формулы, каждое с уникальными именами, но идентичным кодом.Первое поле формулы возвращает ноль для каждого элемента инвентаря, а вторая формула возвращает правильно рассчитанное среднее значение за 12-месячный период.Оба поля формулы расположены в одном и том же разделе отчета.

Вот код для обоих полей формулы.

WhilePrintingRecords;
Shared NumberVar num;
Shared NumberVar total;
Shared NumberVar result;
If num = 0 Then result := 0 else result := total / num;
result;

Мой отчет в настоящее время работает, поскольку второе поле формулы функционирует какожидается.На этом этапе я хотел бы понять, почему первое поле формулы не работает.

Я попытался удалить логику, которая обнаруживает ноль в знаменателе.Формула, которая работает текущий, продолжает работать без проблем, когда эта логика удалена.Сломанная формула выдает ошибку «Разделить на ноль».Я также удивлен, что рабочая формула продолжает работать с этой удаленной логикой, потому что в моем наборе данных есть строки, которые имеют значения NULL для некоторых периодов.Это связано с тем, что в отчет добавляются новые элементы инвентаризации в течение периода после первого отчетного периода.Например, если отчет охватывает 2018 год для периодов с 1 по 12 (с января по декабрь), а новый товар добавляется в инвентарь в течение периода 5, он должен возвращать значение NULL для периодов с 1 по 4 и числовое значение для периодов 5до 8. Среднее значение за 12 периодов не должно включать периоды со значением NULL.Для этого я использую переменную для подсчета периодов, в течение которых элемент содержал числовые данные, и использую этот счетчик в качестве знаменателя при расчете среднего.

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

Может ли кто-нибудь помочь мне понять, почему эти два одинаковых поля формулы выводят разные результаты?

1 Ответ

0 голосов
/ 06 марта 2019

Изменение

Shared NumberVar result

до

Local NumberVar result

При использовании Shared изменение значения в одной формуле влияет на изменение значения в другой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...