Стандартный вариант ELMA с условными операторами в теле запроса не устраивает? Пример из стандартного отчета
Код:
WHERE
{IF {$BlockedUsers} = FALSE}
[User].Status = 0
{ELSE}
[User].Status in (0, 1)
{END IF}
Тогда можно тру SQL путем пойти, через case операторы в where секции(не рекомендую) пример из ораклового запроса, в ms наверняка аналогично
Код:
--если параметр не задан (равен нулю в нашем варианте) - сравнивать с собой =выбрать все записи независимо от значения этого поля, иначе - сравнивать с параметром
where im.imbuyr=case when '&imbuyr'=0 then im.imbuyr else to_number('&imbuyr') end