@vConsultant というパラメーターがあり、これをストアド プロシージャと SSRS レポートで使用しています。パラメータは、次のクエリによって設定されるドロップダウン メニューです。
select distinct c.nameConsultant
from dataTable d
left join consultants c on d.nameConsultant= d.recID
「dataTable」は、コンサルタントの ID を格納するメインのデータ テーブルです。Consultants は、名前を格納するテーブルです。
問題: dataTable では、コンサルタントはオプション フィールドです。また、レポートでは、SSRS ドロップダウンで選択したコンサルタントだけでなく、NULL 値 (ユーザーがコンサルタントを指定しなかった場合) も表示する必要があります。ただし、「NULL」は SSRS のドロップダウン メニューの値として表示されません。
ストアド プロシージャで NULLS を返したい場合は、where 句を使用します。だから...私のprocは:
CREATE PROCEDURE [dbo].[spReportProc] 
@vConsultant varchar(max) 
AS
BEGIN
    --Get comma-delimited list of consultants to allow SSRS multi-value select.
    Select @vConsultant = ',' + @vConsultant + ','
    create table #Consultant
        (
            nameConsultant varchar(1000)
        )
    Insert Into #Consultant 
    Select  nameConsultant
    From consultants
    Where @vConsultant Like  '%,' + nameConsultant ',%'
    And classification = 'Implementation Consultant'
    Group By nameConsultant
    Select * From dataTable d
    left join consultants c on d.nameConsultant= d.recID
    Where 
    @vConsultant Is NULL Or @vConsultant Like '%,' + i.firstName + ' ' + i.lastName + ',%') 
END
ただし、この方法で NULL を指定しても、SSRS では認識されません。SSRSドロップダウンの一部として実際にNULLを指定せずに、SSRSでNULL値を許可する方法はありますか? SSRS で [Allow Null] および [Allow Blank] チェック ボックスをオンにしてみましたが、どちらも機能しません。
さらに説明が必要な場合はお知らせください。ありがとう!