我正在使用IBM Cognos集成解决方案。我正在使用的数据是差旅费用报告数据。我对此报告的目标是拥有一个提示页面,允许用户选择报告应从中提取数据的时间范围。 由于此报告也可以安排为定期运行,因此它不仅应包括日期范围提示(或在这种情况下为两个日期提示),还应包括相对时间范围的选项,例如“去年”,“过去6个月”和“ “迄今为止”。
到目前为止,我已经使用两个日期提示(“ TravelDateIntervallStart”和“ TravelDateIntervallEnd”)和两个值提示设置了提示页面。但是,这些值提示中只有一个与时间范围选项相关。 想法是使日期提示到位,以便用户在特定时间范围内运行临时报告。 然后,除了使用日期提示的“ SelectTimeFrame”选项之外,值提示(“ RelativeTimePrompt”)还应提供选项,以根据报表的计划运行时间使用相对时间范围。我已经在值提示中相应地设置了选项,并构建了如下的过滤器:
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
在值提示中选择“年初至今”(“ Year2Date”)时,则会引发错误:
“ RQP-DEF-0177 执行操作'sqlPrepareWithOptions'status ='-126'时发生错误。 CAF-WRN-2082发生错误。请与您的管理员联系。 CAF已使用SecureErrorID记录了完整的错误:“ [一些日期和数字]
Ofc我用Google搜索了该错误,但找不到适合我的情况的任何内容。是否有明显的原因可能会导致“年初至今”过滤器出现错误?
答案 0 :(得分:0)
在新报告中,输入日期字段,并从案例中删除过滤器表达式。因此,只需_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')
#