SSRS Dynamic Report Options Guide for State Edition

State edition users can build SSRS reports that serve multiple use cases, such as for state edition users from the state edition database, for district edition users from the state edition database, or for district edition users on their own district's database. Any data source compatible with SSRS could be used, but this document will focus solely on those three options.

State edition users have several additional considerations when building reports for this tool. Specifically:

  1. Configuration by Campus for initial use.
  2. Which database are you looking to run the query on?
  3. How do you scope the results to the correct districts?

Configuration by Campus for initial use

No additional configuration is needed if reports are not being published to districts. Running a report on the state edition database with a state edition user has no special considerations.

Before published reports can be run from district edition sites, Managed Services needs to ensure the proper account and folder structure exists on the SSRS server to allow report sharing. Publishing reports before this happens will succeed, but dummy connection records will be created that will need to be filled in by Infinite Campus Personnel before the report will work.  

Which database are you looking to run the query on?

If a report is published to districts, it could, in theory, run on either that district's database or the state edition database (or any other SQL server database). This would be determined by the report itself via a data source. To make running on the district edition database possible, one parameter you can pass to the report (suggested as a hidden parameter) is 'connectionString'. This will include the URL of the database and the database name for the campus application that made the request. This is enough information to either connect back to the database or pick an SSRS data source associated with the database.

How do you scope the results to the correct districts?

There is no filtering that we can do on the Campus side to prevent districts from seeing information they should not if it is returned by the SSRS server. We do, however, enforce that any published report cannot be run without either a connectionString, auto_districtNumber, or auto_schoolNumber parameter. These parameters will provide the ability to filter a query to only the results a user should have access to. These parameters are also generated server-side, so users cannot modify them. The schoolID and districtID are not enforced to be the same between district edition and state edition, so they should not be used for this purpose.