Skip to main content

Руководство пользователя BriefCam

Полезные выражения

Last Updated: 7 minute read
Версия2025r1
ЯзыкРусский

Ниже приведен ряд примеров выражений, которые можно использовать для настройки информационных панелей.

Подсчет выражений
Подсчет количества объектов

Для агрегированных информационных панелей

Для подробных информационных панелей

sum({$<[Class Category ID]={Category ID}>}TotalObjects)

count({$<[Class Category ID]={Category ID}>}ObjectID)

В случаях, когда:

Номер категории

Категория

0

Люди

1

Велосипеды

2

Дорожные транспортные средства

3

Другие транспортные средства

4

Животные

5

Изменения освещенности

Пример:

  • Подсчет людей для агрегированных информационных панелей: sum({$<[Class Category ID]={0}>}TotalObjects)

  • Подсчет людей для подробных информационных панелей: count({$<[Class Category ID]={0}>}ObjectID)

В таблице ниже вы можете увидеть, какие классы включены в каждую из категорий:

Class Category table.png
Подсчитайте количество людей
  • От 60 дн. назад:

Для агрегированных информационных панелей

Для подробных информационных панелей

sum({<[Class Category ID]={0}, Date={"$(=Date(Today()-60,'DD/MM/YYYY'))"}>} TotalObjects) 

count({<[Class Category ID]={0}, Date={"$(=Date(Today()-60,'DD/MM/YYYY'))"}>} ObjectID)

Обратите внимание, что в примерах, где используется имя Entry, оно приводится в качестве примера имени пользовательского измерения. Его можно заменить на имя любого пользовательского размера.

  • В области под названием "Вход":

Для агрегированных информационных панелей

Для подробных информационных панелей

sum({$<[Class Category ID]={0},[Path & Area]={'Entry'}>} TotalObjectsCustomDimension) 

count({$<[Class Category ID]={0},[Path & Area]={'Entry'}>}ObjectID)

  • За предыдущие семь дней (последняя неделя) в области под названием "Вход":

Для агрегированных информационных панелей

Для подробных информационных панелей

sum({<[Class Category ID]={0}, [Path & Area]={'Entry'}, Date={">=$(=Date(Today()-7,'DD/MM/YYYY'))"}>} TotalObjectsCustomDimension)

count({<[Class Category ID]={0}, [Path & Area]={'Entry'}, Date={">=$(=Date(Today()-7,'DD/MM/YYYY'))"}>} ObjectID)

  • За последние две недели в области под названием Вход:

Для агрегированных информационных панелей

Для подробных информационных панелей

sum({<[Class Category ID]={0}, [Path & Area]={'Entry'}, Date={">=$(=Date(Today()-14,'DD/MM/YYYY')) "}>} TotalObjectsCustomDimension) 

count({<[Class Category ID]={0}, [Path & Area]={'Entry'}, Date={">=$(=Date(Today()-14,'DD/MM/YYYY')) "}>} ObjectID)

  • От двух недель назад до одной недели назад в области под названием Вход:

Для агрегированных информационных панелей

Для подробных информационных панелей

sum({<[Class Category ID]={0}, [Path & Area]={'Entry'}, Date={">=$(=Date(Today()-14,'DD/MM/YYYY'))<=$(=Date(Today()-7,'DD/MM/YYYY'))"}>} TotalObjectsCustomDimension)

count({<[Class Category ID]={0}, [Path & Area]={'Entry'}, Date={">=$(=Date(Today()-14,'DD/MM/YYYY'))<=$(=Date(Today()-7,'DD/MM/YYYY'))"}>} ObjectID)

Например, если сегодня 20/8/2020, и выражение запущено, оно будет считать людей с 6/8/2020 (>сегодня-14) до 13/8/2020 (<сегодня-7).

  • Из списков наблюдения, которые посетили камеру в левом крыле и камеру на выходе 1, но не камеру на входе 2:

Для агрегированных информационных панелей

Для подробных информационных панелей

Н/Д

Count(DISTINCT {$<Identity = P({<[Source] = {'Left Wing'}>}) * P({<[Source] = {'Exit 1'}>}) - P({<[Source] = {'Entrance 2'}>})>} Identity)

