。我们目前正在使用MS SQL Server 2008 R2和SSRS 2008.我正在创建一个包含多个参数的报告,供用户将数据插入表中。
我希望报告要做的是当用户选择“新服务”时,文本框和数据字段将为空白。如果用户选择他们已创建的服务来更新字段(在表中插入新行并记录删除旧行。)
我已根据第三种选择为要填充的文本框和日期字段创建了SP:
IF @ClientServiceId <> 'New%' BEGIN
SELECT
cc.Date_Service_Referral, cc.Ordering_Provider, cc.Provider_Specialty, cc.Provider_Contact, cc.Desc_of_Order,
cc.First_Scheduled_Date_Service, cc.Attendance_Confirmed, cc.Date_Record_New_Service_Receieved,
cc.Date_Record_Ordering_Provider_Confirmed, cc.Date_Record_PCP_Confirmed
FROM CCMT_Service_Referral_Tracking cc
WHERE cc.Client_Service_Id = @ClientServiceId
AND cc.RecordDeleted = 'N'
END
IF @ClientServiceId = 'New%' BEGIN
SELECT
NULL AS Date_Service_Referral, NULL AS Ordering_Provider, NULL AS Provider_Specialty, NULL AS Provider_Contact,
NULL AS Desc_of_Order, NULL AS First_Scheduled_Date_Service, NULL AS Attendance_Confirmed,
NULL AS Date_Record_New_Service_Receieved, NULL AS Date_Record_Ordering_Provider_Confirmed,
NULL AS Date_Record_PCP_Confirmed
END
将用户定义参数的值设置为SSRS的默认值似乎甚至在第三个参数更改后锁定参数并使用它作为可用值创建下拉列表将不允许用户输入数据。有没有办法对此进行编码,以便根据用户的第三选择填充参数或将其保留为空?
答案 0 :(得分:1)
我会这样做(稍微缩短你的例子):
设置第一个变量,选择&#39;新&#39;或者是其他东西。我选择了文字,然后选择了可用的值&#39;我选择了&#39;指定值&#39;并且放入&#39; New&#39;和&#39;不是新的&#39;标签和值相同。我将变量的名称设置为&#39; Parm&#39;。
使用上述代码设置数据集,但要确保数据条件是上面设置的变量的名称。调用此数据集&#39; Choices&#39;
If @Parm <> 'New'
Select 'I am not new'
else
select 'I am new'
现在设置第二个参数。选择“可用值”&#39;并指定“从查询中获取值”#39;选择您的数据集&#39;选择&#39;在上面创建并选择给定的ID&#39;两者的价值。
您现在有一个DEPENDENT变量,其选择由您的第一选择逻辑决定。您可以根据需要更改数据集。