selectLC2.name as Semester,GB.learning_context_name as Section,P.source_id as StudentID,GB.user_login_name,GB.given_name,GB.family_name,GB.column_name,GB.column_type,GB.original_value,GB.override,GB.max_points,GB.final_valuefrom rpt_ext_gradebook as GBinner join rpt_person as Pon P.person_id = GB.person_idinner join rpt_learning_context as LC1on GB.learning_context_id = LC1.learning_context_idinner join rpt_learning_context as LC2on LC1.parent_learning_context_id = LC2.learning_context_idwhere P.demo_user = 0order by LC2.name, GB.learning_context_name, column_name, user_login_name
This depends on the RPT_EXT_GRADEBOOK background job to run successfully to have the data populated properly.
I ran it against a clone of our production database. It took 1.5 minutes to retrieve 2.2 millions grade records. I spot checked a number of courses (sections). It included the resulting value of grades even when they were calculated by formula. It also gave me the original grades, any overrides made, and the final grades. Very nice!