2016-08-08 40 views
0

私は3つの単純なパラメータを持っています。すべてがテキストで、複数の値と空白の値が許されています。ユーザーが値を直接入力するようにするため、使用可能な値またはデフォルト値はありません。すべてのパラメータを空白のままにすると、ブランク値がないため、データは表示されません。ただし、パラメータに値が入力されていない場合は、すべてのデータを表示する必要があります。これどうやってするの?SSRS空白パラメータ

これは、あなたがNULL(またはブランク)を可能にするためにORを追加することができ、クエリが今どのように見えるか

SELECT [PROGRAMNO] 
     ,[ACCTNO] 
     ,[CLAIMNO] 
     ,[TOTALCHARGES] 
     ,[TOTALPAYMENT] 
     ,[TYPE] 
    FROM DATALINE 
WHERE PROGRAMNO IN (@PROGRAMNO) 
    AND ACCTNO IN (@ACCTNO) 
    AND CLAIMNO IN (@CLAIMNO) 

答えて

2

ある各条件の値 - によっては、パラメータで許可されているに。

WHERE (PROGRAMNO IN (@PROGRAMNO) OR @PROGRAMNO is null) 
    AND (ACCTNO IN (@ACCTNO) OR @ACCTNO IS NULL) 
    AND (CLAIMNO IN (@CLAIMNO) OR @CLAIMNO IS NULL) 

またはあなたの代わりに空白の値を許可している場合:

WHERE (PROGRAMNO IN (@PROGRAMNO) OR @PROGRAMNO = '') 
    AND (ACCTNO IN (@ACCTNO) OR @ACCTNO = '') 
    AND (CLAIMNO IN (@CLAIMNO) OR @CLAIMNO = '') 
0

複数値のパラメータは空白の入力を許可していません。したがって、空白の値を表す項目をドロップダウンリストに追加する必要があります。使用可能な値を手動で指定する場合は、単にこれをリストに追加します。値は空白になり、ラベルは「空白」または「N/A」のようになります。使用可能な値を入力するためにクエリを使用している場合は、UNIONこの空白値を他の結果に設定する必要があります。いずれにしても、ハノーファー・フィスト氏が指摘しているように、メイン・データセットのWHERE句でこれを考慮する必要があります。