Analytics – Filtering

Mobenzi Researcher’s filtering capabilities are broken into two parts: one based on metadata available for any survey; and another based on the specific questions contained within the survey being analysed.

All filters are configured in the yellow box above the results grid. Only once you click the “Apply Filters” button will the data presented be updated.

Filter by date

The first available filter is the date range filter. By selecting the “Received Date” option, only responses received between the date ranges specified will be returned. Selecting the “Captured Date” option uses the start date as provided by the handset during survey conduction to restrict the result set. Note that as this relies on the date/time configured on the handset, it may be prone to inaccuracies caused by incorrect date/time settings on the handset.

Date range filter

To enter a date, simply click the calendar icon located to the right of the relevant field and select the date from the calendar popup. Alternatively, you can enter a date manually using the format YYYY/MM/DD:

Filtering by received date

In the example above, all submissions received from 1 Aug 2011 (00:00:00) onwards will be returned.

Filtering by captured date

In the example above, all submissions captured up until 12 Aug 2011 (23:59:59) will be returned.

Leave the “From” and “To” date fields empty to return all results (this is the default).

Filter by fieldworker

Mobenzi Researcher also allows you to filter submissions based on the fieldworker who submitted the data. By default all fieldworkers are selected.

Filtering by fieldworker

To modify the list of fieldworkers for whom data should be included, click “Change selection”.

Fieldworker selector

From the Fieldworker Selector popup, simply check or uncheck the fieldworkers you wish to include. Click on a letter to limit the fieldworker list when dealing with large numbers of fieldworkers. You can also make use of the “Select/Deselect All” shortcuts at the bottom of the popup to check or uncheck all fieldworkers in the list above.

Once you’re satisfied with your selection, click “Submit” to close the popup.

Filter by language

If submissions were received in multiple languages, you will be able to filter by one or more of those available. By default, submissions received in any language will be displayed.

Filter by language

Filter by values within the survey

In addition to the standard filters, you can filter by any question or field contained in the survey too. These additional filters can be configured using a powerful syntax called Lucene.

To illustrate: if your survey contained a select-type question “Household Characteristics” with option labels “Wood”, “Brick”, “Mud”, “Iron”, “Other” and “None of the above” (option values 1 through 6); and a numeric question “Year Moved In”, you could filter for wooden houses (option value 1) where residents took occupancy in 1999 by creating a simple filter:

Filter by survey value

Notice that you must replace spaces contained in question names with underscores. Also note that for integer fields, you must prepend “int_” to the question name so that the system knows not to do a text based match. This becomes really useful when you want to do numeric filtering such as finding wooden houses where residents took occupancy between 1999 and 2011:

Filter by survey value (range)

For most filters, you don’t need to remember the correct syntax, exact question names or option values though. Click the “modify filters” link to access the filter builder. Here, you can select the questions and values you want to filter on. By default, the query will be constructed using ANDs, meaning that only submissions matching all the filters will be returned. You can change this behaviour by replacing ANDs with ORs if you wished. You can also use parentheses to group filters as you need them.

Additional filters popup

Once you’ve applied the filters, the matching submissions will be displayed below the filter bar.

For more advanced Lucene filtering, you can read through the “View tips and examples” link available in the filter builder.

A note on filtering and repeating sections

When filtering based on questions taken from repeating sections, it’s important to remember that filters are applied to the entire submission. This means that the entire submission (including all other iterations – which may or may not match the selected filter) will be returned if any of the iterations match the filter. This may be something we revise in time but for now, it’s important to remember that this is “correct” behaviour when bearing in mind that filters apply to submissions as a whole – not to individual sections.

To illustrate with an example: Assume you have a survey which enumerates household members in a repeating section. Configuring a filter to return males will return submissions (households) where males were enumerated or where males and females were present because the filter is applied to the submission as a whole – and the submission does match the filter.