2013-01-24 94 views
0

View of final report。我们目前正在使用MS SQL Server 2008 R2和SSRS 2008.我正在创建一个包含多个参数的报告,供用户将数据插入表中。SSRS 2008动态参数

  1. 被SP填满的Staff_Name。
  2. Client_Name基于SP中的Staff_Name选项填充。
  3. 用户将选择“新服务”选项或用户已经插入的服务。
  4. 用户输入要插入表中的数据的文本框和日期字段。

我想报告要做的是当用户选择'新服务'的文本框和数据字段将是空白的。如果用户选择他们已经创建的服务来更新字段(将新行插入表中并记录删除旧行)

我已经创建了用于基于第三种选择填充文本框和日期字段的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

你有多少个peraments。你是否尝试更新并从报告参数中输入数据到表中? – Hiten004

+0

你的其他问题http://stackoverflow.com/questions/14490200/ssrs-2008-cascading-parameters和这个问题是类似的吗? – Hiten004

+0

是的,我正试图解决它不同的方式,但我认为我将不得不做两件不同的报告来做我想做的事情。我是一名.net程序员,我们刚开始使用SSRS。在.net中,您可以即时填充字段(参数),但在SSRS中似乎并非如此。 –

回答

1

我会做这个(缩短您的例子一点点):

  1. 设置与选择“新建”或别的东西,第一个变量。我选择了文本,然后选择了“可用值”,我选择了“指定值”,并将标签和值设置为“新”和“不新”。我将变量名称设置为'Parm'。

  2. 设置一个数据集,其代码如上所述,但要确保数据条件是上面设置的变量的名称。致电此数据集'选择'

    If @Parm <> 'New' 
    Select 'I am not new' 
    else 
    select 'I am new' 
    
  3. 现在设置第二个参数。选择'可用值'并指定'从查询中获取值'。选择上面创建的数据集'Choices',并为两者选择给定的'ID'值。

您现在有一个DEPENDENT变量,其中的选择由您的首选逻辑决定。您可以根据需要更改数据集。