Focused Dashboard Needs & the Ed-Fi ODS

If you're a school district using Ed-Fi and have extensive reporting needs, there are a number of full data warehouse and reporting/dashboard packages that can connect to an Ed-Fi ODS, such as Hoonuit (since acquired by PowerSchool for use in its data warehouse and dashboard product). If on the other hand your reporting needs are focused, connecting a full data warehouse to your Ed-Fi ODS is overkill; for focused reporting needs, districts should pull the data out of the ODS and store it into a small star schema data mart.

A star schema data mart looks like a fact table containing measure(s), with dimensions hanging off of the fact that control the ways in which users may slice and dice the measure(s). For example, your measure might be the count of days absent, and the dimensions allow you to slice by student, school, grade, and date.

This star schema allows you to answer questions such as:

  • How many absences were recorded at Williams Elementary?
  • How many absences were recorded in schools located in Grand Bend School District?
  • How many absences were recorded by high schools serviced by North Education Service Center in October 2018?
  • How has the number of absences recorded changed year-over-year and quarter-over-quarter in the 3rd school year quarter in middle schools located in northwest region of the state?

A star schema like the above is populated from some operational data store. It's important to note that you can answer all of these questions against the source operational data store itself; it's just way more difficult to do so and performance is a lot slower. This is because operational data models are normalized and therefore much more complex with many more table-to-table connections (joins). Normalized data models are optimized for writes (inserts, updates, deletes) and are slow at reads. Star schema data models are optimized for reads and are slow at writes.

Further, tools like Amazon QuickSight, Microsoft Power BI, Tableau, SSRS/SSAS, etc. are really good at understanding how to turn a question into a database query if the database it's reading is a star schema. If the database is an operational data store, it needs you to tell it a lot more information about how to navigate all the joins before it can make sense of how to get the answer to your question. This definition of additional join information (join metadata) takes pretty deep technical skill. And if you get the joins wrong, it may not be obvious at first; you may simply get 2x or 4x of the measure (e.g., DaysAbsentCount) as an answer to your question than the true answer is. That's a great way to report an embarrassingly wrong number to your superintendent!

This all leads me to say: don't do that. Use a star schema layer in between the ODS and your selected BI tool.

The good news is, it isn't rocket science to create this data mart, and once we know the essential question and/or see the wireframe(s), our data experts can work with the district to create the appropriate star schema data model and the data load process to populate it.