Страница 4 из 4 ПерваяПервая ... 234
Показано с 31 по 35 из 35

Тема: Агрегатные функции в отчёте

  1. #31

    По умолчанию

    Могу, конечно, описать что мне нужно. А Вы, видимо, вставите несколько ссылок на Вашу документацию с предложением её почитать.))) А отчёт нужен, примерно, такой... Идут испытания двигателя, меняются режимы работы двигателя, снимаются показания датчиков, которыми он обвешан... Испытания имеют разные типы - разный набор режимов работы двигателя, ну... к примеру 1,2,3,4. В отчёте должны быть таблицы для каждого типа испытаний с замерами с датчиков на каждом режиме работы двигателя. Испытания могут повторяться, но в протокол должны попадать данные только с последнего испытания каждого типа. То есть испытание номер 1 можно провести 10 раз, но в протоколе должен быть отражён только последнее испытание. Такой отчёт мы сделали и он работает.
    Но, кроме этих данных, нужны данные из архива, которые получаются с помощью агрегатных функций. Например - узнать время начала первого испытания, узнать название испытания... Вот с этим - проблема. Строим данные на основе других данных, применяем фильтры и агрегатные функции. Иногда это работает, иногда - нет. Я привёл примеры, когда не работает.

  2. #32

    По умолчанию

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

  3. #33

    По умолчанию

    Т.е. задача за определенный интервал времени найти первое испытание и например его время?
    Нет, не так. Интервал времени неизвестен. Испытаний с номером один могло быть проведено сколько угодно. Запоминать для каждого время начала и конца как-то... не красивое решение. А итоговый отчёт без интервалов работать не будет, как я понимаю. Надо не за определённый интервал времени, а по состоянию других переменных. Есть переменные "номер двигателя во время испытания"(строковый), "номер двигателя текущий"(строковый), "номер испытания"(целый), "строб начала испытания"(логический). Как правильно сделать обработку архива с такой задачей: Определить время ПЕРВОГО (в архиве) строба начала испытания, при условии что "номер двигателя во время испытания" равен "номер двигателя текущий" и "номер испытания" в это время равен 1.

  4. #34

    По умолчанию

    Цитата Сообщение от ks21 Посмотреть сообщение
    Нет, не так. Интервал времени неизвестен. Испытаний с номером один могло быть проведено сколько угодно. Запоминать для каждого время начала и конца как-то... не красивое решение.
    Как раз таки это очень красивое решение, и более того - оно единственно правильное.
    Можно сделать несколько по иному. В момент когда происходит запуск вашего испытания вызвать сообщение (используя Событие) определенной категории (например Запуски испытания). Сообщение попадет в журнал. В текст сообщения можно включить всю необходимую информацию - номер испытания, номер двигателя и прочее.
    Настраиваем журнал, чтобы он выводил только эту категорию. Теперь у оператора будет весь необходимый механизм - можно задать интервал времени когда было испытание, можно в столбце Сообщение производить поиск (в том числе с регулярными выражениями). Затем оператор выбирает нужное ему сообщение, и его параметры попадают в специальный скрипт. Скрипт разбирает сообщение, извлекает данные Начала и Конца и выводить на выходы скрипта - после этого можно запускать формирование отчета.
    Пример такого скрипта (обращение к журналу и получение выделенного сообщения) - в приложении
    Вложения Вложения
    Спасибо.

  5. #35

    По умолчанию

    Спасибо за пояснения и скрипт. Буду разбираться.

Страница 4 из 4 ПерваяПервая ... 234

Похожие темы

  1. ТХ01 и функции счета
    от Maksim S.P. в разделе Эксплуатация
    Ответов: 12
    Последнее сообщение: 16.08.2012, 23:35
  2. Функции.
    от Jonikk в разделе Программируемые реле
    Ответов: 11
    Последнее сообщение: 13.09.2011, 18:57
  3. Функции
    от mettled в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 13.02.2008, 10:16

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •