互联网服务商业智能cognos

做了一个带默认值的日期提示,问题有二

做了两个时间提示。一个是开始时间,一个结束时间。给开始时间一个JS 脚本,默认显示三个月前://设置默为三个月前的日期function subtractDay (){var dtToday = new Date();var strYesterday = [dtToday.getUTCFullYear(), dtToday.getMonth()-2, dtToday.getDate()].join("-...显示全部
做了两个时间提示。一个是开始时间,一个结束时间。给开始时间一个JS 脚本,默认显示三个月前:


结束时间默认为当前日期,如图:

shijian.jpg



问题1:我通过这两个时间过滤一个交叉表

过滤条件 [**].[时间].[时间].[年].[年 - 全称]<= ?et?
            [**].[时间].[时间].[年].[年 - 全称] >= ?st? 。明明两头都有等号,我过滤的时间都选在2014年,缺不显示2014年的数据,为什么?

问题2:我选择好时间段,点击完成提示按钮,刷新页面。开始时间就会恢复成3个月前,就是JS 的默认值。怎么能让其不没变。
P.S.客户要求初始页面时间提示必须是最近三个月的数据。。。收起
参与12

查看其它 10 个回答lyrath的回答

lyrathlyrath软件开发工程师IBM
回复 1# 小宝熊
第二个问题可以通过在html中引入 st 这个parameter 来做,思路是在初始运行report (这种情况下st 还没有被赋值)时, js 生效。

html item 的类型调成 Report Expression, 写成
if (ParamDisplayValue('st') is null)
then (
''
)

当用户自助选择起始时间并刷新后,因为st里有值了,所以js不会再生效。
互联网服务 · 2014-08-22
浏览875

回答者

lyrath
软件开发工程师IBM

lyrath 最近回答过的问题

回答状态

  • 发布时间:2014-08-22
  • 关注会员:1 人
  • 回答浏览:875
  • X社区推广