How do you set “(Select All)” as the default for multi-value parameters in Reporting Services?

The short answer is that you can’t, although there is a workaround. Essentially, “(Select All)” as implemented in Reporting Services simply does this:

if (all parameter values/members are already selected)


deselect all values/members




select all values/members



You can still get the behavior you want however, assuming that your parameter values are query-based. If you populate your parameter list with a dataset, just use the same dataset to set your default values. This technique will work regardless of whether you’re dealing with SQL or SSAS.

In the attached example RDL the “technique” is demonstrated for both a SQL and SSAS-based data source. (You’ll need the AdventureWorks database and cube samples installed)


Comments (23)

  1. bob press says:

    is there any way to pass ‘All’ as a parameter to an MDX query in SSRS?

  2. bob press says:

    HI – I am pass ing the qualified member name:


    to a report. This works fine, delivering all regions. However, when I click on a cjart in this report to pass this parameter along with otheres, the next report sees only the first member of the region group. Any ideas?


  3. Does your other report except multi-value parameters? If so, you’ll need to pass the entire "array" of values you’ve selected in the first report do it using either split() or join(). I think there is a thread out on the MSDN forums by one of the developers that explains the whole situation. Try searching there on "split, join, and subreport"

  4. Thanks for this solution. One point to add – if you find that RS is still not showing your default value as ‘Select All’, check your dataset for null values. If it contains a null value, but your report parameter is set to not allow nulls, RS will revert to not selecting any values by default.

  5. Madhavi says:

    Thanks u so much. the given example is very suitable to my prob. i have another query with the continuation of above solution.

    Query: in the report field using join() i am retriving all the selected parameter values but for each and every row all values are getting. instead of this the related values only retrieve.

    Example: Player played balls in cricted match

    for player1 – 1,3,5 balls

    for player2 – 2,8 balls

    Like this all the selected balls should split based on player.

    can any one resolve this issue.

    Thanks in advance

  6. Mikey Mileos says:


    In your current situation you will have a query that populates all the players and a query that populates the balls (with all the balls).

    What you need is a 3rd query that takes the players as a param and only gives you the balls that are the defaults for the players, so if they enter player2, it only returns 2 and 8, and player1 returns 1,3,5.

    Then what you do is set the available values with the original balls query, and set the default values with the new query that only selects the default ones.

    This should then show all balls in the list but only select the ones that are defaults.



  7. James says:

    I have tried this solution and IT SIMPLY NOT WORKING. No matter how many times I try setting the default value to the SAME!!!  dataset as the available values, it’s NOT selecting everything. God I’m pissed off.

  8. This is still not working. Anybody will solve this problem????

  9. This is still not working. Anybody will solve this problem????

  10. polczym says:

    Although this works initially, the results are cached and this creates a problem.  For example, if you have all of 10 items selected, then list a subset of those 10, say for example 5 of 10, all 5 will be correctly selected. But when you go back to list all 10 items, only the 5 that were selected in the last request will be selected.

    This should be an easy bug to fix Microsoft !! It is really an annoyance.

  11. Ann says:

    Worked like a charm – thank so much!

  12. polczym says:

    Almost 10 months have passed and I still haven’t seen a viable solution.  I see a lot of workarounds for various examples, but the problem still exists.  I did see a hint though. When I added a second record with the same values (UserID, 1) and (UserID, 1), the first UserID value was selected correctly, but the second one wasn’t.  Hmmm.

  13. Kasim says:

    In reports when we want to default the multivalue parameter to 'Select All' following are the steps.

    1. Open the Report parameter window from the Report menu.

    2. Select the Report parameter from the left handside of the window.

    3. Select 'Multi-value' checkbox and appropriate 'Available values'.

    4. Under default values select 'From Query' radio button'.

    5. Select the appropriate 'Dataset'.

    6. Select appropriate 'Value Field'.

    7. Save the Report and select Preview Tab. You will find all the items selected in the multivalue parameter list and the result displayed for all the selected items.

  14. Andrew says:

    Thank you for your solution. Very useful.

  15. Harshad K says:

    SSRS 2008 is simplistically wonderful in these matters.

    1) To Select All values of a parameter set the default values to the specific value field (usually the ID field) of the dataset. For the same parameter the available values can be set in the same way.


    Dataset = Customers

    Label = CustomerName

    Value = CustomerGUID

  16. Richard says:

    I am having the same problem with "All" only returning the first item on the list. This is in a very simple chart. The parameter is Business Unit, and there are only two business units. The filter is set to use the parameters. The content for the parameters is from a sql query. I get the list, with those nasty check boxes, and it returns ONLY the first one on the list if I choose "All".

    Does anyone else have this issue? How do you fix it?

  17. Kevin says:

    I have the same problem! only the first value of the multiple of values is returned eventhough "ALL" is selected

  18. Jonathan Camenisch says:

    Apparently, the default value needs to be an array of the appropriate type. For a static set of string values, I was able to get this expression to do the job:


    That seems like a silly way to return an array, but it's the first thing I found that works. Fortunately, I didn't need integers or any other non-string type.I even searched a bit for a direct way to specify an array in an SSRS expression. Behold, it seems to be impossible or just not common enough to appear on Google's first few pages.

    Welcome to the stone age of expression languages.

  19. Microsoft suks says:

    it is simply greed and ignorance that makes this so hard to do, it is poor software combined with a urgency to push your software to release because of all that money waiting. OH BILL GATES aren't you rich enough already to release good software?

  20. Med says:

    Thanks..very simple solution by Kassim.

  21. Joel Skrepnek says:

    For a multi-select scenario:

    – create a dataset for your filter that selects a label and an ID field for its query

    – create a multi-select parameter and, under Available Values, set the Value field to the ID and the Label field to correspond to the dataset created above

    – under Default values, select the ID field as the Value field

    In other words, it can't create a default selection using text values, only IDs.

  22. Karel says:

    Thanks so much!!!!

    You saved my google time!!!! Thanks. 🙂

  23. Radha says:

    Paramater contain multiple values, if we select one values, automatically it displaying the all values