Problem with program indicator

I have a question regarding program indicators.
Why is it not possible to display this program indicator on a monthly basis?

For example, I would like to track the number of students sensitized on the 5 WASH themes.
Here is the configuration I used:

  • Aggregation type: Count
  • Analytic type: Enrollment
  • Limit target: Event date
  • Analytic period boundary type: After the start of the reporting period
  • Expression: Number of records
  • Filter: Different themes

When using the Data Visualizer:

For the entire period of FY25 (July 2024 – June 2025) in the Ambatofinandrahana district, I obtain 20,604 students.

However, when I try to display the indicator by month for FY25, the system shows 2,064 students every month, which is incorrect.

1 Like

Hi Dear @nytiantsoa,

This behavior is usually related to how the program indicator is configured, especially the combination of:

  • Aggregation type: Count
  • Analytics type: Enrollment

In this setup, the system counts enrollments across the full period, and when you display results by month, the same total is repeated instead of being distributed over time.

To correct this and get proper monthly values, you can follow this process:

Step-by-step solution:

  1. Change Analytics Type
  • Switch from EnrollmentEvent
    :backhand_index_pointing_right: This ensures the indicator is calculated based on individual events (which have dates)
  1. Review the Date for Aggregation
  • Use Event date as the time reference
    :backhand_index_pointing_right: This allows proper monthly breakdown
  1. Adjust the Aggregation Type (if needed)
  • Keep Count, but ensure it counts events (not enrollments)
  1. Verify the Program Stage
  • Make sure the indicator is linked to the stage where WASH sensitization is recorded
  1. Test in Data Visualizer
  • Select Monthly periods
  • Check if values are now distributed correctly across months

Why this happens:

With Enrollment analytics, DHIS2 aggregates data at enrollment level (not per event date), so the same total is reused for each period.

Switching to Event analytics allows the system to group data correctly by month.

If your use case requires enrollment-based logic, another option would be to refine the period boundary settings, but for monthly tracking, event-based analytics is generally the best approach.

Hope this helps! :+1:

2 Likes