As a “back-end” PowerSchool guy or gal, you may occasionally be asked to pull out data for which there is no pre-built report. In most cases this is possible, but it’s also usually really complicated. The purpose of this post is to (hopefully) provide you with some direction when you are “voluntold” to do undertake such a task.
Chances are you’re somewhat familiar with PowerSchool’s Data Dictionary. The Data Dictionary is a massive PDF reference that defines each table and field in PowerSchool – except for the ones in Gradebook. After spending an hour and a half on the line with support one time, we discovered together that their exists a completely separate Data Dictionary just for the Gradebook. It’s called the PowerSchool Gradebook Data Dictionary. So, if you’re tasked with pulling out all of the standards based grades for a single assignment that can be parsed by school, standard, and teacher like I was, you’re going to want to look there to figure out how all of the tables tie together
High Level Concept
What you’ll find is that there exist many tables, and each table is connected to another by a common column. For example, the WhoCreated column in the psm_assignmentstandardscore table contains the same values as the id column in the psm_teacher table. By using the tool SQL Developer (by Oracle), we can connect directly to our database and write custom queries in a language called SQL to output the data in a manner that is useful. When we query data from multiple tables, we have to choose one table FROM where we are going to conduct our search and then “JOIN” the other tables to the first to eventually generate a new spreadsheet that contains the data that we actually want. Sometimes we need to join one table, to another, to another, TO ANOTHER! to get what we are looking for.
Basically, you are going to find that all of the data you want in your output is divided among many tables, and you are going to have to reference the Data Dictionary to figure out how all of the tables connect.