Javascript 动态报表参数
这个报告现在已经开始工作了,但是在params[“select month”]中,我静态地给出了2012年1月、2012年2月……等等,所以在打开之前,我写了脚本,提到了likeJavascript 动态报表参数,javascript,birt,Javascript,Birt,这个报告现在已经开始工作了,但是在params[“select month”]中,我静态地给出了2012年1月、2012年2月……等等,所以在打开之前,我写了脚本,提到了likeselectedDate=new Date(2012,params[“select month”]-1,1)…现在可以动态更改它…如果年份更改参数[“选择月份”]必须更改如何执行此操作,有人可以在这方面提供帮助 mysql: SELECT YEAR (CLASSICMODELS.PAYMENTS.PAYM
selectedDate=new Date(2012,params[“select month”]-1,1)代码>…现在可以动态更改它…如果年份更改参数[“选择月份”]
必须更改如何执行此操作,有人可以在这方面提供帮助
mysql:
SELECT
YEAR (CLASSICMODELS.PAYMENTS.PAYMENTDATE) AS YEARNUMBER,
MONTH (CLASSICMODELS.PAYMENTS.PAYMENTDATE) AS MONNUMBER,
SUM (CLASSICMODELS.PAYMENTS.AMOUNT) AS MONTOTAL
FROM
CLASSICMODELS.PAYMENTS
WHERE
(YEAR(CLASSICMODELS.PAYMENTS.PAYMENTDATE) = p11
AND MONTH(CLASSICMODELS.PAYMENTS.PAYMENTDATE) = p12)
OR
(YEAR(CLASSICMODELS.PAYMENTS.PAYMENTDATE) = p21
AND MONTH(CLASSICMODELS.PAYMENTS.PAYMENTDATE) = p22)
GROUP BY
YEAR (CLASSICMODELS.PAYMENTS.PAYMENTDATE),
MONTH (CLASSICMODELS.PAYMENTS.PAYMENTDATE)
ORDER BY 1,2
在打开方法之前的数据集中:
selectedDate = new Date(2012,params["select month"] - 1, 1);
if(params["period"] == "last month")
{
pastDate = new Date(2012,params["select month"] - 2, 1);
}
else
{
pastDate = new Date(2011,params["select month"] - 1, 1);
}
this.queryText = this.queryText.replace("p11","2012");
this.queryText = this.queryText.replace("p12",params["select month"].toString());
this.queryText = this.queryText.replace("p21",BirtDateTime.year(pastDate).toString());
this.queryText = this.queryText.replace("p22",BirtDateTime.month(pastDate).toString());
因此,如果“period”是“last month”,则您希望查询返回2012年选定月份及其之前月份的数据,否则您希望查询返回2012年选定月份以及2011年选定月份的数据。但你的问题到底是什么?是的,如果“period”是“last month”,我想返回参数[“select month”]选中的周月份的数据,如果“period”是“last Year”,我想返回参数[“select month”]选中的周年份的数据,例如,如果我选择参数params[“select month”]是2012年1月,周期类似于“last month”我希望查询返回2011年12月的前一个月,比如wise for year,还有一个原因可以解释为什么你不能做一些事情,比如if(params[“select month”]==0){pastDate=new Date(2012-1,11,1)}或者{……你拥有的东西……}?一般注意事项:不要在变量名中使用空格。如果我这样做,则不能使用空格