私はSpagoBIで多値パラメータを作成しようとしています。SpagoBI多値パラメータ
最後の行が問題の原因と思われるデータセットクエリです。
select C."CUSTOMERNAME", C."CITY", D."YEAR", P."NAME"
from "CUSTOMER" C, "DAY" D, "PRODUCT" P, "TRANSACTIONS" T
where C."CUSTOMERID" = T."CUSTOMERID"
and D."DAYID" = T."DAYID"
and P."PRODUCTID" = T."PRODUCTID"
and _CITY_
私はこのようになりますされ、私のデータセットで開いているスクリプトの前に作成:
this.queryText = this.queryText.replace(_CITY_, " CUSTOMER.CITY in ("+params["cp"].value+") ");
私のパラメータは、文字列、表示タイプ動的リストボックスとして設定されています。
レポートを実行すると、そのエラーが発生します。
org.eclipse.birt.report.engine.api.EngineException: There are errors evaluating script "
this.queryText = this.queryText.replace(_CITY_, " CUSTOMER.CITY in ("+params["cp"].value+") ");
":
Fail to execute script in function __bm_beforeOpen(). Source:
誰でもお手伝いできますか?
?スパゴビサーバーやスタジオで?または.. ?? –
スタジオで。私はこの問題を解決しました。私は "?"を渡さなければなりませんでした。リストボックスの文字列配列の最初の要素として、残りの要素を指定します。私はこのような例は見たことがありません。今私はサーバーにレポートを展開することに問題があります。 **パラメータ "CITYPARAM"の型は、 "java.lang.String"ではなく、 "Object []"と期待されています。**私の問題は、studioの私のパラメータがリストボックスとして設定されていることです。 beforeOpenスクリプトの典型的な置き換えが機能していないので、テキストボックスでこれを行う方法はわかりません。 「?」私のquerryの中で必要です。私はあなたがここにいることを嬉しく思いますmarc_s – LucasPG
はい、あなたは正しいです。それはパラメータタイプのためです。 パラメータの型をStringに変更します。 beforeOpenスクリプトで、 'this.queryText = this.queryText +"とCUSTOMER.CITYを( "+ params [" cp "]。toString()。replace("; "、"、 "+") "' this私のために働いた。 –