Introduction

This page lists all acceptance criteria for new reports in Pentaho. These must be followed before a report can be considered done - production quality and shipped to the customer.

Terminology

Common Terms

Parameters

Data

The mifos database is best at showing 'current' information.  The D/W database is best at showing historical information.

You can get a history of disbursed loans from the mifos database.... but if your report wants to know which loan officer was managing the clients at the time of disbursal or which branch it was in... then the D/W is the place to look as the mifos database will always show you the 'current' loan officer and branch whereas the D/W includes loan officer and customer hierarchy changes baked in.

Guidelines

If the report you are writing/specing relies on current data

  1. It has to query the mifos database (actually schema because many MFI's will run with replication and its the replicated database that reports should run from).
  2. The 'spec' should be as simple as possible (overwhelmingly simple if possible i.e. couple of columns or simple 'listing' reports).  Typically a very bad idea to write queries getting historical data from the mifos database as its extraordinary difficult to identify hierarchy changes and status changes (and that's not issuing a challenge).

If the report you are writing/specing is 'analytical' and does lots of number crunching over periods of time - its a D/W report

What if its a D/W report and the field you are looking for isn't there?  It can be added if it makes sense (but don't want every field in the D/W).  But if you absolutely positively have to have it....and its more important that knowing what loan officer was assigned etc.... drop the need to show the correct loan officer / customer hierarchy from the report and write it off the mifos database.

Generally, it should be easier (and quicker) to get data from the D/W database than the mifos database.  If you are new to both... the D/W is about 10 times smaller in terms of tables and columns to become familiar with.  Also, reports are more 'protected' from mifos application changes than the mifos database because there is an 'ETL' (data conversion) process in the middle which has to handle the mifos data changes and quirks.

If you are reporting on arrears or overdue loans... D/W has been optimised for that (however, if you want a quick look at 'right now'.... the mifos table loan_arrears_aging is up to date for today).

Examples

Comparing a branch/loan officer/center/group performance from one month to another - D/W database

Showing the number of disbursals so far today - mifos database

show a list of disbursed loans over the past month - D/W database but if you are happy with showing current loan officer/branch/center/group values... then you could do it from mifos database

Dashboards: current dashboard data should come from mifos database.  Dashboards showing data older than today need to look at the D/W database.

Report Design

Localization

Output Formats

Acceptance Tests