MS Reporting Services Sheldon Wai
Little bit about myself Sheldon Wai Was PowerSchool Administrator at Hong Kong International School Now Senior Systems Manager (PowerSchool) at Yew Chung Education Foundation sheldon.wai@ycef.com
Background Built-in reporting tools in Powerschool are quite limited Object Reports are a pain to create and maintain ReportWorks is difficult to use and troubleshoot Custom Reports Bundle and sqlreports are good for table type layouts but can't really go beyond that Lacking a real Graphical Reporting tool that has Business Intelligence
Microsoft Reporting Services Web based (works best with Internet Explorer and Firefox) Included as part of Microsoft SQL Server in all Editions since SQL Server 2005 (Express with Advanced Services, Standard, Developer, Enterprise) Has been around since 2004 Includes GUI tool for creating, formatting and publishing reports Large user community Comes with web frontend for generating reports in browser Reports can also be generated via ASP.net/PHP or direct URL access Can use scripts on the report template to dynamically alter output
What about Crystal Reports? Each product has some features that the other doesn't Both have large user communities #1 disadvantage of Crystal Reports: does not come with a web frontend (have to buy separately and it costs a LOT)
Standard/Enterprise vs Express Editions Standard/Enterprise Can connect to Powerschool Oracle database directly Can export to PDF, Excel, Word, CSV, Web Archive, TIFF, XML and more Express Must go through linked server to connect to Oracle Can only export to PDF, Excel and Word Use subscriptions to schedule auto report generation and delivery (Enterprise Edition also has "data driven subscriptions") No subscription support Complete list: http://technet.microsoft.com/enus/library/cc281020%28v=sql.105%29.aspx
Setup Overview Reporting Server Generates reports and hosts the web frontend Do not install this on your Powerschool server Developer Machine Used to make your reports, you can use the reporting server for this as well
Setting up the Reporting Server (Standard/Enterprise Editions) Windows Server 2008 or later Install SQL Server on it, make sure you include the Reporting Services components Install the Oracle Client Install ODAC (Oracle Data Access Components) drivers Make sure you use same bit versions for every component, recommend you use 64 bit versions
Setting up the Reporting Server (Express Edition) Windows Vista or Windows Server 2008 or later Install the Oracle Client Install ODAC (Oracle Data Access Components) drivers Setup linked server in SQL Server to Powerschool Oracle database (reports will need to query through the linked server) Make sure you use same bit versions for every component, recommend you use 64 bit versions
Setting up the Developer Machine Install Business Intelligence Development Studio (included in the server setup file) As of SQL Server 2014, this is called SSDT (SQL Server Data Tools and has to be installed separately - https://msdn.microsoft.com/en-us/hh297027.aspx) Install 32 bit version of Oracle Client Use "Oracle" data source type and connection string "(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=your Powerschool Database IP) (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=pspro ddb)))"
Creating Reports Write SQL (or use Query Designer) Assign Parameters (if any) Design layout via GUI editor Supports all major VB.net functions, can write custom code if required Publish report on Reporting Server
Running Reports http://reportingserver/reports Select report to run Fill in parameters View Report in preview (does not display properly if using Safari or Chrome) Export if necessary
Subscriptions Not available in Express Edition Schedule reports to run at set time or timed occurrences Reports can be delivered via email or stored to network location Can be used as a form of "email mail merge". For example: create subscriptions to a "report card" report to have it automatically send out individual emails to every parent with report card as PDF attachment at the end of the term Dynamic parameter subscriptions can be generated by script (Standard) or via data-driven subscriptions (Enterprise) Data-driven subscriptions (Enterprise) also allow you to specify subscriptions to only run when report data has changed (vs same report every time) or manipulate source query to make subscription only run when report contains data (vs blank report)
Integrating with Powerschool Easy way Just add a link on the front page and have people log in to Reporting Services web frontend for reports Elegant but harder way Add links to specific report via direct URL access: http://reportingserver/reportserver?/path/to/report¶metername=para metervalue&rs:format=exportformat Example: http://myreportingserver/reportserver?/scheduling/student%20schedule&y earid=~(curyearid)&studentid=~(id)&rs:format=pdf Unless you use AD authentication for your whole domain, you will need to login again (first time per browser session only) when clicking on the links You can enable anonymous access to Reporting Services to eliminate the need to login but may become a security concern - specially if have "creative students"
Things to Consider Before Jumping Ship Need to have good knowledge of Powerschool schema, but shouldn't be a problem if you are already writing your own reports in Custom Report Bundle or sqlreport Can be difficult (but not impossible) to replicate attendance counting and GPA calculating DAT codes If you open the Reporting Server to a lot of people you may run into licensing issues (there are usually education deals, check with your local Microsoft vendor) Web frontend has visual defects with Safari and Chrome Mac version of Firefox 30-36 have problems with Windows Authentication, fixed in Firefox 37 Can't work with current selections inside Powerschool
Working Demo: YCIS Reporting Server Enterprise Edition Source of academic reports for all schools School specific reports are separated into different folders Weekly attendance summary reports run automatically via subscriptions One school uses data driven subscriptions for email delivery of report cards Subscriptions used to archive report cards