Добрый день. Ведомость параметров потребления рассчитывает суточные по часовым данным. Обнаружил неправильный расчет средних значений температуры. На скрине таблица суточных с почасовыми данными.
Теплоснабжение (для всех, кроме ВКТ-7).lersreport (161 KB)
Здесь в ведомости совсем другое среднее значение, и оно не правильное:
Никак не могу разобраться, почему. Думаю, что это связано с недостоверными значениями, но как исправить форму, не знаю. Помогите, пожалуйста. Форма отчета прилагается.
Разобрался, почему. Формула для среднего значения суммирует только достоверные значения за сутки, например за 6.03 их всего 5 (на скрине выше), но делит на 24 часа. Поэтому и не сходится. Как можно это исправить?
Судя по всему у вас часовые недостоверные значения просто не попадают в отчет, в результате чего они не участвуют в расчетах. Просто в свойствах рассматриваемой точки учета на вкладке Точка учета выставите флаг “Отображать недостоверные значения”, в результате чего недостоверные значения будут попадать в отчет и участвовать в расчетах.
Если установить эту галочку, то, в случае присутствия недостоверных значений по другим параметрам, эти значения также попадут в отчет, а это совершенно не приемлемо, т.к. такой отчет не примут к расчету. На скрине отчет по точке учета с установленной галочкой и с недостоверными значениями по расходу воды.
В таком случае вы можете просто отфильтровать все недостоверные значения в остальных параметрах, указав в вычисляемом поле, в котором у вас рассчитывается суточная запись по часовым, соответствующее условие проверки. какого либо другого способа не существует.
Если бы я знал, как это сделать, то не стал бы писать на форуме и тратить время. Если достоверные значения не участвуют в расчете и не отображаются ни в таблице, ни в отчете, то формула для подсчета среднего значения (или другая формула) не должна учитывать время работы с недостоверными значениями, т.е. в примере выше за 6.03 среднее значение за 5 часов работы, а не за 24.
Приложите, пожалуйста, вашу отчетную форму. Также экспортируйте данные по точке учета, по которой строится отчет, и приложите получившийся файл экспорта.
Отчетная форма прикреплена к первому посту. Данные по точке учета прикрепляю.
Data_2021-03-29_1139.zip (8.09 MB)
Во вложении измененная отчетная форма. В ней в ячейке t1 в настройках агрегатной функции Avg() при расчете среднего по группе добавлено условие пропуска значений NULL. В свойствах точки учета вновь снимите признак Отображать недостоверные значения. В итоге при расчете средней t1 по группе будут пропускаться значения NULL, которые возвращаются для недостоверных значений при снятом признаке.
Теплоснабжение (для всех, кроме ВКТ-7)(Исправленная).lersreport (161 KB)
Спасибо, теперь недостоверные значения исключены из подсчета, но дельта Т вообще ведет себя странно. Галочка “Пропустить значение NULL” на результат не влияет. Откуда берется значение дельта Т? На скринах выделены архивные данные и непонятные значения в отчете:
В данном случае вам необходимо рассчитывать T2 по аналогии как T1, а dT как разницу вычисляемых полей T2 и T1. Но вам необходимо учитывать, что данные рассчитанные значения температуры не будут соотноситься с значениями остальных параметров.
Так они и сейчас не соответствуют архивным. По часовым дельта Т за 6.03 должно быть 80, а в отчете -29?
В модифицированной отчетной форме, которую прислал Александр Ряйсянен, был модифицирован только параметр T1. Для остальных параметров таких изменений не проводилось в данной форме.
Если вы хотите чтобы по остальным параметрам температуры, вам нужно создать аналогичное вычисляемое поле, как у T1, используя вычисляемое поле данного параметра в качестве примера, и выводить значение данного вычисляемого поля.
Напоминаю, что согласно пункту 15 Правила оказания услуг технической поддержки пользователей ЛЭРС УЧЕТ в рамках технической поддержки оказывается консультативная помощь в разработке отчётных форм и внешних модулей ЛЭРС УЧЁТ. Полный цикл разработки силами наших специалистов осуществляется только на коммерческой основе.
Если вы хотите заказать у нас модификацию вашей отчетной формы, пожалуйста, пришлите нам подробное техническое задание. Наши специалисты рассмотрят его, после чего мы сообщим сроки и стоимость разработки. Пример технического задания во вложении.
Техническое задание.docx (22.8 KB)
Если модификация заключается только в установке галочки, как на скрине, то я именно так и сделал, но дельта Т считает неправильно, либо я не понимаю, как происходит подсчет среднего значения.
Дело в том что dT всегда является разницей между T1 и T2. Но при расчете dT в таблице с данными если хотя бы один параметр (T1 или T2) имеет достоверное значение, то dT рассчитывается и после этого уже проходит проверку на достоверность по диапазону.
В отчете же наоборот если хотя бы один из параметров T1 или T2 является недостоверным, то и dT считается недостоверным. Из за этого у вас при расчете суточного dT по группе часовых данных за эти сутки не учитываются те значения dT, у которых в соответствующей часовой записи, к которой они относятся, T1 недостоверное значение. В одной из следующих версий мы добавим специальный флаг, наличие которого в отчетной форме позволит учитывать такие записи dT при расчете.
Во вложении пример отчетной формы с расчетом T1, T2 и Tdelta = T1 - T2 c помощью вычисляемых полей calcT1, calcT2 и calcTdelta.
Теплоснабжение (для всех, кроме ВКТ-7)(Исправлен расчет Tdelta).lersreport (162 KB)