Passing values for multi-value parameter in SSRS query string

后端 未结 3 1584
闹比i
闹比i 2021-02-09 23:17

I have two reports built using SSRS 2005. The first report is set to navigate to the second when a specific field is clicked. I am using an expression similar to the following

相关标签:
3条回答
  • 2021-02-09 23:20

    Use join(Parameters!<name>.Value,"&<param_name>=") in the url for multivalued parameters.

    If you are passing these parameters into a dataset you need to do a join(Parameters!<param name>.Value) when you pass the parameter in and then use a split function in SQL. This one works well:

    ALTER FUNCTION [dbo].[fnSplitParam]
       (@RepParam nvarchar(4000), @Delim char(1)= ',')
    RETURNS @Values TABLE (Param nvarchar(4000))AS
      BEGIN
      DECLARE @chrind INT
      DECLARE @Piece nvarchar(100)
      SELECT @chrind = 1 
      WHILE @chrind > 0
        BEGIN
          SELECT @chrind = CHARINDEX(@Delim,@RepParam)
          IF @chrind  > 0
            SELECT @Piece = LEFT(@RepParam,@chrind - 1)
          ELSE
            SELECT @Piece = @RepParam
          INSERT  @Values(Param) VALUES(CAST(@Piece AS VARCHAR))
          SELECT @RepParam = RIGHT(@RepParam,LEN(@RepParam) - @chrind)
          IF LEN(@RepParam) = 0 BREAK
        END
      RETURN
      END
    

    I recommend using the single valued method if the end user does not have to select the parameters directly since it saves you 2 characters per parameter in the url.

    0 讨论(0)
  • 2021-02-09 23:35

    Just add additional query string parameters.

    For example, to pass the parameters

    Date:       2009-06-01
    MachineID:  Machine1, Machine2, Machine3, Machine4
    

    to a report named Folder\MyReport on a server named server, you would use the URL:

    http://server/reportserver?%2fFolder%2fMyReport&rs:Command=Render&Date=2009-06-01&MachineId=Machine1&MachineId=Machine2&MachineId=Machine3&MachineId=Machine4
    
    0 讨论(0)
  • 2021-02-09 23:45

    I've been trying to do a similar thing to OP, and found putting this &rp:mySelectAllParameter=<ALL> in the url works to select all

    0 讨论(0)
提交回复
热议问题