Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Отчеты  (Прочитано 19595 раз)

TeNQ

  • Постоялец
  • ***
  • Сообщений: 199
    • Просмотр профиля
Re: Отчеты
« Ответ #60 : 18 Июня 2018, 12:52:07 »
Цитировать
Источник данных с типом "Периодический" работает на самом деле очень просто.
Я читал ваше руководство и более или менее понимаю как все это устроено. И я привел пример с построением тренда из полученных данных в отчете, с целью выявить проблему. Как мне кажется, вы должны создавать из данных в БД промежуточную таблицу с учетом ваших алгоритмов записи в БД, восстанавливая данные до исходных. Брать готовый встроенный способ восстановления который есть в системе отчетов я не смогу. Если я использую интерполяцию, то у меня получится такая же ерунда.
Вот есть у меня источник данных по-изменению. В отчет попадает три точки. Интервалов же в отчете намного больше чем три. И в большую часть интервалов точки вообще не попадают. Восстановите эти три точки до прямых и уже тогда берите данных для интервалов в построении отчета с учетом этого. И тогда там будут не нули, а реальное значение которое вы просто выбросили, потому что зачем писать в БД одно и то же значение. 
И да, я могу отказаться от режима архивации по-изменению и писать в БД все по времени. Но тогда зачем нужны эти алгоритмы сжатия и высвобождения полезных ресурсов если для создания конечного продукта - отчета, от них нет никакого толку, а только вред.
Про 100 и 99.29. Не знаю, надо разбираться. Я вам выслал, то что у меня реально получилось, у меня глаз зацепился за это несоответствие, а как оно создалось понятия не имею.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3000
    • Просмотр профиля
    • Simple-Scada
Re: Отчеты
« Ответ #61 : 18 Июня 2018, 13:08:52 »
Цитировать
И да, я могу отказаться от режима архивации по-изменению и писать в БД все по времени.
Это ничего не изменит касаемо задачи описанной в сообщениях выше, т.к. повторяющиеся точки все равно не пойдут в БД.

Цитировать
Восстановите эти три точки до прямых и уже тогда берите данных для интервалов в построении отчета с учетом этого.
Именно это и делают способы обработки "Интерполяция" и "Точное". Используйте их если нужно видеть промежуточные значения между точками. В Вашем случае тренды ступенчатые и правильнее использовать тип "Точное", т.к. "Интерполяция" будет просто "проводить линию" от точки к точке, без ступеньки.

Цитировать
Если я использую интерполяцию, то у меня получится такая же ерунда.
Не совсем поняли что именно происходит не так при выборе этого типа обработки. Значения отображаются неправильные при выводе бэнда в отчет? Если да, то может выслать скрин построенного отчета с интерполяцией (можно за тот же интервал времени, что и в предыдущем сообщении)? Или ещё что-то?

Цитировать
Про 100 и 99.29. Не знаю, надо разбираться.
Скорее всего переменная действительно была равна 100 в момент построения отчета. На графике этого значения не видно, т.к. оно не пошло в архив (вероятно из-за зоны нечувствительности тренда). А в отчет попало, т.к. в архив на момент построения отчета оно ещё уйти не успело и отчет взял данные из буферов в оперативной памяти, включая текущее значение на момент построения отчета, равное 100.
« Изменён: 18 Июня 2018, 13:27:44 от Simple-Scada »

TeNQ

  • Постоялец
  • ***
  • Сообщений: 199
    • Просмотр профиля
Re: Отчеты
« Ответ #62 : 18 Июня 2018, 13:42:21 »
Цитировать
В Вашем случае тренды ступенчатые и правильнее использовать тип "Точное"
Попробовал, получилось то что надо. Я значит не разобрался в описании, прощу прощения.

alan54

  • Постоялец
  • ***
  • Сообщений: 145
    • Просмотр профиля
