si tienes acceso a tu base de datos puedes usar algo como esto:
SELECT
u.id user_id,
#u.username AS 'User',
CONCAT(u.firstname,' ',u.lastname)user_name,
c.id course_id,
c.shortname AS course_name,
c.fullname fullname,
m.name AS Activitytype,
cm.module ActivityType_id,
cm.instance,
CASE
WHEN cm.module = 1 THEN (SELECT a1.name FROM moodle.mdl_assign a1 WHERE a1.id = cm.instance)
WHEN cm.module = 2 THEN (SELECT a2.name FROM moodle.mdl_assignment a2 WHERE a2.id = cm.instance)
WHEN cm.module = 3 THEN (SELECT a3.name FROM moodle.mdl_book a3 WHERE a3.id = cm.instance)
WHEN cm.module = 4 THEN (SELECT a4.name FROM moodle.mdl_chat a4 WHERE a4.id = cm.instance)
WHEN cm.module = 5 THEN (SELECT a5.name FROM moodle.mdl_choice a5 WHERE a5.id = cm.instance)
WHEN cm.module = 6 THEN (SELECT a6.name FROM moodle.mdl_data a6 WHERE a6.id = cm.instance)
WHEN cm.module = 7 THEN (SELECT a7.name FROM moodle.mdl_feedback a7 WHERE a7.id = cm.instance)
WHEN cm.module = 8 THEN (SELECT a8.name FROM moodle.mdl_folder a8 WHERE a8.id = cm.instance)
WHEN cm.module = 9 THEN (SELECT a9.name FROM moodle.mdl_forum a9 WHERE a9.id = cm.instance)
WHEN cm.module = 10 THEN (SELECT a10.name FROM moodle.mdl_glossary a10 WHERE a10.id = cm.instance)
WHEN cm.module = 11 THEN (SELECT a11.name FROM moodle.mdl_imscp a11 WHERE a11.id = cm.instance)
WHEN cm.module = 12 THEN (SELECT a12.name FROM moodle.mdl_label a12 WHERE a12.id = cm.instance)
WHEN cm.module = 13 THEN (SELECT a13.name FROM moodle.mdl_lesson a13 WHERE a13.id = cm.instance)
WHEN cm.module = 14 THEN (SELECT a14.name FROM moodle.mdl_lti a14 WHERE a14.id = cm.instance)
WHEN cm.module = 15 THEN (SELECT a15.name FROM moodle.mdl_page a15 WHERE a15.id = cm.instance)
WHEN cm.module = 16 THEN (SELECT a16.name FROM moodle.mdl_quiz a16 WHERE a16.id = cm.instance)
WHEN cm.module = 17 THEN (SELECT a17.name FROM moodle.mdl_resource a17 WHERE a17.id = cm.instance)
WHEN cm.module = 18 THEN (SELECT a18.name FROM moodle.mdl_scorm a18 WHERE a18.id = cm.instance)
WHEN cm.module = 19 THEN (SELECT a19.name FROM moodle.mdl_survey a19 WHERE a19.id = cm.instance)
WHEN cm.module = 20 THEN (SELECT a20.name FROM moodle.mdl_url a20 WHERE a20.id = cm.instance)
WHEN cm.module = 21 THEN (SELECT a21.name FROM moodle.mdl_wiki a21 WHERE a21.id = cm.instance)
WHEN cm.module = 22 THEN (SELECT a22.name FROM moodle.mdl_workshop a22 WHERE a22.id = cm.instance)
WHEN cm.module = 24 THEN (SELECT a23.name FROM moodle.mdl_customcert a23 WHERE a23.id = cm.instance)
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',
cmc.completionstate,
DATE_FORMAT(FROM_UNIXTIME(cmc.timemodified), '%Y-%m-%d %H:%i:%s') AS 'When',
EXTRACT(DAY FROM FROM_UNIXTIME(cmc.timemodified) )day,
DATE_FORMAT(FROM_UNIXTIME(cmc.timemodified),'%M')month,
EXTRACT(YEAR FROM FROM_UNIXTIME(cmc.timemodified))year,
MONTH(FROM_UNIXTIME(cmc.timemodified))month_id
FROM moodle.mdl_course_modules_completion cmc
JOIN moodle.mdl_user u ON cmc.userid = u.id
JOIN moodle.mdl_course_modules cm ON cmc.coursemoduleid = cm.id
JOIN moodle.mdl_course c ON cm.course = c.id
JOIN moodle.mdl_modules m ON cm.module = m.id
# skip the predefined admin AND guest USER
WHERE u.id > 2
ORDER BY u.username, c.shortname, cmc.timemodified