Moodle Block configurable reports

Moodle Block configurable reports

от Zhasulan Zhumadilov -
Количество ответов: 15

Добрый день. Кто может помочь с настраиваемыми отчетами?

Создаю один из отчетов. Внутри курса (не смог понять как за пределами курса сделать.)

{

23432

SELECT user.id AS id, bbb.data as Номер, user.firstname AS Имя, user.lastname AS Фамилия, user.city AS Отчество, user.email 

AS Почта,  user.username AS Имя_пользователя, grade_grades.finalgrade AS Набранные_баллы, aaa.data as Школа

FROM grade_grades, user

INNER JOIN user_info_data as aaa ON user.id = aaa.userid and aaa.fieldid=18

INNER JOIN user_info_data as bbb ON user.id = bbb.userid and bbb.fieldid=2

WHERE grade_grades.itemid =252 and grade_grades.finalgrade>=30 and grade_grades.userid=user.id and aaa.userid=grade_grades.userid

}

Select - делаю выборку полей пользователя

AS - вывод для отчета

From - поля из юзеров и тестов

Inner - объединяю таблицы что бы вывести Школу, из полей пользователя, созданных дополнительно

Where - условие вывести баллы пользователя которые больше 30 с id теста


Подскажите как можно сделать единый отчет. То есть в котором будут фильтры.

Выбрал курс и какой тест необходим, для выгрузки, который будет смотреть на условие к примеру >30 баллов.  

типа таких фильтров только курс и выбор теста а не по id

2

В ответ на Zhasulan Zhumadilov

Re: Moodle Block configurable reports

от Vadim Tabunshchik -
Изображение пользователя Developers

>> Выбрал курс и какой тест необходим

Для выборки нужно сначала выгрузить все результаты, а потом применять фильтры. Теперь представьте: в системе 10 000 тестов и 5 000 пользователей, сделавших по одной попытке каждого теста. Пока вы эту простыню с результатами будете выгружать, ваш сервер или упадет, или просто не будет отвечать на запросы других пользователей.

Мудл - это не система сбора глобальной статистики для руководства. В каждом курсе достаточно своей статистики по успеваемости и т. д. Так пусть преподаватель в своем курсе этим и занимается, распечатывает результаты тестов, отправляет их в деканат и т. п.

Что касается фильтров в настраиваемых отчетах, то всё подробно описано в документации.

Для примера вот вам запрос:

SELECT DISTINCT
    gg.userid AS ID,
    gg.finalgrade Grade,
    CONCAT(u.lastname,' ',u.firstname) Name,
    u.email Email,
    u.username Login,
    uid.data 'Group'
FROM
    {grade_grades} gg
    JOIN {grade_items} gi ON gi.id = gg.itemid
    JOIN {course_modules} cm ON cm.course = gi.courseid
    %%FILTER_COURSES:cm.course%%
    %%FILTER_COURSEMODULE:cm.module%%
    JOIN {user} u ON gg.userid = u.id AND u.deleted = 0
    JOIN {user_info_data} uid ON uid.userid = u.id
    JOIN {user_info_field} uif ON uif.id=uid.fieldid
WHERE
    gg.finalgrade <> ""

И во вкладке «Фильтры» этого отчета нужно выбрать 2 фильтра: курс» и «Модуль курса»

Получите простыню с возможностью выбора курса и типа модуля.

В ответ на Vadim Tabunshchik

Re: Moodle Block configurable reports

от Zhasulan Zhumadilov -
Спасибо большое, за Ваше время. Отчеты выводятся но их почему то скачать нельзя из курса. При просмотре оценок и т.п. Незнаю как сделать может есть где то настройка что бы можно было оценки скачивать?
Подскажите с модуль курса можно ли изменить на выбор тестового задания. Так как тестов много и хочется выбрать один из них. А не типа.
И join почему то у меня работает странно видимо нужно переделать в inner join а то он выводит все дополнительно созданные для профиля в отдельную строку).
Надеюсь не сильно утруждаю.
В ответ на Zhasulan Zhumadilov

Re: Moodle Block configurable reports

от Zhasulan Zhumadilov -
очень хочу понять как написать запрос с выбором теста. Модуль тест выбрав и добавить к нему выбор из тестов или like например что бы по названию теста смотрел. Как думаете такое можно сделать?
В ответ на Zhasulan Zhumadilov

