複数のパラメータ値

ルドルフ

レポートパラメータから複数の値を渡そうとすると、BIRTに問題が発生します。

BIRT2.6.2とeclipseを使用しています。

カスケードパラメータグループの最後のパラメータ「JDSuser」から複数の値を入力しようとしています。パラメータは複数の値を持つことができ、リストボックスを使用しています。

これを可能にするために、テキストをjavascriptに置き換えるwhere-inステートメントを使用してSQLクエリを記述しています。そうしないと、BIRTsqlはレポートパラメータから複数の値を取得できません。

私のSQLクエリは

select jamacomment.createdDate, jamacomment.scopeId,
jamacomment.commentText, jamacomment.documentId,
jamacomment.highlightQuote, jamacomment.organizationId,
jamacomment.userId, 
organization.id, organization.name,
userbase.id, userbase.firstName, userbase.lastName,
userbase.organization, userbase.userName,
document.id, document.name, document.description,
user_role.userId, user_role.roleId,
role.id, role.name

from jamacomment jamacomment left join
userbase on userbase.id=jamacomment.userId
left join organization on
organization.id=jamacomment.organizationId
left join document on
document.id=jamacomment.documentId
left join user_role on
user_role.userId=userbase.id
right join role on
role.id=user_role.roleId

where jamacomment.scopeId=11
and role.name in ( 'sample grupa' )
and userbase.userName in ( 'sample' )

そして、beforeOpen状態のそのデータセットのJavaScriptコードは次のとおりです。

if( params["JDSuser"].value[0] != "(All Users)" ){
this.queryText=this.queryText.replaceAll('sample grupa', params["JDSgroup"]);
var users = params["JDSuser"];
//var userquery = "'";
var userquery = userquery + users.join("', '");
//userquery = userquery + "'";
this.queryText=this.queryText.replaceAll('sample', userquery);
}

さまざまな見積もりの​​バリエーションを試しましたが、これではエラーメッセージは表示されませんが、1つの値を選択するとデータベースからデータが取得されませんが、少なくとも2つの値を選択すると、最後に選択した値のデータが取得されます。

これらの追加の引用スクリプト行の1つをコメント解除すると、次のような構文エラーが発生します。

次の項目にエラーがあります。テーブル(id = 597):+処理中に例外が発生しました。詳細については、次のメッセージを参照してください。データセットのクエリ実行の準備に失敗しました:組織結果セットのメタデータを取得できません。org.eclipse.birt.report.data.oda.jdbc.JDBCException:SQLステートメントはResultSetオブジェクトを返しません。SQLエラー#1:SQL構文にエラーがあります。25行目の「rudolfs.sviklis」、「sample」) 'の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:SQL構文にエラーがあります。25行目の「rudolfs.sviklis」、「sample」) 'の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

また、私は実際の例から見てこれを行っていることをお伝えする必要があります。すべてが同じで、前のコードで同じ構文エラーが発生しました。同じことを行うこのスクリプトに変更しました。例はここにあります:http//developer.actuate.com/community/forum/index.php? / files / file / 593-default-value-all-with-multi-select-parsmeter /

誰かが私に少なくとも私が何をすべきかについての手がかりを与えることができれば、それは素晴らしいことです。

ドミニク

パラメータのvalueプロパティを常に使用する必要があります。

var users = params["JDSuser"].value;

「userquery」を引用符で囲む必要はありません。これらの引用符は、「sample」の周りのSQLクエリにすでに配置されているためです。さらに、userqueryが次の行でまだ定義されていないため、間違いがあります。

var userquery = userquery + users.join("', '");

これにより、クエリに「null」などの文字列が導入される可能性があります。したがって、userquery変数へのすべての参照を削除し、最後に次の式を使用するだけです。

this.queryText=this.queryText.replaceAll('sample', users.join("','"));

結合式の空白スペースを削除したことに注意してください。最後に、正常に機能したら、値がnullかどうかをテストして、レポート入力をより堅牢にする必要があります。