Re: Отчеты
« Ответ #63 : 05 Октября 2018, 15:46:39 »
Может подскажет кто - как вернуть на панели справа закладки? Что-то не туда кликнул, и они пропали, остались только свойства...

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1178
    • Просмотр профиля
Re: Отчеты
« Ответ #64 : 05 Октября 2018, 16:01:46 »
Здравствуйте!

Если у Вас не отображается "Словарь" - нажмите сочетание клавиш "Ctrl+Shift+D". Если "Дерево отчета" - нажмите сочетание клавиш "Ctrl+Shift+L".

alan54

  • Постоялец
  • ***
  • Сообщений: 145
    • Просмотр профиля
Re: Отчеты
« Ответ #65 : 05 Октября 2018, 16:09:03 »
Спасибо, помогло. Только почему этого нет в руководстве?
« Изменён: 13 Октября 2018, 20:56:10 от Simple-Scada »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1178
    • Просмотр профиля
Re: Отчеты
« Ответ #66 : 05 Октября 2018, 16:18:26 »
В Simple-Scada используется система отчетов Stimulsoft Reports - полное руководство по ней доступно по ссылке. В нашем руководстве по отчетам также имеются ссылки на руководство Stimulsoft Reports.

alan54

  • Постоялец
  • ***
  • Сообщений: 145
    • Просмотр профиля
Re: Отчеты
« Ответ #67 : 05 Октября 2018, 17:01:21 »
Спасибо, это тоже нашел.
« Изменён: 13 Октября 2018, 20:56:02 от Simple-Scada »

alan54

  • Постоялец
  • ***
  • Сообщений: 145
    • Просмотр профиля
Re: Отчеты
« Ответ #68 : 12 Октября 2018, 11:44:11 »
Как в отчете по изменению отобразить булевские переменные не флажками, а нулем и единицей?

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3000
    • Просмотр профиля
    • Simple-Scada
Re: Отчеты
« Ответ #69 : 13 Октября 2018, 16:23:17 »
Здравствуйте.

Когда Вы выносите на страницу бэнд данных с колонками типа Boolean, то для этих колонок создается компонент "Флажок". Чтобы отобразить 0 и 1 нужно удалить этот компонент из бэнда данных, разместить на его месте компонент "Текст" и задать для него выражение "{Данные.vrRepBool ? 1 : 0}", где Данные - это имя источника данных, а vrRepBool - это boolean-колонка в данном источнике. См. скрин во вложении.
« Изменён: 13 Октября 2018, 16:24:06 от Simple-Scada »

alan54

  • Постоялец
  • ***
  • Сообщений: 145
    • Просмотр профиля
Re: Отчеты
« Ответ #70 : 13 Октября 2018, 19:08:53 »
Что-то не получилось у меня с первого раза. Переменная vrRepBool у меня названа "Подача первой доски", вместо пробелов автоматически подставились подчеркивания, и в итоге сообщение "Переменная не найдена". Как быть? Взять в кавычки? Или использовать название исходной переменной из проекта - Magazine1_YV4 ?
« Изменён: 13 Октября 2018, 20:55:44 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3000
    • Просмотр профиля
    • Simple-Scada
Re: Отчеты
« Ответ #71 : 13 Октября 2018, 20:54:57 »
Нет, в кавычки нельзя. Для имён с кириллицей в выражении нужно использовать стандартную функцию IIF (пробелы в имени переменной должны быть заменены на подчеркивания), например:
Код: (c#)
{IIF(Данные.Подача_первой_доски == true, 1, 0)}

alan54

  • Постоялец
  • ***
  • Сообщений: 145
    • Просмотр профиля
Re: Отчеты
« Ответ #72 : 15 Октября 2018, 15:42:12 »
Нет, в кавычки нельзя. Для имён с кириллицей в выражении нужно использовать стандартную функцию IIF (пробелы в имени переменной должны быть заменены на подчеркивания), например:
Код: (c#)
{IIF(Данные.Подача_первой_доски == true, 1, 0)}
Спасибо, получилось. Только переменную пришлось переименовать без пробелов.