Фильтры с несколькими диапазонами в поле типа строки разбивают фильтр диапазона дат - PullRequest
0 голосов
/ 27 сентября 2018

Мой отчет содержит задания и субподряды для этих заданий.Я фильтрую с параметром для даты происхождения субконтракта как? BegDate и? EndDate.Это работает отлично до тех пор, пока ... Затем мне нужно отфильтровать результаты, чтобы включить только задания, которые имеют значения от 10000 до 19900 и от 50000 до 59000. Поле Job - это строковое поле, но данные в нем выглядят так: «10000 -» обратите внимание на черту наконец числа, я должен включить эту черту, или фильтр не работает, но это не проблема.В любом случае, если я просто отфильтрую диапазон дат и один из диапазонов заданий, все будет отлично.Когда я добавляю второй фильтр диапазона заданий, он нарушает фильтр диапазона дат.

Вот мой фильтр:

Это работает:

{JCJM.Job} in "10000-" to "19000-" and
{SLHDPM.OrigDate} in {?BegDate} to {?EndDate}

Это нарушает фильтр даты (результаты полностью игнорируют фильтр даты):

{JCJM.Job} in "10000-" to "19000-" or
{JCJM.Job} in "50000-" to "59000-" and
{SLHDPM.OrigDate} in {?BegDate} to {?EndDate}

1 Ответ

0 голосов
/ 27 сентября 2018

Итак, я получил ответ от инструктора, который у меня был, и вот он для всех:

Существует проблема порядка приоритета между оператором «или» и оператором «и» в записиформула выбора.

Обычно вы хотите заключить диапазоны заданий (и оператор «или») в скобки.Но когда вы используете оператор «in range», вы можете объединить два или более набора диапазонов, заключив значения в квадратные скобки.Это заменяет необходимость использования оператора «или» между диапазонами заданий, например:

{JCJM.Job} in ["10000-" to "19000-", "50000-" to "59000-"]
and
{SLHDPM.OrigDate} in {?BegDate} to {?EndDate}
...