Work in progress, targeted for 5 October 2026.

Custom reports

From MoodleDocs

Custom reports

The Custom reports feature enables you to create and share custom reports. The feature is based on the Moodle Workplace™ feature Report builder.

Custom reports introduction

Report sources

The complete list of report sources is as follows:

  • Badges - Badge details, badges issued, badges received and courses
  • Blogs - Blog content, title with link, tags, users and courses
  • Cohorts - Cohorts and cohort members
  • Comments - Comments and users
  • Competencies
  • Course categories
  • Course participants - Course, course category, user enrolments, group, course completion, course access
  • Courses - Courses, course category, tag, course image, Time created, Time modified.
  • Files - File, user
  • Groups - Groups, groupings, group membership visibility
  • Notes - Notes, recipients, authors, and courses
  • Roles - Role, role assignment, context and user details.
  • Tags - Tag collections, tags, tag instances, and tag authors
  • Task logs - Tasks and users
  • User badges - Badges issued to users in courses, including badge details
  • Users - Users and interests

Create a report

  1. Go to Site administration > Reports > Custom reports.
  2. Click New report, give it a name and select your source (see above).
  3. Click Save. Depending on your source, you will be presented with columns relevant to the data you want. For example, clicking 'courses' will then show categories, course short and full names and ID number.
  4. Remove any columns you don't want and add columns which you do want.
  5. Change the options for Conditions, Filters, Sorting and Card view as required.
  6. Preview your report by clicking the Preview button top right.

Filters

When setting up a report, you can apply filters to narrow down results. For example, you can filter by course, cohort, role, or user details.

For reports with user data, the 'Never accessed' filter allows you to identify accounts that have never logged in, which can be useful for spotting inactive or abandoned accounts.

The Task logs source includes a Class name filter, letting you filter tasks by their full class name, shown alongside the human-readable task name. This is useful for telling apart tasks that share a name across different plugins.

Task logs Class name filter, showing task names alongside their full class paths.

The Badges source includes a Criteria filter, letting you filter badges by whether they have a specific criterion or dependency, such as Activity completion, Course completion, or Cohort membership. This is useful for finding badges with missing or specific dependencies.

Badges report Criteria filter.

Column aggregation

Columns can be aggregated to summarise the data in a report. Depending on the data type of the selected column, a set of aggregation methods is available:

  • No aggregation
  • Count
  • Count distinct
  • Date
  • Maximum
  • Minimum
  • Month
  • Week
  • Year

New feature
in Moodle 5.3!

Month, Week, and Year aggregation are new in Moodle 5.3, in addition to the existing options.

Report builder time aggregation options, including the new Month, Week, and Year options.

Give access to reports

From Audience you can select a system role, cohort or manually selected users by clicking the + against who you want and then saving your choice.

You can check the actual users from the Access tab. If you have chosen the system role of Manager, then the Access tab will show you the names of any Managers you have on your site.

How to access reports

Users who have been given access to custom reports and who have the View custom reports capability can view them from the arrow top right next to their user profile image and clicking the link Reports.

Schedule reports

Once you have created a report and decided who has access, you can schedule it from the Schedules tab. The recipients will receive the report via email.

  1. Click New schedule;
  2. Give it a name and choose its format ( .csv by default);
  3. Decide when the report will first be sent out and how often to send it. Options include hourly, daily, daily weekdays, weekly monthly and annually.
  4. The audience will already be selected if you have defined your audience.
  5. If desired, you can add a message to the recipients.
  6. In Advanced, decide what to do if there is nothing to report.

Custom report settings

From Site administration > Reports > Custom report settings, an admin can:

  • limit the number of custom reports.
  • disable live editing.

Both these actions will then have a beneficial effect on performance, if required.

Example reports

See also