我已尝试过以下java脚本代码,但它在COGNOS 11中无效。
<script language="javascript">
var dDate = new Date();
dDate.setDate(dDate.getDate()-1);
pickerControlName.setValue(getFormatDate(dDate, 0 , 'YMD'));
</script>
还有其他方法可以将其设置为默认值吗?
答案 0 :(得分:0)
您没有使用Cognos Prompt API。您可以在此处查看有关如何使用API执行操作的教程:Setting Prompt Defaults Dynamically
答案 1 :(得分:0)
我尝试用JS实现这个,但是我建议使用基础认知过滤器屏幕。尝试以下内容。
1)为日期提示'DATE_FILTER'指定参数名称。因此,在查询资源管理器 - 详细信息过滤器上,您可以强制转换(YOUR_DATE_FIELD,日期)=?DATE_FILTER?。
注意 - 使用可选。
2)现在创建名为'START_DATE' AND 'END_DATE'的2个数据项。
START_DATE表达式:
#prompt('DATE_FILTER','date','null')#= null然后cast(_add_days(current_date,-1),date)else cast(_add_days(current_date,-30000),date)end
END_DATE表达式:
#prompt('DATE_FILTER','date','null')#= null然后强制转换(_add_days(current_date,-1),date)的情况另外强制转换(_add_days(current_date,30000),date)结束< / b>
3)然后在下面添加摘要过滤器表达式:
在[START_DATE]和[END_DATE]之间投放([YOUR_DATE_FIELD],日期)
这应该产生类似于 GROUP BY YOUR_DATE_FIELD
具有TRUNC(YOUR_DATE_FIELD)= SYSDATE-1 的效果,当参数'DATE_FILTER'为空。
您也可以通过直接将#prompt()#子句插入到手动SQL中来实现这一目的。
答案 2 :(得分:0)
我是Cognos javascript的新手,需要动态设置日期提示。我找到了一种方法。
如果您将代码更改为如下所示:
selenium2:
capabilities: { "browserName": "chrome", "browser": "chrome", 'chrome': {'switches':['--no-sandbox']}}
browser: chrome
这在Cognos 11中对我有用。我使用的是“ .js模块”方法而不是“ HTML项”方法