DISTINCT Обратите внимание, что если перед аргументами функции встречается слово, дублирующие значения, полученные в результате оценки аргументов функции, не принимаются во внимание.

  • В камере 4 в пути "Вход" вместе с количеством людей в камере 15 во всех путях и областях, кроме пути "Проход мимо":

Для агрегированных информационных панелей

Для подробных информационных панелей

sum({$<Source={'Cam 4'},[Class Category ID]={0}, [Path & Area]={'Entry'}>} TotalObjectsCustomDimension)+ sum({$<Source={'Cam 15'},[Class Category ID]={0}, [Path & Area]-={'Passing by'}>} TotalObjectsCustomDimension) 

count({$<Source={'Cam 4'},[Class Category ID]={0}, [Path & Area]={'Entry'}>}ObjectID)+count({$<Source={'Cam 15'},[Class Category ID]={0}, [Path & Area]-={'Passing by'}>}ObjectID)

  • Кто такие сотрудники (на основе списка наблюдения с именем "Сотрудники"):

Для агрегированных информационных панелей

Для подробных информационных панелей

Н/Д

Count(DISTINCT {$<[Watchlist]={'Employees'},[Class Category ID]={0}>} FaceID)

  • В области "Вход" (без включения сотрудников в список наблюдения "Сотрудники"):

Для агрегированных информационных панелей

Для подробных информационных панелей

Н/Д

Count(DISTINCT {$<[Path & Area]={'Entry'},[Class Category ID]={0},[Watchlist]-={'Employees'}>}FaceID)

  • Подсчитывает объекты, которые двигались в направлении выше 299,5 или ниже 60,5:

Для агрегированных информационных панелей

Для подробных информационных панелей

Н/Д

count({$<[Direction]={">=299.5<=60.5"}>}ObjectID)

Выражения даты и времени
  • Количество дней в текущем году и месяце с количеством участников свыше 1000:

Для агрегированных информационных панелей

Для подробных информационных панелей

=sum(aggr({$<[Class Category ID]={0},Year={$(=Year(Today()))},[Month Num]={$(=Month(Today())+0)}>}if(sum(TotalObjects) > 1000,1,0),Date))

=sum(aggr({$<[Class Category ID]={0},Year={$(=Year(Today()))},[Month Num]={$(=Month(Today())+0)}>}if(count(ObjectID) > 1000,1,0),Date))

  • Количество дней во всем интервале времени, в которых участвуют более 1000 человек:

Для агрегированных информационных панелей

Для подробных информационных панелей

=sum(aggr({$<[Class Category ID]={0}>}if(sum(TotalObjects) > 1000,1,0),Date))

=sum(aggr({$<[Class Category ID]={0}>}if(count(ObjectID) > 1000,1,0),Date))

  • Промежуток времени между двумя последними лицами в одной камере и днем:

Это важно, например, чтобы убедиться, что последние два сотрудника в филиале не уходят вместе.

Для агрегированных информационных панелей

Для подробных информационных панелей

Н/Д

  • Последний объект: firstsortedvalue([End Time], -[End Time],1)

    Второй и последний объект: firstsortedvalue([End Time], -[End Time],2)

    Промежуток: firstsortedvalue([End Time], -[End Time],1) - firstsortedvalue([End Time], -[End Time],2)

  • интервалы времени в 10 минут между часами 4:00 и 8:00:

Для агрегированных информационных панелей

Для подробных информационных панелей

Н/Д

