使用相对日期选项过滤报告会抛出错误
Filter for Report with options for relative Dates throws errors
我正在 cognos report studio 中使用提示页面中的参数为报表构建过滤器。
我们的想法是为将成为 运行 报告的用户提供指定开始日期和结束日期的选项(并且 select 仅指定该时间范围内的商务旅行)并且还可以选择 select设置相关时间范围,以防报告被安排。
我有一些语法错误,我...已解决,或者至少我是这么认为的。验证过滤器时,它甚至会打开提示页面,但在我 select 一个值后它会吐出错误,如:
UDA-QOS-0006 错误
UDA-SQL-0219 函数 "getdate" 正在用于本地处理,但作为内置函数不可用,或者至少其参数之一不受支持
QE-DEF-0459 CCLException
RQP-DEF-0177 执行操作 'sqlPrepareWithOptions' status='-126' 时出错。
UDA-SQL-0219 函数 "getdate" 正在用于本地处理,但作为内置函数不可用,或者至少其参数之一不受支持
RSV-VAL-0004 无法找到要报告的项目 Total Hours Abroad 的查询信息。
报告中的每个数据项显然都会重复最后一个。
我使用的过滤器表达式如下:
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
"When verifying the filter" -- 您实际上是 运行 整个报告的 "validate" 函数。虽然该按钮在过滤器表达式对话框中,但它与您当前查看的过滤器表达式无关。
按照错误列出的顺序来处理错误。修复第一个错误通常会使所有其他错误消失。
- 寻找报告认为仅限于本地处理的原因。
- 查找找不到的原因
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)
我正在 cognos report studio 中使用提示页面中的参数为报表构建过滤器。 我们的想法是为将成为 运行 报告的用户提供指定开始日期和结束日期的选项(并且 select 仅指定该时间范围内的商务旅行)并且还可以选择 select设置相关时间范围,以防报告被安排。
我有一些语法错误,我...已解决,或者至少我是这么认为的。验证过滤器时,它甚至会打开提示页面,但在我 select 一个值后它会吐出错误,如:
UDA-QOS-0006 错误 UDA-SQL-0219 函数 "getdate" 正在用于本地处理,但作为内置函数不可用,或者至少其参数之一不受支持
QE-DEF-0459 CCLException RQP-DEF-0177 执行操作 'sqlPrepareWithOptions' status='-126' 时出错。 UDA-SQL-0219 函数 "getdate" 正在用于本地处理,但作为内置函数不可用,或者至少其参数之一不受支持
RSV-VAL-0004 无法找到要报告的项目 Total Hours Abroad 的查询信息。
报告中的每个数据项显然都会重复最后一个。 我使用的过滤器表达式如下:
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
"When verifying the filter" -- 您实际上是 运行 整个报告的 "validate" 函数。虽然该按钮在过滤器表达式对话框中,但它与您当前查看的过滤器表达式无关。
按照错误列出的顺序来处理错误。修复第一个错误通常会使所有其他错误消失。
- 寻找报告认为仅限于本地处理的原因。
- 查找找不到的原因
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)