SSRS Dynamic Report Options Guide

Dynamic report options pages operate by communicating with the report server, getting the options that should be shown to a user and displaying them. It is intended as a drop in alternative to running reports on the report server itself and custom JSP pages. It offers a few advantages over current available functionality:

  • Infinite Campus uses the stored and encrypted credentials that were entered when setting up the report server, so users do not need to have their own credentials to run reports. See SSRS Server Configuration for more information.
  • Since the request is coming from the Infinite Campus application server, it will not run into issues related to firewalls.
  • It should look and feel like other Infinite Campus tools.
  • Less to maintain for districts.
  • Higher level of security.

Setting Up Dynamic Report Options

To get started, set up the connection to the report server and map the report into the outline.

Assuming the report has no parameters, you should be able to visit the link that was created and run the report from there. If there are parameters, you need to know there is built in handling for specific context values based off the configured name in the SSRS report.   

While any usages of these parameters require matching case sensitivity, consider non-case sensitive matches to be reserved as well.  

Parameter name

Value

Notes

Field type

calendarID

Selected calendarID

0 for all calendars, -1 for no calendars

Text suggested

schoolID

Selected schoolID

0 for all schools, -1 for no schools

Text suggested

districtID

Selected districtID


Text suggested

year

Selected school year

0 for all years, -1 for none

Text suggested

currentUserID

Logged in user’s userID


Text suggested

Anything starting with ‘studentAdhoc_’

Not automatic, but special behavior

Student adhoc filter picker.  Will be passed as a list of personIDs from the filter after it has been evaluated.

Text, must allow multiple values and allow blank value (""). Cannot be required.

connectionString

Connection string to campus database

If you want to build the connection string dynamically this will allow you to do it.

Text suggested

If any of the above fields have Available Values defined (such that they would show up as drop-lists or multi-selects in SSRS), the report owner needs to ensure that those values include what will be sent. If a value is sent to SSRS that the report does not consider valid, it will error. The error text on this error may not be particularly descriptive or useful.

The following fields are either used internally or reserved for future use:

Parameter name

Notes

contextCalendarID

Used by adhoc filters, internal

contextEndYear

Used by adhoc filters, internal

selectedPersonID

Reserved for future use

selectedCourseMasterID

Reserved for future use

selectedHouseholdID

Reserved for future use

selectedGroupID

Reserved for future use

selectedAddressID

Reserved for future use

selectedCourseID

Reserved for future use

selectedSectionID

Reserved for future use

selectedPOSAccountID

Reserved for future use

selectedUserID

Reserved for future use

selectedPersonnelID

Reserved for future use

To require fields, they should be marked as not allowing null values with the following exception:

  • Any parameter that uses ‘Allow multiple values’ must use ‘Allow blank value’ to determine if it is required since those fields can’t take nulls.

Letting the report server determine values via queries, and updating the values based on user input, is supported and should work as expected. Be aware that as those queries may run multiple times, so they should be relatively performant. 

Restrictions

  • Validation beyond fields being supported and in the list of options Infinite Campus receives from the report server is not supported at this time, this includes custom validation messages and custom validation expressions.
  • Links to images or other reports in Word/HTML report formats are not supported and may cause users to be prompted for SSRS credentials.