Getting Data Out

Love ODK Central. Great for gathering data, but how do folks get data out?

I managed to get some basic dashboards going using Redash but I haven't managed to find a tool that's free and connects to the OData feed to produce paginated, printable, traditional reports.

Ideally I'd like to be able to design a report and let other members of my team enter parameters and retrieve/print formatted reports as and when needed.

Anyone else done this? I gather I can do it with Word/Excel and VBA, but it seems a clunky way to do it.


hi @mrrodge

did you look at this post?

1 Like

I hadn't seen that - guessing my search terms are off. Will take a look, thanks!

OK had a look - totally, completely and utterly lost.

Don't understand where or how it's installed, let alone if it's possible to build a customised report.

I'm looking for some way of designing a PDF output for a given form, with a query parameter to select which submission (based on a certain field) so that a team member can open the report, select a submission and print/email the resulting PDF.

Is that what this does? I'm not looking for BI type graphs/numerical analysis of multiple submissions (I think I have that with Redash), just a friendly way of presenting what was entered on a particular submission.

Thanks again!

If you carefully read the post you see that there's a link to the github repository:

There you have the instructions on how to install and how it works.
Through the Shiny app you connect with OData to your submissions.
You can filter these graphically, then you choose the kind of reports you need and you get an html file with the report that can be opened on any browser and print as well.

In the post there's as well a link to a demo on how it works.

Hi @mrrodge

Excel could indeed be a good starting point. Its Power Query features wouldn't even require you to use VBA and are relatively easy to use; most things can be done with it already. Plus it can read the OData feed directly. You may then try to develop a spreadsheet that works well with the print layout. Using filters, you may change what the spreadsheet shows in order to generate individual PDFs.


I like to use an intermediate database to store Central's data in a classical relational database and expose it to our other tools (redash for web dashboards, jasper studio for static pdf, QGIS to print map atlases...)
If opensource tools like redash/metabase/superset could have a real ODATA connector which is not only use by Central it would be a great thing.

1 Like

Thanks all. I've had the same frustrations with metabase etc not having Odata connectors.

Redash has a 'details view' which comes fairly close but it doesn't have any configuration options so isn't flexible enough at the moment (at least I don't think, anyway).

Hadn't considered Jasper Studio - will take a look at that, thanks.

I started to use ireport years ago to generate static pdf. It became JasperStudio wich is powerful but now a bit too complex for our simple needs (here static pdf reports).

So if JasperStudio is too complex now, are you using something else or sticking with it? Can it do the JSON/API connection to Central or do I have to have the intermediate database?

Also why are folks doing it that way i.e. two databases, rather than just configuring Central to use a custom database and accessing that directly?


No I still use Jasper because I have old report templates that still work with it and it is simplier than redevelop.

It depends on your needs, the other tools you use, the workflows that already occur in your organization and your skills (r, python... mine is SQL)
I exposed our use case here : SQL first try to get Central data into internal PostGIS database - #5 by mathieubossaert
I do need to consolidate the data we gather with ODK in a larger database, which contains a lot of other data to "join" to.
I could manage to directly query Central's database, but logically, the "guaranteed" interface to Central is its API.
So I started to get data out from Central into our PostGIS database schemas through the API.

And now, as other users, I see and use ODK Central as a whole independent tool (even if it uses an internal PostgreSQL database) I query through its great API :wink:

OK so I've gone down the Jasper Studio route and am stuck at the first hurdle - creating a data adapter for the JSON in the feed. Any tips? I just keep getting a 403 yet with Redash it works.

Seeing we're after a no-code/low-code solution here, I just wanted to mention the Google Data Studio for ODK Central. It's pretty new but looks very promising!

1 Like