I explain my use case. We are developing a web application to show an analytics dashboard for our customers. The information show has to do with KPIs and metrics extracted through an ETL process from their databases.

Due to an architectural decission we want our web application to access the backend only through web services, so there is a clear separation between front-end and back-end. Thus we need a REST API that returns the desired data when we send a request.

For example, suppose our fact table is about employee salaries and we want to show a graph with the average employee salaries year on year aggregated by employee category. We would send a request like GET to http://api.example.com/salaries?group-by=year&group-by=employee-category&operation=average. It should return the requested data in XML or JSON format, something like the example below.

We have thought about using Qlik or Power BI, but it seems their APIs are Javascript APIs that must be executed on the client side, and the only REST APIs they have are for management.

Do you know a BI software engine that offers this kind of REST API out of the box?

Example response:

[
   {
      "year":2012,
      "salaries":[
         {
            "category":"rookie",
            "salary":30000
         },
         {
            "category":"senior",
            "salary":45000
         }
      ]
   }, 
   {
      "year":2013,
      "salaries":[
         {
            "category":"rookie",
            "salary":35000
         },
         {
            "category":"senior",
            "salary":47000
         }
      ]
   }
]
  • 1
    Would that be usefull? github.com/metabase/metabase/wiki/Using-the-REST-API – Sonamor Nov 1 '17 at 9:56
  • 1
    What are you storing your data in? With mongodb there are http interfaces, and both python and java REST API generators for it. For MySQL or MariaDB there are quite a few available there as well. – ivanivan Oct 10 at 3:06
  • @ivanivan mongodb and MySQL are database backends, the question is about BI engines. Of course, the BI engine will access some kind of database backend, but the question is about a REST API attached to the BI engine, not the database. – joanlofe Oct 10 at 14:34
  • I don’t mean to nit-pick, but I think your example has problems, so let’s hope that it is only an example. 1group-by=year&group-by=employee-category` has two group-by. What would, for instance, PHP return for $_GET[‘group-by’]? And you would you know if both year & employee category had been selected? I suggest either group-by=year|employee-category or group-by-time=year& group-by-category=True, or some such. – Mawg Dec 10 at 14:16

Logi Analytics provides a rest API for data. It can also render a full fledged visualization that way, but you can get the data and put your own visualization in front of it as well.

Specifically you are looking for their Discovery module and it's DataView concept

  • Do you know how much it costs? I couldn't see pricing. – Mawg Dec 10 at 14:21
  • 1
    @Mawg, as with all vendors in this space, it is a lot. They have different mixes of products as well. You will have to talk to sales. – Yishai Dec 10 at 22:27
  • Sounds like time for a new question :-) Is there a gratis alternative? – Mawg Dec 11 at 7:24
  • 1
    @Mawg, not of Logi Analytics, no. An open source BI tool that meets the criteria of the question? Never heard of one. – Yishai Dec 11 at 15:05
  • 1
    @Mawg, that wouldn't have the REST API, necessarily. I didn't investigate much of that question, but the Qlik free version would not. – Yishai Dec 11 at 17:27

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.