请帮我在我的报告中传递一个输入参数,以便我可以使用带有参数的多选查询。
在我的报告中,我正在使用$x{IN,ADMIN1,admins}
但得到
错误:参数 admins 的 java.lang.string 类型错误,admins 应该是一个数组或集合。
mysql查询:
Select ADMIN1,WEEK1,WEEK2,WEEK3,(((WEEK3-WEEK2)/WEEK2)*100) as percentage_change, (WEEK3-
WEEK2) as MSU_Difference,SUMWEEK2,SUMWEEK3,SUMWEEK,WEEK4,WEEK5,(((WEEK5-WEEK4)/WEEK4)*100)
as percentage_change_PRE,admin,ORGNo,OrgAbbr,msus from ((select admin as ADMIN1, sum(msu)
as WEEK1 from sccp_raw where dt >= date_sub(date($P{start_date}), INTERVAL 14 DAY) and dt
< date_sub(date($P{end_date}), INTERVAL 13 DAY) group by admin order by WEEK1) as
q1,(select admin as ADMIN2, sum(msu) as WEEK2 from sccp_raw where dt >=
date_sub(date($P{start_date}), INTERVAL 7 DAY) and dt < date_sub(date($P{end_date}),
INTERVAL 6 DAY) group by admin order by WEEK2) as q2,(select admin as ADMIN3, sum(msu) as
WEEK3 from sccp_raw where dt between $P{start_date} and $P{end_date} group by admin order
by WEEK3) as q3,(select sum(msu) as SUMWEEK2 from sccp_raw where dt >=
date_sub(date($P{start_date}), INTERVAL 7 DAY) and dt < date_sub(date($P{end_date}),
INTERVAL 6 DAY))as q4,(select sum(msu) as SUMWEEK3 from sccp_raw where dt >=
date_sub(date($P{start_date}), INTERVAL 14 DAY) and dt < date_sub(date($P{end_date}),
INTERVAL 13 DAY))as q5,(select sum(msu) as SUMWEEK from sccp_raw where dt BETWEEN
$P{start_date} and $P{end_date})as q6,(select sum(msu) as WEEK4 from sccp_raw where dt >=
date_sub(date($P{start_date}), INTERVAL 372 DAY) and dt < date_sub(date($P{end_date}),
INTERVAL 371 DAY)) as q7,(select sum(msu) as WEEK5 from sccp_raw where dt >=
date_sub(date($P{start_date}), INTERVAL 365 DAY) and dt < date_sub(date($P{end_date}),
INTERVAL 364 DAY)) as q8,(select sum(msu) as MSU from sccp_raw where dt between
$P{start_date} and $P{end_date}) as q9,(select a.dt,a.admin,b.ORGNo, b.OrgAbbr, sum(a.msu)
as msus from sccp_raw a left join (select ORGNo, ADMINS, OrgAbbr from orig) b on
a.admin=b.ADMINS where a.dt between $P{start_date} and $P{end_date} group by a.admin)as
q10) where $X{IN,ADMIN1,admins} and ADMIN1=ADMIN3 and ADMIN2=ADMIN3 and admin=ADMIN3
group by ADMIN1 order by WEEK3 desc;
参数配置:
parameter "admins":
class: `java.util.Collection`
Default Value Expression: "select admin from sccp_raw group by admin"
还可以帮助我了解是否要创建此下拉列表以选择为“所有管理员”,然后选择管理员列表。