短い答え:いいえ。
より長い答え: BIRT には、単一のパラメーターが値の範囲を取ることを可能にするオプションがありません。
単一のパラメーターが複数の値を取ることを許可するオプションがありますが、ListBox パラメーターのみです。また、単一のレポート パラメーター値のみを特定のデータセット パラメーターにバインドできます。つまり、データセット クエリ内で複数のパラメーター値を選択することはできません (リレーショナル データソースを使用している場合)。代わりに、[データセットの編集] ダイアログの [フィルター] タブで、パラメーター値に基づいてデータセットにフィルターを追加する必要があります。(そして、これは、複数の値の範囲ではなく、パラメーターの複数の個別の値を指定することのみを許可します。)
(または、レポート パラメーターをデータセット パラメーターにバインドする代わりに、パラメーターの複数の値をデータセットのクエリ テキストに直接挿入する、データセットの beforeOpen イベント スクリプトを作成することもできます。ただし、これにより、レポートが次のリスクにさらされます。 SQL インジェクション攻撃. または、BIRT にプラグインを追加して、複数のパラメーター値をバインドすることもできます。)
したがって、オプションは次のとおりです。
- 複数の値を有効にして単一の ListBox パラメーターを設定し、ユーザーが必要な個々の値をすべて選択して、パラメーター値に基づいてデータセットをフィルター処理できるようにします (または、beforeOpen イベント スクリプトまたは BIRT プラグインを使用します)。
- 2 つのパラメーター (範囲の開始と終了) を設定して、ユーザーが選択する単一の値の範囲を指定できるようにし、レポート パラメーターをクエリ内の同等のデータセット パラメーターのペアにバインドします。
- n個のパラメーターのペアをセットアップして、ユーザーが選択する値の範囲をn 個まで指定できるようにし (たとえば、ユーザーが値の範囲を最大 5 個指定できるようにするには、10 個のパラメーターをセットアップします)、レポート パラメーターを同等のパラメーターにバインドします。クエリのデータセット パラメータ。
- 単一のテキストボックス パラメータを設定して、ユーザーが範囲を自由形式で入力できるようにします (例: の形式
[205..300],[501..607]
)。次に、データセットの beforeOpen イベント スクリプトを記述して、必要な範囲の入力されたパラメータ値を解析し、それに応じてクエリ テキストを修正します。
最後のオプションは、非常に多くの作業が必要であり、有効な値を指定するオプションが削除され、レポートがSQL インジェクション攻撃のリスクにさらされるため、強く推奨されていないことに注意してください。