过滤报告,其中包含相对日期的选项会引发错误

问题描述 投票:0回答:1

我正在为cognos report studio中的报告构建过滤器,该过滤器使用来自提示页面的参数。我们的想法是为将运行报告的用户提供指定开始日期和结束日期的选项(并且仅选择该时间范围内的商务旅行),并且还可以选择相应的时间范围,以防报告将被安排。

我有一些语法错误,我... ...,或者至少我是这么认为的。验证过滤器时,它甚至会打开提示页面,但在我选择一个值后,它会发出如下错误:

UDA-QOS-0006错误UDA-SQL-0219函数“getdate”用于本地处理,但不能作为内置函数使用,或者至少不支持其中一个参数

QE-DEF-0459 CCLException RQP-DEF-0177在执行操作'sqlPrepareWithOptions'state =' - 126'时发生错误。 UDA-SQL-0219函数“getdate”用于本地处理,但不能作为内置函数使用,或者至少不支持其中一个参数

RSV-VAL-0004无法找到项目海外总时数报告的查询信息。

显然,对报告中的每个数据项重复最后一个。我正在使用的Filter表达式如下:

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
report expression cognos cognos-10
1个回答
0
投票

“验证过滤器时” - 您实际上是在整个报告上运行“验证”功能。虽然该按钮位于“过滤器表达式”对话框中,但它与您当前正在查看的过滤器表达式无关。

按照列出的顺序记录错误。修复第一个错误通常会使所有其他错误消失。

  1. 查看报告认为仅限于本地处理的原因。
  2. 寻找找不到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)
© www.soinside.com 2019 - 2024. All rights reserved.