Re: Moodle Block configurable reports

от Alexandre Scherbyna -
В настройках отчета на вкладке Отчет галочки внизу ставили?
В ответ на Alexandre Scherbyna

Re: Moodle Block configurable reports

от Zhasulan Zhumadilov -
Подскажите, где именно? В администрировании не нашел. В курсе в настройках "больше" тоже не нашел
В ответ на Zhasulan Zhumadilov

Re: Moodle Block configurable reports

от Alexandre Scherbyna -
В ответ на Alexandre Scherbyna

Re: Moodle Block configurable reports

от Zhasulan Zhumadilov -
Спасибо я имел ввиду другое. Это я сделал. Не настраиваемый отчет а отчет самого курса.
123
В ответ на Vadim Tabunshchik

Re: Moodle Block configurable reports

от Zhasulan Zhumadilov -
Как я понял нужно что то вроде
JOIN {grade_items} gi ON gi.id = gg.itemid
%%FILTER_COURSEMODULEFIELD:cm.moduleid%%
В ответ на Zhasulan Zhumadilov

Re: Moodle Block configurable reports

от Vadim Tabunshchik -
Изображение пользователя Developers
Поля moduleid в таблице course_modules НЕТ. Есть поле module. Тогда чем этот фильтр будет отличаться от этого: %%FILTER_COURSEMODULE:cm.module%%?
В ответ на Vadim Tabunshchik

Re: Moodle Block configurable reports

от Zhasulan Zhumadilov -
хочу у вас уточнить модуль теста можно ли разбить на фильтр тоже? Или сделать фильтр плюс совпадение по названию например
тест с заголовком "Итоговое тестирование ...". Возможно ли такое?
Выбрали курс, выбрали модуль "Тест" он ищет тесты только с совпадением названия "Итоговое тест ..."
В ответ на Zhasulan Zhumadilov

Re: Moodle Block configurable reports

от Vadim Tabunshchik -
Изображение пользователя Developers
Я вам ссылку на документацию давал? Давал. Вы её прочитали? По всей видимости, нет. Иначе бы увидели, что там нет фильтра по названию какого -то модуля. Я вам сюда фильтры скопирую, чтобы не забывали:
%%FILTER_CATEGORIES:
%%FILTER_COURSEMODULEID:
%%FILTER_COURSEMODULEFIELDS:
%%FILTER_COURSEMODULE:
%%FILTER_COURSES:
%%FILTER_COURSEENROLLEDSTUDENTS:
%%FILTER_USERS:
%%FILTER_ROLE:
%%FILTER_SEARCHTEXT:
%%FILTER_SEMESTER:
%%FILTER_STARTTIME:
%%FILTER_ENDTIME:
%%FILTER_SUBCATEGORIES:
%%FILTER_COURSEUSER:
%%FILTER_SYSTEMUSER:
%%FILTER_YEARHEBREW:
%%FILTER_YEARNUMERIC:
Хотите фильтр с поиском по рандомному полю, установите report_customsql
В ответ на Vadim Tabunshchik

Re: Moodle Block configurable reports

от Zhasulan Zhumadilov -

Если вам не трудно можете подсказать как ваш запрос под меня сделать?

23234

Как вы выше написали запрос у меня почему то колонка group выводит доп поля регистрации на новую строчку каждую и повторяет все кроме колонки group/

Мой старый код такой

SELECT user.id AS id, bbb.data as ИИН, user.firstname AS Имя, user.lastname AS Фамилия, user.city AS Отчество, user.email AS Электронный_адрес, user.username AS Имя_пользователя, grade_grades.finalgrade AS Набранные_баллы, aaa.data as Школа
FROM grade_grades, user
INNER JOIN user_info_data as aaa ON user.id = aaa.userid and aaa.fieldid=18
INNER JOIN user_info_data as bbb ON user.id = bbb.userid and bbb.fieldid=2
WHERE grade_grades.itemid =253 and grade_grades.userid=user.id and aaa.userid=grade_grades.userid


Можно ли разделить доп поля регистрации ? что бы каждое поле было новой колонкой например. Я пытаюсь переделать ваш запрос но не могу. И мне нравится ваш запрос он проще и быстрее.