Gerar relatório de concluintes consolidado por atividades de um curso do Moodle com comando SQL

Gerar relatório de concluintes consolidado por atividades de um curso do Moodle com comando SQL

por Lino Vaz Moniz -
Número de respostas: 2

O comando SQL  a seguir gera lista de atividades de um curso,  para cada atividade informa a quantidade de alunos que já concluíram. 

SELECT cm.id,cm.idnumber,COUNT(cmp.id) AS countenrolcompleted   FROM mdl_course_modules_completion cmp  INNER JOIN mdl_course_modules cm ON cmp.coursemoduleid = cm.id INNER JOIN mdl_role_assignments rs ON rs.userid=cmp.userid INNER JOIN mdl_context e ON rs.contextid=e.id INNER JOIN mdl_role r ON rs.roleid=r.id WHERE e.instanceid=cm.course AND r.shortname ='student' AND  cmp.completionstate > 0 AND  cmp.completionstate < 3 AND cm.course =? GROUP BY cm.id,cm.idnumber

Passe o parâmetro id do curso em cm.course =? 

Esse relatório não traz nome da atividade, apenas id e número de identificação. 

Em resposta à Lino Vaz Moniz

Re: Gerar relatório de concluintes consolidado por atividades de um curso do Moodle com comando SQL

por Orlando Junior -

Lino, boa tarde.

Como trazer o nome da atividade nesse mesmo SELECT?

Em resposta à Orlando Junior

Re: Gerar relatório de concluintes consolidado por atividades de um curso do Moodle com comando SQL

por Lino Vaz Moniz -

Orlando,

Para colocar nome de cada atividade no relatório, você pode usar uma subconsulta ou então gerar a parte de depois juntar. Neste último caso requer uma linguagem de programação como PHP. 

Segue link dois post que vai lhe ajudar nessa jornada

Mapear módulo de uma atividade do curso no Moodle com comando SQL
https://comunidade.badiu.com.br/mod/forum/discuss.php?d=97


Consultar conteúdo da página do Moodle com comando SQL
https://comunidade.badiu.com.br/mod/forum/discuss.php?d=345

O primeiro link traz o nome do plugin usado. Já o seguindo link mostra como extrair dados do plugin do tipo page. A mesma lógica se aplica para os demais plugins. O campo name é padrão para todos.