我正在使用提示页面中的参数的cognos report studio中为报表构建过滤器。 这个想法是给将要运行报告的用户提供选项,以指定开始日期和结束日期(并仅选择该时间范围内的商务旅行),并且还具有选择相对时间范围的选项,以防出现报告将被安排。
我有一些语法错误,我已经解决了,或者至少我是这样认为的。验证过滤器时,它甚至会打开提示页面,但是在我选择一个值之后,它会吐出诸如以下错误:
UDA-QOS-0006错误 UDA-SQL-0219函数“ getdate”正在用于本地处理,但不能作为内置函数使用,或者至少不支持其参数之一
QE-DEF-0459 CCLException RQP-DEF-0177执行操作'sqlPrepareWithOptions'status ='-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
答案 0 :(得分:0)
“验证过滤器时”-实际上,您正在整个报表上运行“验证”功能。尽管该按钮位于“过滤器表达式”对话框中,但它与您当前正在查看的过滤器表达式无关。
按照列出的顺序处理错误。修正第一个错误通常会使其他所有错误消失。
Total Hours Abroad for Report
的原因。还,您是否考虑过简化案例陈述?
WHEN 'Last12m' THEN [Arrival Date/Time] >= _add_years (current_date, -1)
WHEN 'Last6m' THEN [Arrival Date/Time] >= _add_months (current_date, -6)
WHEN 'YTD' THEN _year([Arrival Date/Time]) = _year (current_date)