Successful API integration with PWBI?

  • 30 September 2022
  • 10 replies
  • 249 views

Userlevel 4
Badge

Was curious if any of you are doing this today. Pulling excel reports is getting tedious. I don’t think even the API will be great long term, but it has to be a better temporary alternative. API connection directly to PWBI to display the tables we need would be a much improved administrative experience.


10 replies

Userlevel 7
Badge +3

What do you need to do with the reports when you pull them currently? The API tends to run into volume issues at scale for reporting, but doable for smaller runs, but are you looking at the automation app or maybe a different sort of automation to relay a scheduled report to a location for PWBI to grab directly?

Userlevel 4
Badge

@Bfarkas I’d like it to update the tables I’ve created in a more automated way. Right now I have to download the report, update my table, post my PWBI report for organizational visibility. Having the API update these tables instead is going to be necessary for scalability, but understandably it’s going to be large data sets eventually. 

Get - learners, course completion, learning plans, and course totals. I am pulling 8 reports right now, daily, and have PWBI mapped to appropriate Docebo fields. If there’s a way to fetch via the API I’d be curious to explore that. 

I wasn’t sure if I could connect the Docebo API directly (looking at the calls they have listed, I’m not sure that’s going to get me the data), or if the automation app would work. If I can’t use the API the only other thing I think I could do is the automation app to save the files to a server, and then maybe bring those files over some other way. Just seems like a weird flow.

Userlevel 7
Badge +3

So the “update my table” step is the unclear part here that would need some clarity to help with. Usually software like that has some way to ingest datasets to update tables which can often be based on a new file on a server or updated file on a server, which the automation app can help you with precisely and is a fairly normal flow: Data Report generated > FTP to Server > 3rd party ingests > 3rd Party data updated

The problem you will probably run into API wise directly is you essentially need to pull several data sources and combine them in various ways to generate the equivalent of a report, since they are typically complex queries each. You can create a report and then use the API to pull parts of it, but that is essentially still using the report and then instead of FTP, using API to grab data. Keeping in report land also will help you with updates much easier.

I would think about moving towards sever based files that are updated via FTP and then base your tables/queries in PBI based on those so that when the automation updates the underlying report, your entire setup would auto update.

I wrote up a few processes I typically follow that go through some of this stuff in an article here that might be useful:

 

 

Userlevel 7
Badge +3

I guess just to clarify, is PWBI Microsoft Power BI or a different software? I was reading it as a different one and then just realized it was probably just PowerBI.

Userlevel 4
Badge

Thank you! I’ll review this. Where possible our organization moves away from documents for reporting and connects directly either API or datalakes. In this case, educational would have many tables to call on to produce the visual report. And yes, as you mentioned this is PowerBI. 

I would assume I could set up multiple datacalls via the API. This is how I had it set up for the SFDC and Google Analytics APIS - hello there service, please fetch my table datasets. Update tables, refresh, post. 

Right now to do the same thing for Docebo, I have to download each report from my email, upload to a folder, copy over my existing dataset, then update PWBI, refresh, post. I’m sure I can get this process simpler, but the long term problem if we’re going to have hundreds of marketing and analytically stakeholders that will want to connect to this data in the long term as well so reports will not be scalable. 

Thank you for this resource though, I’m going to read through this in more detail and see if I can at least automate SOME of this process :) 

Userlevel 7
Badge +3

Yeah, so the direct APIs for raw data you will be doing a lot of work in this case, but you can cut out the ‘email report, download, upload, blah’ part by either using the automation app to just FTP it to a directory to run, or to use the API to grab the reports when they run (this sounds like what you are trying to do more) Just keep in mind for that you have to call the data in batches until you get it all which some people don’t like doing. Definitely possible though.

Userlevel 7
Badge +3

Check out the GET - /report/v1/report/{report_id}/data

Also, depending on your reports, this writeup might come in handy for dealing with the new reports:

Both should come in handy when evaluating which path forward.

Userlevel 4
Badge

This was the path I was headed down, but I’m not super well versed in API calls. I was trying to set this up in Postman, so this should work perfectly :) Thank you!

Userlevel 4
Badge +1

Hello @Bfarkas, is it possible to create an iframe page, with a link to Power BI, and show the dashboards inside the LMS?

We can do it with Docebo Analytics.

 

Thank you.

Userlevel 7
Badge +3

Hello @Bfarkas, is it possible to create an iframe page, with a link to Power BI, and show the dashboards inside the LMS?

We can do it with Docebo Analytics.

 

Thank you.

It is possible, keep in mind depending on your Power BI security settings and how you have your platform configured, they may need to log in unless you go the full public dashboard URL route to embed it.

Reply