Подсчет количества записей (по содержанию одного из полей)

Практические советы по работе с FileMaker, типичные задачи и их решения. У вас вопрос? Пишите сюда.
Ответить
Maria
Сообщения: 17
Зарегистрирован: 04 фев 2018, 14:54

Подсчет количества записей (по содержанию одного из полей)

Сообщение Maria » 28 мар 2018, 14:47

Нужно подсчитать количество записей в таблице, содержание одного из полей которых равно, к примеру "1". Можно ли это сделать с помощью функции Count? Не получается.
В данном случае, мне это нужно, чтобы отобразить количество заявок с определенным статусом (типо оповещения).

Аватара пользователя
Arcady
Администратор
Сообщения: 138
Зарегистрирован: 10 сен 2017, 20:45
Контактная информация:

Re: Подсчет количества записей (по содержанию одного из полей)

Сообщение Arcady » 29 мар 2018, 23:08

Count посчитает все не пустые. Если у вас в поле могут быть разные значения, то можно создать калькулируемое поле:
if (ваше поле = 1; 1 ; "" ) и считать Count по нему.

Если значение поля текст, я так понимаю у вас речь идет о статусах, то можно считать так:
PatternCount (List (ваше поле) ; значение )

Но надо понимать что если у вас есть например статусы "Заявка" и "Заявка в работе", то они посчитаются обе, если значения будет "Заявка"

Более надежный способ, но возможно медленней из-за большей обработки:
ValueCount (FilterValues ( List (ваше поле) ; значение ) ) )
Аркадий Перла.
ТриА. Разработка решений для FileMaker
http://tria.pw

Maria
Сообщения: 17
Зарегистрирован: 04 фев 2018, 14:54

Скрипт "Оповещения"

Сообщение Maria » 01 апр 2018, 14:33

В попытках организовать систему оповещений, создала такой скрипт.
Есть поле Новый заказ, в которое будет записываться число записей, сооответ. статусу "Черновик" (в данном случае)
При отладке вроде все считает, записывает (единственное надо будет обнулять поле Новый заказ). Новый заказ - глобальное поле.
Но когда установила данный скрипт на каждую загрузку макета, все зависает надолго и там насчитывает под 20 000 записей, хотя всего их штук 5..).
В чем может быть проблема?
Вложения
Снимок экрана 2018-04-01 в 5.56.43.png
Снимок экрана 2018-04-01 в 5.56.43.png (57.24 КБ) 1051 просмотр

Аватара пользователя
Arcady
Администратор
Сообщения: 138
Зарегистрирован: 10 сен 2017, 20:45
Контактная информация:

Re: Подсчет количества записей (по содержанию одного из полей)

Сообщение Arcady » 01 апр 2018, 15:47

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

Вам надо как-то иначе запускать ваши скрипт, чтобы не возникло рекурсии.
Аркадий Перла.
ТриА. Разработка решений для FileMaker
http://tria.pw

agrus
Сообщения: 1
Зарегистрирован: 04 дек 2017, 05:55

Re: Подсчет количества записей (по содержанию одного из полей)

Сообщение agrus » 16 апр 2018, 06:33

почему нельзя для начала find records по заданному критерию?
и replace не подойдет? гораздо быстрее, чем проходить построчно loop-ом

Ответить