Using Configurable Reports Block to get Rubric Results

Using Configurable Reports Block to get Rubric Results

by Joel Riddell -
Number of replies: 2

Hi,

We are using rubrics to grade our assignments. What we would like to do is pull the results from each rubric into something like an excel or CSV file instead of just getting 1 end grade for the whole assignment. The next step would be to pull all results of all students assessment items throughout Moodle to the detail level of per rubric...Not sure how complex that may be though. My SQL skills are minimal but I have discovered that the Configurable Reports Block may be able to assist us with this but am not sure how to make it happen.

Is anyone out there able to assist?

Thanks

Joel

Average of ratings: -
In reply to Joel Riddell

Re: Using Configurable Reports Block to get Rubric Results

by Bob Stretch -

Here is what I came up with after looking at other reports.  I have attached XML version for direct uploading.  If you want to play around this:

Here is what I use to get the rubric itself:

SELECT DISTINCT gd.name AS 'rubric name',

gd.description AS 'rubric description',

rc.description AS 'criteria descriptions',

CONCAT ('(',ROUND(rl.score,0),') ',rl.definition) AS 'criteria score & level description'


FROM prefix_gradingform_rubric_fillings AS rf

JOIN prefix_grading_instances AS gin ON gin.id = rf.instanceid 

JOIN prefix_gradingform_rubric_criteria AS rc ON rc.id = rf.criterionid

JOIN prefix_gradingform_rubric_levels AS rl ON rl.id = rf.levelid

JOIN prefix_grading_definitions AS gd ON gd.id = gin.definitionid

JOIN prefix_grading_areas  AS ga ON ga.id = gd.areaid


WHERE  ga.activemethod = 'rubric'

%%FILTER_SEARCHTEXT:gd.name:~%%


ORDER BY rl.criterionid, rl.score


Here is the means I use to pull the data:

SELECT 

gd.name AS 'Rubric Name', 

grc.description AS 'Criteria Description',

CONCAT ('(',ROUND(grl.score,0),') ', grl.definition) AS 'Criteria Score & Definition',

grf.remark AS 'Grader Remarks', 

crs.shortname AS 'Course', 

asg.name AS 'Assignment Name', 

grf.criterionid AS 'Criterion Identifier',

rubm.username AS 'Grader',

DATE_ADD('1970-01-01', INTERVAL gin.timemodified SECOND) AS 'Date'


FROM prefix_course AS crs

    JOIN prefix_course_modules AS cm ON crs.id = cm.course

    JOIN prefix_assign AS asg ON asg.id = cm.instance

    JOIN prefix_context AS c ON cm.id = c.instanceid

    JOIN prefix_grading_areas AS ga ON c.id=ga.contextid

    JOIN prefix_grading_definitions AS gd ON ga.id = gd.areaid

    JOIN prefix_gradingform_rubric_criteria AS grc ON (grc.definitionid = gd.id)

    JOIN prefix_gradingform_rubric_levels AS grl ON (grl.criterionid = grc.id)

    JOIN prefix_grading_instances AS gin ON gin.definitionid = gd.id

    JOIN prefix_assign_grades AS ag ON ag.id = gin.itemid

    JOIN prefix_user AS stu ON stu.id = ag.userid

    JOIN prefix_user AS rubm ON rubm.id = gin.raterid

    JOIN prefix_gradingform_rubric_fillings AS grf ON (grf.instanceid = gin.id)

        AND (grf.criterionid = grc.id) AND (grf.levelid = grl.id)


WHERE gin.status = 1

%%FILTER_SEARCHTEXT:gd.name:~%%

%%FILTER_COURSES:crs.id%% 

%%FILTER_STARTTIME:gin.timemodified:>=%% 

%%FILTER_ENDTIME:gin.timemodified:<=%% 


ORDER BY gd.name ASC,

grc.description ASC,

grl.score DESC


/* Original query relationships from report_componentgrades PHP written by Paul Nichols (C) 2014 and used under gnu license. */



###

If you want to see how I used Excel pivot tables with this data and you have an Amazon Prime membership you can check my book out for free.  http://www.amazon.com/dp/B00SCNJNCS.


Good luck!

/Bob



In reply to Joel Riddell

Re: Using Configurable Reports Block to get Rubric Results

by Brian Evans -

Based on Bob's good work above, I created this query that gives results broken out by student, including the student's name.  It tells you how each student did for each indicator on each rubric and each assignement.  Excel or a database program can be used to analyze this data.


SELECT 


gd.name AS 'Rubric Name', 


grc.description AS 'Criteria Description',


grl.score AS 'Score',


grf.remark AS 'Grader Remarks', 


crs.shortname AS 'Course', 


asg.name AS 'Assignment Name', 


stu.id AS 'User ID',


CONCAT (stu.lastname, ', ',stu.firstname) AS 'User Name',


DATE_ADD('1970-01-01', INTERVAL asg.duedate SECOND) AS 'Due Date'


FROM prefix_course} AS crs


    JOIN prefix_course_modules AS cm ON crs.id = cm.course


    JOIN prefix_assign AS asg ON asg.id = cm.instance


    JOIN prefix_context AS c ON cm.id = c.instanceid


    JOIN prefix_grading_areas AS ga ON c.id=ga.contextid


    JOIN prefix_grading_definitions AS gd ON ga.id = gd.areaid


    JOIN prefix_gradingform_rubric_criteria AS grc ON (grc.definitionid = gd.id)


    JOIN prefix_gradingform_rubric_levels AS grl ON (grl.criterionid = grc.id)


    JOIN prefix_grading_instances AS gin ON gin.definitionid = gd.id


    JOIN prefix_assign_grades AS ag ON ag.id = gin.itemid


    JOIN prefix_user AS stu ON stu.id = ag.userid


    JOIN prefix_user AS rubm ON rubm.id = gin.raterid


    JOIN prefix_gradingform_rubric_fillings AS grf ON (grf.instanceid = gin.id)


        AND (grf.criterionid = grc.id) AND (grf.levelid = grl.id)




WHERE gin.status = 1



ORDER BY gd.name ASC,


stu.lastname ASC,


stu.firstname ASC,


grc.description ASC

Average of ratings: Useful (1)