Cognos-11 Date Prompts 如何添加过去8周数据过滤条件
Cognos 过去8周自动报表过滤配置步骤
1. 替换日期过滤代码
直接在原有的日期过滤逻辑中新增Last8Weeks判断分支,完整代码如下:
-- 起始日期计算 case when ?p_DateCat? = 'EnteredDates' then case when ?p_StartDate? <> current_date then ?p_StartDate? else _add_days (current_date, -1) end when ?p_DateCat? = 'Yesterday' then _add_days (current_date, -1) when ?p_DateCat? = 'ThisWeek' then _add_days (current_date, 1-(_day_of_week (current_date, 1))) when ?p_DateCat? = 'ThisMonth' then _add_days (current_date, 1-(_day (current_date))) when ?p_DateCat? = 'LastMonth' then _add_months (_first_of_month (current_date), -1) when ?p_DateCat? = 'Last8Weeks' then _add_days(_add_days(current_date, 1-(_day_of_week(current_date, 1))), -56) end and -- 结束日期计算 case when ?p_DateCat? = 'EnteredDates' then case when ?p_EndDate? <> current_date then ?p_EndDate? else _add_days (current_date, -1) end when ?p_DateCat? = 'Yesterday' then _add_days (current_date, -1) when ?p_DateCat? = 'ThisWeek' then _add_days (current_date, -1) when ?p_DateCat? = 'ThisMonth' then _add_days (current_date, -1) when ?p_DateCat? = 'LastMonth' then _last_of_month(_add_months (current_date, -1)) when ?p_DateCat? = 'Last8Weeks' then _add_days(current_date, -1) end
上述代码默认以周一为每周第一天,统计范围为8周前的周一至运行日的前一天(上周周日),如果你的周统计规则不同,可自行调整加减天数的数值。
2. 配套配置
- 你新增的「Last 8 weeks」提示按钮,需要将其静态选项的返回值设置为
Last8Weeks,和代码中的判断值完全一致即可手动选择生效 - 配置每周一自动运行的调度任务时,将参数
p_DateCat的默认值指定为Last8Weeks,无需人工选择参数即可自动取过去8周数据运行报表
内容的提问来源于stack exchange,提问作者Benedict Hawley
相关产品推荐
相关产品推荐

