将值从一个参数传递给另一个参数

时间:2020-01-14 11:07:35

标签: sql reporting-services ssrs-2012

我正在SSRS中创建报告。查询工作正常。如果我对输入值进行硬编码,我会得到结果。

现在,我添加了三个参数:

  1. YearMonths
  2. SUGName
  3. 收藏


  1. YearMonths-数据直接来自SQL查询。没问题。
  2. SUGName-

    select cia.AssignmentID,CIA.Collectionid, concat(grp.Title,' -- ', CIA.CollectionName) as deploymentName from
        v_CIAssignment cia
              inner join v_CIAssignmentToGroup  atg on cia.AssignmentType=5 and atg.AssignmentID=cia.AssignmentID
              inner join v_AuthListInfo grp on cia.AssignmentType=5 and grp.CI_ID=atg.AssignedUpdateGroup
     where concat(datepart(yyyy, grp.DateCreated), '-', RIGHT('0' + RTRIM(MONTH(grp.DateCreated)), 2)) = @YearMonths
      Order By grp.Title desc
    

    这也可以。

  3. 收藏-

    select cia.AssignmentID,CIA.Collectionid, concat(grp.Title,' -- ', CIA.CollectionName) as deploymentName from
        v_CIAssignment cia
              inner join v_CIAssignmentToGroup  atg on cia.AssignmentType=5 and atg.AssignmentID=cia.AssignmentID
              inner join v_AuthListInfo grp on cia.AssignmentType=5 and grp.CI_ID=atg.AssignedUpdateGroup
      where cia.AssignmentID = @SUGName
      Order By grp.Title desc
    

    它不起作用并且给出了错误。查询工作正常。我通过手动输入SUGName进行了检查。

    以下是我遇到的错误。

    System.Web.Services.Protocols.SoapException: 查询参数“ @SUGName”的值表达式表示不存在的报告参数“ SUGname”。参数名称中的字母必须使用正确的大小写。

1 个答案:

答案 0 :(得分:0)

SSRS中的参数引用区分大小写。在查询中引用参数时,请确保主查询中的 SUGName 大小写相同。