Я создаю фильтр для отчета в студии отчетов Cognos, в которой используются параметры со страницы приглашения.Идея состоит в том, чтобы предоставить пользователю, который будет работать с отчетом, возможность указать дату начала и дату окончания (и выбрать только командировки в течение этого периода), а также иметь возможность выбора относительных сроков в случае, если отчетбудет запланировано.
У меня было несколько синтаксических ошибок, о которых я ... обратил внимание, или, по крайней мере, я так думал.При проверке фильтра он даже открывает страницу с подсказкой, но после выбора значения он выдает ошибки типа:
UDA-QOS-0006 Ошибка UDA-SQL-0219 Функция "getdate" используется длялокальная обработка, но недоступная как встроенная функция, или хотя бы один из ее параметров не поддерживается
QE-DEF-0459 CCLException RQP-DEF-0177 Произошла ошибка при выполнении операции 'sqlPrepareWithOptions'статус = '- 126'.UDA-SQL-0219 Функция «getdate» используется для локальной обработки, но недоступна как встроенная функция, или хотя бы один из ее параметров не поддерживается
RSV-VAL-0004 Невозможно выполнитьнайдите информацию запроса для элемента Всего часов за границей для отчета.
Последний явно повторяется для каждого элемента данных в отчете.Выражение фильтра, которое я использую, ниже:
CASE ?RelativeTimePrompt?
WHEN 'SelectTimeframe' THEN
([Arrival Date/Time] between ?TravelDateIntervallStart? and ?TravelDateIntervallEnd?
AND
[Departure Date/Time] between ?TravelDateIntervallStart? and ?TravelDateIntervallEnd?)
WHEN 'Last12m' THEN ( [Arrival Date/Time] between _add_days(getdate (),-365) and (getdate ()) AND [Departure Date/Time] between _add_days(getdate (),-365) and (getdate ()))
WHEN 'Last6m' THEN ( [Arrival Date/Time] between _add_days(getdate (),-183) and (getdate ()) AND [Departure Date/Time] between _add_days(getdate (),-183) and (getdate ()))
WHEN 'YTD' THEN ( [Arrival Date/Time] between _add_days(getdate (),((_day_of_year(getdate ())-
1)*-1)) and (getdate ()) AND [Departure Date/Time] between _add_days(getdate (),((_day_of_year(getdate ())-
1)*-1)) and (getdate ()))
END