if( params["JDSuser"].value!=null && params["JDSuser"].value[0] != "(All Users)" ){
  //Do stuff...

}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

複数値パラメータssrs

分類Dev

プログラム的に複数値のパラメータ

分類Dev

複数の値を持つパラメーターPython

分類Dev

1つのパラメータで複数の値を渡す

分類Dev

IN() での複数値パラメータの使用

分類Dev

複数の関数パラメータ?

分類Dev

複数のパラメータ値ロジック

分類Dev

SSRS-複数値のパラメータ文字列操作

分類Dev

SSRSで複数の整数パラメータ値を渡す方法

分類Dev

mvn appengine:deploy の複数値パラメータ

分類Dev

同じパラメータで複数の値を送信する

分類Dev

.htaccessURLの複数のパラメータ

分類Dev

複数のパラメータの使用

分類Dev

複数のパラメータのGCD

分類Dev

AND複数のパラメータ

分類Dev

複数のフィルター値パラメーターを取得する

分類Dev

SSRSの複数値パラメーターによるフィルター

分類Dev

複数値パラメーターの選択数を制限するSSRS

分類Dev

配列のパラメータで複数の数値を渡す

分類Dev

複数値パラメータの選択された値を Tablix 行に表示

分類Dev

追加の制限がある複数のパラメーターのSQLServer Max()値

分類Dev

複数選択パラメータでのカスタム値の設定-SSRS

分類Dev

メソッドパラメータとして複数の値を渡す

分類Dev

$_get からの 1 つのパラメータの複数の値

分類Dev

SSRS-複数のパラメーター値に基づく複数のTablixフィルター

分類Dev

jMeterのパラメーターに複数の値を追加する方法

分類Dev

SSRS複数値パラメーターエラー

分類Dev

複数の値のパラメータでOracleのBITANDを使用する

分類Dev

Spring Boot JPA:同じパラメーターに複数の値を渡す(JPQL)

Related 関連記事

  1. 1

    複数値パラメータssrs

  2. 2

    プログラム的に複数値のパラメータ

  3. 3

    複数の値を持つパラメーターPython

  4. 4

    1つのパラメータで複数の値を渡す

  5. 5

    IN() での複数値パラメータの使用

  6. 6

    複数の関数パラメータ?

  7. 7

    複数のパラメータ値ロジック

  8. 8

    SSRS-複数値のパラメータ文字列操作

  9. 9

    SSRSで複数の整数パラメータ値を渡す方法

  10. 10

    mvn appengine:deploy の複数値パラメータ

  11. 11

    同じパラメータで複数の値を送信する

  12. 12

    .htaccessURLの複数のパラメータ

  13. 13

    複数のパラメータの使用

  14. 14

    複数のパラメータのGCD

  15. 15

    AND複数のパラメータ

  16. 16

    複数のフィルター値パラメーターを取得する

  17. 17

    SSRSの複数値パラメーターによるフィルター

  18. 18

    複数値パラメーターの選択数を制限するSSRS

  19. 19

    配列のパラメータで複数の数値を渡す

  20. 20

    複数値パラメータの選択された値を Tablix 行に表示

  21. 21

    追加の制限がある複数のパラメーターのSQLServer Max()値

  22. 22

    複数選択パラメータでのカスタム値の設定-SSRS

  23. 23

    メソッドパラメータとして複数の値を渡す

  24. 24

    $_get からの 1 つのパラメータの複数の値

  25. 25

    SSRS-複数のパラメーター値に基づく複数のTablixフィルター

  26. 26

    jMeterのパラメーターに複数の値を追加する方法

  27. 27

    SSRS複数値パラメーターエラー

  28. 28

    複数の値のパラメータでOracleのBITANDを使用する

  29. 29

    Spring Boot JPA:同じパラメーターに複数の値を渡す(JPQL)

ホットタグ

アーカイブ