简体   繁体   中英

How to create list as a parameter in SSRS?

I have a report in 2005 SSRS which I want to add a parameter to. The parameter would be comprised of a group of zip codes, but be selected as a single item in the list.

For example, I would like to have 5 zip codes as one selection in the list and 3 for another, etc:

Select 11111,22222,33333,44444,55555,66666 AS Boondock
Select 77777,88888,99999 AS Timbuck
Select Zip Codes NOT IN (11111-99999) AS Everything Else


So my selections in the dropdown would be:
Boondock
Timbuck
Everything Else

Can anyone help me with how I should go about creating this parameter?

  1. Create a simple string parameter to present to the user. Let's call it ZipCodeSet .
  2. Create a dataset that examines the @ZipCodeSet parameter and returns the appropriate list of zip codes. Call it ZipCodeSelection .
  3. Create an internal multivaue parameter that uses ZipCodeSelection as both its Available Values and Default Values. Call it SelectedZipCodes .
  4. Use SelectedZipCodes in your report's datasets.

The easiest solution here would probably to use a Calculated Field on your dataset, called LocationDescription, for example:

=SWITCH(Fields!ZipCode >= 11111 and Fields!ZipCode <= 66666, "Boondock", Fields!ZipCode >= 77777 and Fields!ZipCode <= 99999, "Timbuck",True, "Everywhere Else")

The lone true statement at the end is due to the SWITCH expression reading left-to-right and exiting once it evaluates one of the switches as TRUE. This way for each of the items in your table of ZipCodes you will always end up with a TRUE result.

I assume you're evaluating a range of ZipCodes, and not exact values of 11111,22222, and so on? If so, the switch will have more values. A sample of your data would help if you want an exact answer.

Once you have built your Calculated Field, you can then set up a Parameter (called @LocationParameter) with available values based on a query of your LocationDescription field, then just filter your dataset using:

Expression: = Fields!LocationDescription

Operator: =

Value: @LocationParameter

(if you want multiple selections on your parameter, change the operator to IN)

Hope that helps.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM