2016-07-26 3 views
1

私は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: 

誰でもお手伝いできますか?

+0

?スパゴビサーバーやスタジオで?または.. ?? –

+0

スタジオで。私はこの問題を解決しました。私は "?"を渡さなければなりませんでした。リストボックスの文字列配列の最初の要素として、残りの要素を指定します。私はこのような例は見たことがありません。今私はサーバーにレポートを展開することに問題があります。 **パラメータ "CITYPARAM"の型は、 "java.lang.String"ではなく、 "Object []"と期待されています。**私の問題は、studioの私のパラメータがリストボックスとして設定されていることです。 beforeOpenスクリプトの典型的な置き換えが機能していないので、テキストボックスでこれを行う方法はわかりません。 「?」私のquerryの中で必要です。私はあなたがここにいることを嬉しく思いますmarc_s – LucasPG

+1

はい、あなたは正しいです。それはパラメータタイプのためです。 パラメータの型をStringに変更します。 beforeOpenスクリプトで、 'this.queryText = this.queryText +"とCUSTOMER.CITYを( "+ params [" cp "]。toString()。replace("; "、"、 "+") "' this私のために働いた。 –

答えて

2

こんにちは私は問題を解決することができました。ここに私のコードがあります:

var substring = "" ; 
var strParamValsSelected=reportContext.getParameterValue("citytext"); 
substring += "?," + strParamValsSelected ; 
this.queryText = this.queryText.replace("'xxx'",substring); 

私のパラメータの前に必要です。多分それは誰かを助けるでしょう。あなたのコメントをありがとうございました。あなたはSpagoBIサーバハイチャート(はJFreeChartエンジン)を使用している場合は

0

あなただけ(の$ P {param_urlを})を使用することができます。

ので、あなたのクエリはまた、次のようになります。レポートを実行でした

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 CUSTOMER.CITY in ($P{param_url}) 
関連する問題