To start using the Excel Report Module, from the Main menu chose Services then click Excel Reports as depicted below:
![]() |
Then a new page appears as following
![]() |
The left menu region contains two main functions: Administration and Generate Report
The Administration functions includes:
Configurations: Set a path to the directory where the excel template files are stored.
List of reports: Allows users to create reports and its items and to assign the organization units or the organization unit groups to the reports.
Data Entry Status (or view the status of the data entry): View the data entry status to know about data entered, reports finished or not finished yet with data entry. In order to view the data entry status, adding data sets which is equivalent to the data entry is mandatory.
Clean temporary directory: Every time a user generates a report, the system creates an Excel file in the temporary directory (excelreporttemplate directory). This directory would be larger and larger after some time and occupy a lot of memory. This function will clean those files from temporary directory.
![]() |
Generate Report function has several sub-functions including:
Generate Report: generates reports
Generate advanced report: Generates reports by OrgUnit group.
Import excel files: Imports data values from an Excel file to the DHIS database
Data Set completed reports: Generates the report which show status of completeness of entering data .
Data entry Status: View data entry status.
Individual reports: Generate user defined reports which list data elements and a list of periods which can be chosen by the user.
![]() |
User can generate reports using the Excel Reporting module as outlined below:
![]() |
Before generating reports, there is a need to create Excel report template files. Reports will be generated in a standard format according to the structure defined in the template. Currently, there are four report types that the module can support.
Standard reports have a fixed model in which number of the columns and the rows are unchangeable. Normally, this report is generated by only one organization unit or one organization unit group at a specified period of time. An example is show below.
![]() |
This type of report displays data elements’ name in the fixed columns, and organization units are be displayed automatically according to the selected parents organization unit in a period of time. These organization units are also grouped together following the administrative level, such as: province, district, commune, etc.
![]() |
This report display data values according to the fixed data element names, and the list of time periods are displayed automatically.
![]() |
This type of report displays data values which are combined of data elements and category combination. Data element names display as rows and category options are displayed as columns. Data elements’ names, codes may be displayed automatically as well as the sequence numbers of the rows.
![]() |
The directory configuration is to set the path of the directory containing the Excel Template (.xls) file.
In order to set the directory, choose Administrator > Configuration> Set path and specify the path. The procedure is outlined in more detail below.
Click Administration to open Administrator page.
![]() |
Click Configuration button
Set a path to the folder containing excel file
An Excel template directory is simply a directory that will be used to contain all the necessary files. It is recommended to create this folder inside the DHIS2_HOME folder.
![]() |
Click OK to save
When the Excel report template file is available, creating a new report and the relevant report items are required. A step-by-step procedure is provided below.
To create a new report, choose Administration --> List Of Report --> Add --> Fill the information form --> OK
To create report items in the report choose Administration --> List Of Report --> Report Items --> Add --> Fill information form -->OK
Click List Of Reports
![]() |
Add new report: Click Add button to add new report
![]() |
Fill report information in this form
![]() |
Name *: Enter Name of report
Excel Template*: Enter name of Excel report template file. (include extension)
Report Type *: Choose report type
Normal : to create reports include just data elements or indicator
Category : to create reports with data values are combined of data elements and categories
Period column listing: to create reports which list data values according to time period of specified organization unit.
Organization unit listing: reports which list data values according to organization units.
Period position row and Period position column: Row and Column Number in Excel template file where to put Period value.
Organization Unit Row and Organization Unit Column: Row and Column Number in Excel template file where to put Organization Unit Name.
Click OK button to create new report
![]() |
There are four buttons that can be used for various actions as depicted below:
![]() |
Report Associations
For assigning reports to organization units
Report Item
For creating report items in the report
Remove
For removing report
Edit
for editing report’s information.
Organization unit Group
: For choose which organization group would be list in the report. This button only appear when the Report Type is Organization Unit Listing
Data element groups
: This button for create Data element group and these groups of data elements would be list in the report. This button only available when report type is Category.
Click Create Report Item button
![]() |
Click Add button to open a form
![]() |
Fill the report item’s information
![]() |
Name*: Enter report item name (Ex: Total person joined HIA)
Item Type*: Chose item types
Data element : if this report item is data element
Indicator: : if this report item is indicator
Excel formula: if this item describes the excel formula
Data element Name: if report item is list of data element’s names
Data element Code: If report item is list of data element’s codes
Serial : If report item is list of auto generating sequence no
Organization: if report item is list of organization unit.
Period Type*: Chose period type which data values of that report item would be aggregated and displays according to period parameter that user will choose when generate report. (Last 3 months, Last 6 months, So far this year, Quarterly, Six-Monthly, Yearly).
Expression *: Click Expression button to choose Data element, Indicator, Or just type excel formula if Item type is Excel formula.
![]() |
![]() |
The category option would be default if data element hasn’t been combined with any category combo. Other options are described below:
Sheet No*: type sheet no where this report item would be display in excel template file
Row*: row number refers to cell where report item would be display in Excel file.
Column*: column number refers to cell where report item would be display in Excel file.
Click OK button to create report item.
![]() |
New report item has been created
![]() |
There must be at least one period type in a report.
Copy selected items to button: To copy the report items when the new report has an item which can be reused from the existing report.
From list of reports page, Add new report
From source report, select report items need to be copied.
Click the Copy selected items to button
List of report: chose a destination report
Sheet No: Choose the Sheet No which report Item would be display.
Click OK button to copy
![]() |
Copy selected items to other reports for quickly developing many reports with the same data elements but with the different periods.
Click Report Associations button:
![]() |
Chose Org Units to assign and click Save button
![]() |
Select Org Unit groups which would be available in the report by clicking on each organizational unit. There is a difference between Select Org Units to assign to report for OrgUnit generate reports later, which select org unit groups are list of OrgUnit groups would be available in reports.
This function only appears in Organization Unit Listing report type.
Click Organization Unit group button.
![]() |
Select Organisation unit groups, arrange sequence of these groups, and click OK to save.
![]() |
To manage the authority of using the reports, we should assign reports to user roles. This allows the administrator to decide which users are able to view certain reports.
From Main menu, choose Maintenance > Users
From Left menu, chose User Role
![]() |
Click Edit button to edit User role’s information
![]() |
Select Excel reports, click Save button to assign excel reports to user role.
![]() |
To generate a report we just follow these simple steps.
Click Generate Report
Select Org Unit
Select report Group
Select Report from list
Select period
Select period
Click Generate Report button
![]() |
This Generate Advanced Report function allow users to generate a report according to the parameters such as: Report group name, Report name, selected period, and organization unit group name. The difference between Generate Advanced Report function and Generate Report function is that the advanced function is capable of generating reports according to groups of Org Units withing the same level as depicted below.
![]() |
This function allows users to generate the reports with data elements and a list of period as their individual decision. Another way, user can generate a dirty report by selecting data elements, periods to generate a simple excel report without excel template file or creating report or report items. Then, user can bookmark this report for generating later. The steps to generate individual report are listed below
Click Individual report function from the left menu
Select organization unit
Select data elements
Select category option of selected data element
Click select button
Select period type
Select periods
Click select button
Click generate report button
Click Book mark button for generate later
![]() |
![]() |
When users finish entering data for a data set, they need to click the COMPLETE button to identify that the data set is completely entered. The View Data set complete report function takes care of this completeness. There are two ways of viewing data set complete reports: View as Period or Dataset. When viewing by Period, users can see complete status of 1 dataset in many periods of time. When view by Dataset , users can see many data sets in only a specified period. This function is only used for management users in the upper Organisation Unit.
To view data set complete reports, do steps below
From the left menu, click Dataset complete reports
Choose Orgunit name. (Parent Organistaion Units)
Select Period Type
Select View Type.
Select data set (Select only 1 data set if view by Period)
Select Period (Select only 1 period if view by Dataset)
Click View Report button
![]() |
Example of view report by Period
![]() |
Example of view report by data set
![]() |
The "View data entry status" function allows users to see which datasets are entered with data and how the data values are entered. This helps save time for the health manager to follow the completeness of the data entered. In particular, there is a need of viewing data set entry status.
Add data set to view
![]() |
Data Entry Status page would be displayed. Click Add button to add data set.
![]() |
Select the desired data set and OrgUnit from the menu.
![]() |
View Data entry status
From Left menu, click Data Entry Status > Select Org Unit name to view.
![]() |
The Data entry status is displayed as percentage. The relative percentage of data elements that were entered in the form.
This feature is current still in development. More information on this feature will be added soon.
The EXCEL REPORTING module is continuing develop and the documentation of it for users will be updated. If there is any other type of report template which are not supported by DHIS, feel free to send the requirements. All feedback will be appreciated, please inform us at
<dhis2-documenters@lists.launchpad.net>
.