根据系统日期自动设定默认promt值

关于给报表里面的prompt设定动态默认值(比如当前月)的问题我之前也发过帖子,只不过是使用javascript来实现,而且无法避免的重复提交问题确实在大家应用当中带来了诸多不便,所以近期发现另外一条可以避开javascript的方法,遂于大家分享。首先需要明确的是此法只适用于类型为valu...显示全部


关于给报表里面的prompt设定动态默认值(比如当前月)的问题我之前也发过帖子,只不过是使用javascript来实现,而且无法避免的重复提交问题确实在大家应用当中带来了诸多不便,
所以近期发现另外一条可以避开javascript的方法,遂于大家分享。
首先需要明确的是此法只适用于类型为value prompt的过滤器,时间类型的不可以。举例说明,我们有个月份的prompt数据来自query(select month_id,month_name from period), 使用值为month_id(yyyymm),显示值为(month_name), 编辑month_id 表达式,if (month_id = to_char({sysdate},'yyyymm') then (999999) else (month_id). 然后给月份prompt设定默认值(default choice:999999),最后在列表上面的时间过滤条件里面这么写:if(?month? = 999999) then ([xxx].[time dimension].[month key] = to_char({sysdate},'yyyymm')) else ([xxx].[time dimension].[month key] = ?month?).
到此为止,就可以利用上述方法设定动态的默认值,从而避免了使用javascript带来的双重提交和其他不稳定因素的影响,谢谢。
收起
参与14

查看其它 12 个回答a2488857的回答

a2488857a2488857软件开发工程师highjet
等试试看看有无效果
互联网服务 · 2014-10-15
浏览1514

回答者

a2488857
软件开发工程师highjet
擅长领域: 大数据商业智能

a2488857 最近回答过的问题

回答状态

  • 发布时间:2014-10-15
  • 关注会员:1 人
  • 回答浏览:1514
  • X社区推广