Concur / Cognos Report Studio: фильтр с опциями для таймфрейма, всегда использующий значения timepropmt? - PullRequest
0 голосов
/ 09 мая 2019

Я работаю с Concurs IBM Cognos интегрированным решением. Данные, с которыми я работаю, - это данные отчета о командировочных расходах. Моя цель этого отчета - создать страницу с подсказкой, которая позволит пользователю выбрать период, с которого отчет должен извлекать данные. Поскольку этот отчет также можно запланировать на регулярной основе, он должен включать в себя не только приглашение в отношении диапазона дат (или в этом случае два запроса в отношении дат), но также параметры относительных временных периодов, таких как «Прошлый год», «Последние 6 месяцев» и "Год до даты".

До сих пор я настроил страницу приглашения, используя два параметра dateprompts («TravelDateIntervallStart» и «TravelDateIntervallEnd») и два запроса значений. Только одна из этих подсказок значения относится к параметрам таймфрейма. Идея состоит в том, чтобы пользователь располагал подсказками даты для запуска специальных отчетов за определенный период времени. Подсказка значения («RelativeTimePrompt») должна затем предоставить опции для использования относительного периода времени в зависимости от того, когда запланирован запуск отчета, в дополнение к опции «SelectTimeFrame», где используются подсказки даты. Я настроил параметры соответственно в приглашении значения и построил фильтр следующим образом:

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] >= _add_years (current_date, -1) AND [Departure Date/Time] >= _add_years (current_date, -1))

WHEN 'Last6m' THEN ([Arrival Date/Time] >= _add_months (current_date, -6) AND [Departure Date/Time] >= _add_months (current_date, -6))

WHEN 'Year2Date' THEN (_year([Arrival Date/Time]) = _year (current_date) AND _year([Departure Date/Time]) = _year (current_date))

END

Если в запросе значения выбрано «Год до даты» («Год2Дата»), выдается ошибка:

"RQP-DEF-0177 Произошла ошибка при выполнении операции «sqlPrepareWithOptions» status = '- 126'. CAF-WRN-2082 Произошла ошибка. Пожалуйста, свяжитесь с вашим администратором. Полная ошибка была зарегистрирована CAF с SecureErrorID: "[некоторая дата и число]

Ofc Я погуглил ошибку, но не смог найти ничего подходящего в моем случае. Есть ли что-то очевидное, что может вызвать ошибку с фильтром «Год к дате»?

1 Ответ

0 голосов
/ 10 мая 2019

В новом отчете введите поля даты и выньте выражение фильтра из регистра. Так что просто _year([Arrival Date/Time]) = _year (current_date) AND _year([Departure Date/Time]) = _year (current_date), чтобы увидеть, если это все еще не удается.

Если это так, вы можете попробовать изменить его на:

extract(year,[Arrival Date/Time]) = extract(year, current_date) AND extract(year,[Departure Date/Time]) = extract(year,current_date)

или

extract(year,[Arrival Date/Time]) = #
timeStampMask($current_timestamp,'YYYY')
# AND extract(year,[Departure Date/Time]) = #
timeStampMask($current_timestamp,'YYYY')
#
...