COGNOS RS如何用JS设定默认年,季节

0
如题 如何用JS设定值提示默认为上个季度  
共两个值提示分  年、季

6666.png

求具体JS写法  及过滤器写法 
JS纯小白
还是没解决  补充下:
年份季度下拉框分名称分别为:C_START_YEAR,C_START_QUATER  所用参数分别为:M_START_YEAR,M_START_QUATER
html项中代码如下:
<script>
var form=getFormWarpRequest();
var dropdown=form._oLstChoicesC_START_YEAR;
dropdown.remove(1);
dropdown.remove(0);
dropdown.removeAttribute("hasLabel");


var dropdown2=form._oLstChoicesC_START_QUATER;
dropdown2.remove(1);
dropdown2.remove(0);
dropdown2.removeAttribute("hasLabel");


var Nowdate=new Date();   
var Nowyear= Nowdate.getYear();
var Nowmonth=Nowdate.getMonth();
var strPreQuater;
var strYear;
if(Nowmonth<=3)
{
    strYear=Nowyear-1;
    strPreQuater=4;
}
else if 
(3<Nowmonth<7)
{
   strYear=Nowyear;
   strPreQuater=1;
}
else if
(6<Nowmonth<10)
{
  strYear=Nowyear;
   strPreQuater=2;
}
else
{
   strYear=Nowyear;
   strPreQuater=3;
}
var table = document.getElementById("myTable");
if(table.childNodes[0].childNodes[0].innerText == ''){
    dropdown2.options[strYear].selected=true;
    dropdown4.options[strPreQuater].selected=true;


}
//alert(table.childNodes[0].childNodes[0].innerText );
</script>


过滤器中代码如下:
[季度维度].[季度].[季].[QUARTERID] = #prompt('M_START_YEAR','string','to_char(add_months({sysdate}, -3), ''YYYY'')')#||#prompt('M_START_QUATER','string','to_char(add_months({sysdate}, -3), ''Q'')')#

并未实现默认上一季度 
请问问题出在哪里  ;是JS脚本问题  还是过滤器问题  ;
万分感谢
已邀请:
0

华青莲 - 鸡血!!! 2015-10-09 回答

0

贝克汉姆 - 高级数据仓库工程师,拥有丰富的数据治理实践经验 2015-10-10 回答

这个是很简单的JS,思路:
1、得到当前日期值,分别获取年份、季度
2、组件下拉值匹配:年份、季度
<script language="javascript">
       var form = getFormWarpRequest();
       var dropDown  = form._oLstChoices_VPmtYear;
       var dtToday = new Date();
       var dtYear={获取年份};

       dropDown.remove(1);
       dropDown.remove(0);
       dropDown.removeAttribute("hasLabel"); 
       for(int i=0;i<dropDown.length-1;i++){
         if (dropDown.options[i].text=dtYear) dropDown.options[i].selected=true;      
      }
  </script>

要回复问题请先登录注册