If I was to find an Activity Completion report, and add this piece of SQL to it, should it work?ORDER BY u.username
SELECT u.firstname, u.lastname, h.idnumber, h.name
FROM prefix_cohort AS h
JOIN prefix_cohort_members AS hm ON h.id = hm.cohortid
JOIN prefix_user AS u ON hm.userid = u.id
ORDER BY u.firstname
here's a report I found on Activity completion - it seems like it has way more info than i need, however,
SELECT
u.username As 'User',
c.shortname AS 'Course',
m.name AS Activitytype,
CASE
WHEN m.name = 'assign' THEN (SELECT name FROM prefix_assign WHERE id = cm.instance)
WHEN m.name = 'assignment' THEN (SELECT name FROM prefix_assignment WHERE id = cm.instance)
WHEN m.name = 'book' THEN (SELECT name FROM prefix_book WHERE id = cm.instance)
WHEN m.name = 'chat' THEN (SELECT name FROM prefix_chat WHERE id = cm.instance)
WHEN m.name = 'choice' THEN (SELECT name FROM prefix_choice WHERE id = cm.instance)
WHEN m.name = 'data' THEN (SELECT name FROM prefix_data WHERE id = cm.instance)
WHEN m.name = 'feedback' THEN (SELECT name FROM prefix_feedback WHERE id = cm.instance)
WHEN m.name = 'folder' THEN (SELECT name FROM prefix_folder WHERE id = cm.instance)
WHEN m.name = 'forum' THEN (SELECT name FROM prefix_forum WHERE id = cm.instance)
WHEN m.name = 'glossary' THEN (SELECT name FROM prefix_glossary WHERE id = cm.instance)
WHEN m.name = 'h5pactivity' THEN (SELECT name FROM prefix_h5pactivity WHERE id = cm.instance)
WHEN m.name = 'imscp' THEN (SELECT name FROM prefix_imscp WHERE id = cm.instance)
WHEN m.name = 'label' THEN (SELECT name FROM prefix_label WHERE id = cm.instance)
WHEN m.name = '
lesson' THEN (SELECT name FROM prefix_lesson WHERE id = cm.instance)
WHEN m.name = 'lti' THEN (SELECT name FROM prefix_lti WHERE id = cm.instance)
WHEN m.name = 'page' THEN (SELECT name FROM prefix_page WHERE id = cm.instance)
WHEN m.name = 'quiz' THEN (SELECT name FROM prefix_quiz WHERE id = cm.instance)
WHEN m.name = 'resource' THEN (SELECT name FROM prefix_resource WHERE id = cm.instance)
WHEN m.name = '
scorm' THEN (SELECT name FROM prefix_scorm WHERE id = cm.instance)
WHEN m.name = 'survey' THEN (SELECT name FROM prefix_survey WHERE id = cm.instance)
WHEN m.name = 'url' THEN (SELECT name FROM prefix_url WHERE id = cm.instance)
WHEN m.name = 'wiki' THEN (SELECT name FROM prefix_wiki WHERE id = cm.instance)
WHEN m.name = 'workshop' THEN (SELECT name FROM prefix_workshop WHERE id = cm.instance)
ELSE "Other activity"
END AS Activityname,
# cm.section AS Coursesection,
CASE
WHEN cm.completion = 0 THEN '0 None'
WHEN cm.completion = 1 THEN '1 Self'
WHEN cm.completion = 2 THEN '2 Auto'
END AS Activtycompletiontype,
CASE
WHEN cmc.completionstate = 0 THEN 'In Progress'
WHEN cmc.completionstate = 1 THEN 'Completed'
WHEN cmc.completionstate = 2 THEN 'Completed with Pass'
WHEN cmc.completionstate = 3 THEN 'Completed with Fail'
ELSE 'Unknown'
END AS 'Progress',
DATE_FORMAT(FROM_UNIXTIME(cmc.timemodified), '%Y-%m-%d %H:%i') AS 'When'
FROM prefix_course_modules_completion cmc
JOIN prefix_user u ON cmc.userid = u.id
JOIN prefix_course_modules cm ON cmc.coursemoduleid = cm.id
JOIN prefix_course c ON cm.course = c.id
# skip the predefined admin and guest user
WHERE u.id > 2
# config reports filters
%%FILTER_USERS:u.username%%
%%FILTER_SEARCHTEXT:m.name:~%%
%%FILTER_STARTTIME:cmc.timemodified:>%% %%FILTER_ENDTIME:cmc.timemodified:<%%
I tried combining this, but got errors.....
As you can tell, this is my first foray into SQL - I suspect it's going to be a bumpy ride
Many thanks,
Jason