このリクエストに基づく私のレポート:
select "Annee" ,"Diam", sum("Consommation") from "Consom_N","CptDim"
where "Annee" >= $P{a1} and "Annee" <= $P{a2}
and "Consom_N"."NumCpt"="CptDim"."NumCpt"and "District"= $P{dst}
and $X{IN, cast("Diam" as character varying), DiamRQn}
group by "Annee","Diam"
order by "Annee"
;
「Diam」フィールドは smallint です。問題はこの部分にあります
$X{IN, cast("Diam" as character varying), DiamRQn}
DiamRQn は、リクエストからの複数選択である制御入力によって使用されるパラメーターです。キャストを削除すると、次のように表示されます。
PSQLException: ERROR: operator does not exist : smallint = character varying
キャストすると ireport preview で正常に動作しますが、jasperserver では、選択されたものと選択されていないもののすべての値がチャートに表示されます。私が理解しているように、jasperserver の場合、キャストされた「diam」は常に「DiamRQn」コレクションに存在しますが、ireport ではすべて問題ありませんでした。
追加情報: DBMS: postgresql ireport バージョン: 5.0.1