COGNOS RS如何用JS设定默认年,季节
0
如题 如何用JS设定值提示默认为上个季度
共两个值提示分 年、季
求具体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脚本问题 还是过滤器问题 ;
万分感谢
共两个值提示分 年、季
求具体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脚本问题 还是过滤器问题 ;
万分感谢
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
2 个回复
华青莲 - 鸡血!!! 2015-10-09 回答
赞同来自:
贝克汉姆 - 高级数据仓库工程师,拥有丰富的数据治理实践经验 2015-10-10 回答
赞同来自:
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>