Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: ART63 от 08 Февраля 2022, 08:16:02

Название: Имя колонки
Отправлено: ART63 от 08 Февраля 2022, 08:16:02
Добрый день!

Создал в отчете колонку на основе формулы. Можно ли ей присвоить имя, чтобы использовать в других расчетах?
Название: Re: Имя колонки
Отправлено: Timothy Clement от 08 Февраля 2022, 12:15:45
Добрый день! Вместо написания формулы в теле отчёта, вы можете создать свою рассчитываемую колонку - нажать правой кнопкой в источнике данных - Новая рассчитываемая колонка. Присваиваете ей имя и нужное выражение. Теперь можно использовать эту колонку по имени в любом месте отчёта и в других выражениях.
Название: Re: Имя колонки
Отправлено: ART63 от 08 Февраля 2022, 12:36:37
К сожалению, у меня не получилось заставить работать функцию Next в вычисляемой колонке. Она работает только на строках отчета.
А вставить ее в формулу DateDiff не получается, поскольку результатом Next является Object, а не DateTime. А функций приведения типов (кроме строковых) я не обнаружил. Также не нашел возможность скрыть строки в отчете по условию.
Название: Re: Имя колонки
Отправлено: Simple-Scada от 09 Февраля 2022, 22:05:05
Для приведения типа можно указать его в скобках, например:
Код
{DateDiff(
  (DateTime)Next(Источник1, "Время"),
  Источник1.Время
)}

Цитировать
Также не нашел возможность скрыть строки в отчете по условию.
Для этого нужно кликнуть ПКМ по бэнду данных и выбрать пункт "Редактировать"(см. скриншот по ссылке (https://simple-scada.com/help/report/cycles-rep.html?q=%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80#:~:text=%D1%81%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C%20%D0%BA%D0%BB%D0%B8%D0%BA%20%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%B9%20%D0%BA%D0%BD%D0%BE%D0%BF%D0%BA%D0%BE%D0%B9%20%D0%BC%D1%8B%D1%88%D0%B8%20%D0%BF%D0%BE%20%D0%B1%D1%8D%D0%BD%D0%B4%D1%83%20%22Data%D0%A6%D0%B8%D0%BA%D0%BB%D1%8B%22%20%D0%B8%20%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C%20%D0%BF%D1%83%D0%BD%D0%BA%D1%82%20%22%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%22%3A)). В открывшемся окне нужно перейти на вкладку "Фильтры" и добавить новый фильтр по требуемой колонке с нужным условием.
Название: Re: Имя колонки
Отправлено: ART63 от 10 Февраля 2022, 12:08:25
Добрый день!

Спасибо, преобразование типов сработало!

Что касается второго вопроса. Фильтр заполняет отчет строками, соответственно заданному фильтру. А для нормальной работы функции Next надо, чтобы были подгружены все строки (как на скриншоте), а на экран выводились только те, у которых последняя колонка равна 1. В этом случае в видимой строке колонка "Начало" соответствует старту ДГУ, а колонка "Конец" остановке (выводится дата следующей строки с 0, которая невидна). Таким образом можно получить отчет по пускам ДГУ стандартным способом без использования и ведения собственного источника. Если же поставить фильтр на последнюю колонку=1, то в колонке "Конец" будет отображаться время следующей строки с учетом фильтра. Отчет будет некорректно работать.