=if(Time >= 4/24 and Time <=8/24,time([10 Min],'$(vTimeFormat)'))

  • Автоматически открывать таблицу для отображения данных за сегодняшний день и предыдущие семь дней:

  1. В свойствах таблицы откройте раздел Действие.

  2. В свойстве Действие выберите Выбрать значения, соответствующие критериям поиска.

  3. В свойстве Поле выберите Дата.

  4. В свойстве Value введите: ='>=' & Date(Today()-7) & '<=' & Date(Today())

    Show today expression.png
  • Убедитесь, что диаграмма начинается с правильного порядка дней недели:

    1. Нажмите на диаграмму с днями.

    2. В свойствах диаграммы выберите раздел "Сортировка".

    3. Выберите измерение, включающее день.

    4. Убедитесь, что установлен флажок Сортировать по выражению.

    5. Убедитесь, что для этого параметра выбран порядок по возрастанию.

    6. В свойстве Expression введите следующее: match(Day, 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun')

      Match days expression.png
Выражения для максимумов и минимумов

DISTINCT Обратите внимание, что если перед аргументами функции встречается слово, дублирующие значения, полученные в результате оценки аргументов функции, не принимаются во внимание.

  • Максимальное количество людей в час (несколько путей и областей)

Для агрегированных информационных панелей

Для подробных информационных панелей

max(aggr(sum({$<[Class Category ID]={0},[Path & Area]={ 'custom_dimension_name_A ', 'custom_dimension_name_B'}>} TotalObjectsCustomDimension), [Hour (hh)],Date)) 

max(aggr(count({$<[Class Category ID]={0},[Path & Area]={ ' custom_dimension_name_A ', ' custom_dimension_name_B '}>}ObjectID),Hour,Date))

  • Максимальное количество посетителей в час в сутки (без учета сотрудников из списка наблюдения "Сотрудники"):

Для агрегированных информационных панелей

Для подробных информационных панелей

Н/Д

max(aggr(count({$<[Path & Area]={'C-01-PC-OverHeadEntr'},[Class Category ID]={0}>}ObjectID) - (count(distinct {$<[Watchlist]={'Employees'},[Class Category ID]={0}>} FaceID)),Hour,Date))

  • Минимальное количество посетителей в час ежедневно (без учета сотрудников в списке наблюдения "Сотрудники"):

Для агрегированных информационных панелей

Для подробных информационных панелей

Н/Д

if (Min(aggr(count({$<[Path & Area]={'C-01-PC-OverHeadEntr'},[Class Category ID]={0}>}ObjectID) - (count(distinct {$<[Watchlist]={'Employees'},[Class Category ID]={0}>} FaceID)),Hour,Date)) < 0 , 0, Min(aggr(count({$<[Path & Area]={'C-01-PC-OverHeadEntr'},[Class Category ID]={0}>}ObjectID) - (count(distinct {$<[Watchlist]={'Employees'},[Class Category ID]={0}>} FaceID)),Hour,Date)) )

Выражения для средних
  • Среднее количество людей в день в пользовательском измерении с именем "Запись":

Для агрегированных информационных панелей

Для подробных информационных панелей

avg(Aggr((sum({<[Path & Area]={'Entry'}>} TotalObjectsCustomDimension)),Day)) 

avg(Aggr((count({<[Path & Area]={'Entry'}>}[ObjectID])),Day))

  • Среднее количество людей в час в пользовательском измерении с именем "Запись":

Для агрегированных информационных панелей

Для подробных информационных панелей

avg(Aggr((count({<[Path & Area]={'Entry'}>}[ObjectID])),Date,Hour))

avg(Aggr((count({<[Path & Area]={'Entry'}>}[ObjectID])),Date,Hour))

  • Среднее количество людей каждые 10 минут:

Для агрегированных информационных панелей

Для подробных информационных панелей

Н/Д

avg(Aggr((count({<[Class Category ID]={0}>}[ObjectID])),Date,[10 Min]))

  • Среднее количество раз, когда в течение 10 минут было более 50 человек:

Для агрегированных информационных панелей

Для подробных информационных панелей

Н/Д

sum(aggr(if(avg(Aggr((count({<[Class Category ID]={0}>}[ObjectID])),Date,[10 Min])) > 50,1,0),Date,[10 Min]))

  • Топ-10 источников по самому длинному среднему времени пребывания (только люди) на макс. дату:

  1. Добавьте гистограмму с одним из следующих выражений меры (в соответствии с вашими потребностями):

    • Измеряйте выражение для среднего времени пребывания (только люди) по всем датам:

      Для агрегированных информационных панелей: sum({$<[Class Category ID]={0}>}WeightedAvgDwellSec) / sum({$<[Class Category ID]={0}>}TotalObjects

      Подробные информационные панели: Avg({$<[Class Category ID]={0}>}[Dwell (Sec)])

    • Выражение меры для среднего времени пребывания (только люди), на макс. дату:

      Для агрегированных информационных панелей: Avg({$<[Class Category ID]={0},[Date]={"$(=Max(Date))"}>}[Dwell (Sec)])

      Подробные информационные панели: sum({$<[Class Category ID]={0},[Date]={"$(=Max(Date))"}>}WeightedAvgDwellSec) / sum({$<[Class Category ID]={0},[Date]={"$(=Max(Date))"}>}TotalObjects)

  2. Измените имя меры на "Среднее время пребывания".

  3. Добавьте измерение и выберите Источник.

  4. Добавьте ограничение на измерение источника, чтобы задать 10 лучших источников, как показано на рисунке ниже.

    Top 10 sources 1.png
  5. Сортировать диаграмму по выражению (с помощью меры среднего времени пребывания в качестве первого элемента в списке сортировки).

    Top 10 sources 2.png
  6. Посмотреть результат:

    Top 10 sources 3.png
Выражения исключения
  • Исключить конкретные пользовательские размеры:

Для агрегированных информационных панелей

Для подробных информационных панелей

sum({<[Class Category ID]={0},[Path & Area]-={'custom_dimension_name'}>}TotalObjectsCustomDimension) 

count({<[Class Category ID]={0},[Path & Area] -= {' имя_настраиваемого_размера '}>}[ObjectID])

  • Исключите выходные дни для планирования "По запросу" с понедельника по пятницу.

Для агрегированных информационных панелей

Для подробных информационных панелей

=if (Weekday(Date(Today()))=0,Date(Today()-3),Date(Today()-1)) 

=if (Weekday(Date(Today()))=0,Date(Today()-3),Date(Today()-1))

Примечание

vClassvClassCategoryЧтобы удалить пол из графиков, замените на.

Выражения транспортного средства
  • Подсчет велосипедов – Подсчитывает только велосипеды:

Для агрегированных информационных панелей

Для подробных информационных панелей

sum({$<[Class Category ID]={1}>} TotalObjects)

count({$<[Class Category ID]={1}>}ObjectID)

  • Подсчет дорожных транспортных средств - подсчитывает следующие классы:автобус,автомобиль,мотоцикл,пикап, Truck и Van:

Для агрегированных информационных панелей

Для подробных информационных панелей

sum({$<[Class Category ID]={2}>} TotalObjects)

count({$<[Class Category ID]={2}>}ObjectID)

  • Подсчет других транспортных средств – подсчитывает следующие классы: Самолет, Лодка и Train:

Для агрегированных информационных панелей

Для подробных информационных панелей

sum({$<[Class Category ID]={3}>} TotalObjects)

count({$<[Class Category ID]={3}>}ObjectID)

  • Отсчет времени разворота транспортного средства за предыдущие 7 дней:

Для агрегированных информационных панелей

Для подробных информационных панелей

sum({<[Class Category ID]={2}, [Path & Area]={'U-Turn'},Date={">=$(=Date(Today()-7,'DD/MM/YYYY'))"}>} TotalObjectsCustomDimension)

count({<[Class Category ID]={2}, [Path & Area]={'U-Turn'},Date={">=$(=Date(Today()-7,'DD/MM/YYYY'))"}>} ObjectID)

  • Развороты транспортного средства в час:

Для агрегированных информационных панелей

Для подробных информационных панелей

sum(Aggr((count({<[Class Category ID]={2}, [Path & Area]={'U-Turn'}>} TotalObjectsCustomDimension)),Date, [Hour (hh)]))

Count(Aggr((count({<[Class Category ID]={2}, [Path & Area]={'U-Turn'}>}[ObjectID])),Date,Hour))

  • Продолжительность для даты по LPR:

Для агрегированных информационных панелей

Для подробных информационных панелей

Н/Д

Interval(avg(Aggr((max({<[LPR]-={''}>}[End Time])-min({<[LPR]-={''}>}[Start Time])),GroupID,LPR,Date)))