2017-09-22 6 views
1

私のSSRS 2008 R2レポートでは、複数値の@Statusパラメータがあります。これは、データセットです:SSRS 2008 R2: '、'の近くの条件が想定されるコンテキストで指定された非ブール型の式

私のメインReportDataデータセットで
SELECT 1 AS ID, Description 
FROM [ApplicationStatus] 
WHERE StatusID IN (5, 6, 11, 14) 
UNION 
SELECT 2 AS ID, Description 
FROM [ApplicationStatus] 
WHERE StatusID IN (10) 

私は次のフィルタを持っている:

WHERE ((@Status IN (1) AND a.StatusID IN (5, 6, 11, 14)) 
OR (@Status IN (2) AND a.StatusID IN (10))) 

@statusドロップダウンに値として1と2のどちらかを選択する際にレポートが正常に実行さ( 'すべて選択')オプションを選択すると、次のエラーメッセージが表示されます。

データセット 'ReportData'のクエリの実行に失敗しました。条件が期待される文脈で指定された の非ブール型の式は、 '、'の近くの です。

+0

sql server multi value add selectすべてのオプションではなく、単純なドロップダウンメニューを使用してレコードをフィルタリングすることができます –

答えて

3

複数の値は@Statusにあるため、@statusはINの後にする必要があります。

WHERE ((1 IN (@Status) AND a.StatusID IN (5, 6, 11, 14)) 
OR (2 In (@Status) AND a.StatusID IN (10))) 
関連する問題