1

SSRS 2005 を使用しています。icVar という名前のレポート パラメータを作成しました。このフィルターをオプションにするにはどうすればよいですか。ユーザーがテキストボックスに何かを入力すると、入力内容に応じて結果が表示されますが、何も入力されていない場合は、すべてを表示するように処理されます。これは私のデータセットのクエリです。

SELECT PASS_M, ENTRY_DT, EXIT_DT, WORKED_HRS, ACCESS_LOCATION_X, IC_N, COMPANY_M,  
CONSECUTIVE_D
FROM TEMP_TARGET
WHERE (CONSECUTIVE_D >= @consecDays) AND (ENTRY_DT BETWEEN @startDate AND @endDate) AND
(ACCESS_LOCATION_X LIKE @accessVar) AND
(IC_N LIKE @icVAr) 

icVar にワイルドカード % を使用しています。そのため、ユーザーがそのフィルターに S123 を入力すると、レポートには S123 で始まる IC_N 値の結果が表示されます。何も入力されていない場合は、IC_N Like %(means all) と表示されます。

どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

2

式評価の短絡を使用するだけです。最初に Null をテストし、Null でない場合にのみ、式の次の部分を評価してテストしますLIKE(最後の行の条件を参照してください)。

SELECT PASS_M, ENTRY_DT, EXIT_DT, WORKED_HRS, ACCESS_LOCATION_X, IC_N, COMPANY_M, CONSECUTIVE_D
FROM TEMP_TARGET
WHERE (CONSECUTIVE_D >= @consecDays) 
AND (ENTRY_DT BETWEEN @startDate AND @endDate) 
AND (ACCESS_LOCATION_X LIKE @accessVar) 
AND ((@icVar IS NULL) OR (IC_N LIKE @icVAr))
于 2012-12-14T02:15:21.647 に答える