1

Фильтрация "с включенным/выключенным датчиком" в таблице "Поездки"

Тема: Фильтрация "с включенным/выключенным датчиком" в таблице "Поездки"

Коллеги, доброго дня.

Периодически возникает потребность отфильтровать поездки с включенным/выключенным датчиком. Но столкнулись с такой проблемой:
1) создан произвольный цифровой датчик, по нему предполагается осуществлять фильтрацию;
2) создаются две таблицы с типом "Поездка":
а) с включенным датчиком (в разделе "Маска" прописывается его имя);
б) с выключенным датчиком (в разделе "Маска" также прописывается его имя).

Вроде бы всё удачно, если бы не пункты в документации:

"Датчики
Фильтр дает возможность вывести в таблицу отчета интервалы с включенным или выключенным датчиком, а также, дополнительно, указать минимальную и/или максимальную продолжительность таких интервалов. Для того чтобы каждый интервал был показан в отдельной строке таблицы, отметьте опцию «Извлечь интервалы». Интервалы также могут быть суммированы, если указана максимальная и/или минимальная длительность включения/выключения датчика. Для уточнения конкретного датчика, включение или выключение которого должно учитываться, укажите его маску в фильтре «Маски датчиков». В случае указания нескольких масок, выбираются только те интервалы, на которых одновременно были включены/выключены все указанные датчики. Если маски датчиков не указаны, то в отчете учитываются все датчики объекта.

Маски датчиков
В данном фильтре задаются маски датчиков, которые должны учитываться при генерировании отчета. Эти маски влияют на фильтр «Датчики», столбец «Счетчик» в таблицах, а также на все данные, связанные с топливом (если что-то из этого выбрано в шаблоне отчета)."

Критично важно в таблице выводить счётчик и информацию по топливу.
Для включенного датчика всё корректно при таких настройках фильтрации (скрин 1 - вкл. датчик): выделенные столбцы заполнены (скрин 2 - вкл. датчик).
Но получить такую же информацию с выключенным датчиком я не могу:
1) чтобы отображались счетчик и топливо - они должны быть прописаны в Маске, как и датчик, который выключен;
2) при этом согласно документации они все одновременно должны быть выключены, чтобы таблица вообще формировалась.

В итоге я либо получаю таблицу с пустыми колонками (скрин 3 - выкл. датчик) при только одной маске (скрин 4 - выкл. датчик), либо не получаю вообще таблицы в результате выполнения отчета, так как не соблюдается правило одновременности (скрин 5 - выкл. датчик).

Можно ли как-то разграничить Маску для фильтрации включенного/выключенного датчика и при этом получать требуемые данные по топливу и счётчикам?

Есть, конечно, "костыль": сделать два датчика (второй - это инвертированный первый) и фильтровать по ним в состоянии "вкл", но по факту получается что функция "с выключенным датчиком" полноценно не работает без потери критично важных данных (топливо для поездки и пробег именно такими и являются).

Заранее спасибо за ответ.

  • Фильтрация "с включенным/выключенным датчиком" в таблице "Поездки"
  • Фильтрация "с включенным/выключенным датчиком" в таблице "Поездки"
  • Фильтрация "с включенным/выключенным датчиком" в таблице "Поездки"
  • Фильтрация "с включенным/выключенным датчиком" в таблице "Поездки"
  • Фильтрация "с включенным/выключенным датчиком" в таблице "Поездки"
Wialon Operator
2

Фильтрация "с включенным/выключенным датчиком" в таблице "Поездки"

Re: Фильтрация "с включенным/выключенным датчиком" в таблице "Поездки"

Не совсем понял, что вы хотите - наверное из конца рабочего дня.
Могу предложить следующее: фильтровать не по многим датчиком а по одному, работу которого контролирует выше вами указаны датчики.
В общем виде датчик строится как бинарная величина, т.е.
Допустим есть 2 датчика: a{0 или 1} и b{0 или 1} необходимо при помощи них вычислять значения датчика c{Вкл, Выкл}, таким образом:
a*b значит c - Выкл. если один из датчиков 0 и с - Вкл. если оба датчика 1
a+b значит с - Выкл. если оба датчтика 0 и c - Вкл. если хотя бы одни из датчиков 1

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

Надеюсь я не ошибся с решением и оно вам поможет.

FFA0-0BBB-8911-15BB

https://www.reg.ru
3

Фильтрация "с включенным/выключенным датчиком" в таблице "Поездки"

Re: Фильтрация "с включенным/выключенным датчиком" в таблице "Поездки"

vmtp пишет:

Не совсем полнел, что вы хотите - наверное из конца рабочего дня.
Могу предложить следующее: фильтровать не по многим датчиком а по одному, работу которого контролирует выше вами указаны датчики.
В общем виде датчик строится как бинарная величина, т.е.
Допустим есть 2 датчика: a{0 или 1} и b{0 или 1} необходимо при помощи них вычислять значения датчика c{Вкл, Выкл}, таким образом:
a*b значит c - Выкл. если один из датчиков 0 и с - Вкл. если оба датчика 1
a+b значит с - Выкл. если оба датчтика 0 и c - Вкл. если хотя бы одни из датчиков 1

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

Надеюсь я не ошибся с решением и оно вам поможет.

Проблема не в фильтрации по определенному датчику, а в том, что если датчик выключен в настройках фильтра, то это автоматически убирает из результатов таблицы возможность отображении информации по топливу и данные счётчиков.

Wialon Operator
4

Фильтрация "с включенным/выключенным датчиком" в таблице "Поездки"

Re: Фильтрация "с включенным/выключенным датчиком" в таблице "Поездки"

Также, как и vmtp, не совсем поняла, в чем проблема на самом деле.

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

Получается, важна только последовательность создания алгоритма.

Tatsiana Shmihelskaya
Business Analyst, Gurtam