【问题标题】:SSRS 2008 dynamic ParametersSSRS 2008 动态参数
【发布时间】:2013-01-24 19:43:15
【问题描述】:

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

  1. 用 SP 填充的 Staff_Name。
  2. 根据 SP 中的 Staff_Name 选择填充的 Client_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 的默认值似乎会锁定参数,即使在第三个参数更改并将其用作可用值后,也会创建一个下拉列表,不允许用户输入数据。有没有办法对此进行编码,以便根据用户的第三选择填充参数或将它们留空?

【问题讨论】:

  • 你有多少表演。您是否尝试从报告参数更新数据并将其输入到表格中?
  • 你的另一个问题stackoverflow.com/questions/14490200/…和这个问题差不多吧?
  • 是的,我正在尝试以不同的方式解决它,但我认为我将不得不制作两个不同的报告来做我想做的事。我是一名 .net 程序员,我们刚刚开始使用 SSRS。在 .net 中,您可以即时填充字段(参数),但在 SSRS 中似乎并非如此。
  • 准备好了吗?看看这个链接有 Alternative SSRS Front-ends stackoverflow.com/questions/5272753/alternative-ssks-front-ends

标签: sql-server-2008-r2 ssrs-2008


【解决方案1】:

我会这样做(稍微缩短你的例子):

  1. 设置第一个变量,选择“新建”或其他选项。我选择了文本,然后对于“可用值”,我选择了“指定值”并输入“新”和“非新”,标签和值相同。我将变量名设置为“Parm”。

  2. 使用上述代码设置数据集,但确保数据条件是上面设置的变量的名称。将此数据集称为“选择”

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多