Forum Discussion
[Unable to combine data] accessing data sources that have privacy levels
Hi everyone!
mithrandir, I'm having the same problem as you after modify the JIRA content pack to get information of every Issue.
Have you find any answer?
Thanks!
AnonymousAnonymousGilbertQ
Sorry to reply to this so late. I am consuming several RESTful API's, so this ended up being a blocking issue for me. I spoke with Power BI support about the issue and there a few scenarios.
The first is "https://www.domain.com/rest/api" or similar. If you try authenticating against this URL alone, you'll usually find yourself unsuccessful or redirected. The way the Power BI service online was explained to me, is that it tries to run through and authenticate the endpoints in your dataset before allowing/attempting a scheduled refresh. In hindsight, this makes sense because your desktop application can implicitly be trusted by being your physical property, where the Power BI service on Microsoft's servers needs an extra step to verify access. Doing authentication this way also avoids tying up resources that are going fail anyway.
The second is "https://www.domain.com" with a parameter passed and appended to the baseurl. This fails for the same reason, but the difference is the Power BI service is set up to inform you that your datasource doesn't support scheduled refresh before it ever attemtps to authenticate against the endpoint. This is to avoid you putting in any arbitrary parameter that could potentially cause issues, therefore tying up resources. It would also take some work to "build" the URL's, if you will, in order to authenticate them ahead of time and support parameterized baseurls.
The last scenario relevant to this topic is "https://www.domain.com" and the use of the RelativePath property defined with a variable in the options list parameter. If you've tried this, you know that your dataset in the Power BI service will have no indication of an issue until it tries to refresh. It fails for the same reasons above, but Power BI doesn't have a check built in like it does when appending a parameter to the baseurl. For those who mentioned using JIRA data, I know that API key auth support is coming down the pipe on their end sometime soon and the current content pack implementation (https://www.domain.com/jira/rest/api/2/search) works with scheduled refresh today. If you are trying to access different resource perspectives, one of the three above scenarios should describe any issues you are having (I'm consuming the remotelinks endpoint which blocks scheduled refresh for me)
At the time, support told me that supporting scheduled refreshing for parameterized Web datasources was not on their roadmap given the large changes they have made this year and are continuing to make concerning Power BI. That led me to look into setting up a gateway, but I don't believe the scheduled refresh there differs from the Power BI service concerning the Web datasource (please correct me if I'm wrong). My current solution is refreshing my reports manually as often as I need which is not really a workaround, but I wanted to share my experience so far just in case.
One suggestion that seemed promising was to store the report in OneDrive for Business locally for automatic syncing from desktop, but the only repo to interact with Power BI desktop is using a UI testing framework and hasn't been updated in awhile. I was hoping to find a useful set of cmdlets for Powershell to interact with Power BI desktop or some other way to refresh a report automatically to make this a good workaround, but haven't found anything so far. The last option that GilbertQ mentioned is creating a custom connector for the datasource you are working with. This currently does not support OAuth and I've heard a handful of other scenarios where consuming an API that you don't own may not be supported. I'm dealing with about a 50/50 split as far as the API's I'm consuming, so I decided not to commit considering I wouldn't be gaining scheduled refresh anyway.
Hopefully this is helpful. I am continuously investigating solutions to this problem, so I wll try to update this thread if I find any other potential routes.
- jaykilleen8 years ago
Advocate II
I have to chime in here and just say that the refreshability of PowerBI has to be the most disappointing feature I've experienced. I understand there are alot of moving parts here and managing resources etc but it's never been stable since release.
If I am using LiveQuery or doing things on one database alone (ie SQL Server) then things go ok. But as soon as I try multiple sources (ie Salesforce, SQL Server and a PostgreSQL Ruby on Rails app) things get very unstable.
One day it works, the next day it doesn't. Error messages are very vague and little support to get something that appears to work OOB actually working as it is intended. I also find solutions like disabling privacy settings to be concerning. I don't understand the innards of this enough to warrant disabling security features.
Putting aside an hour a day to refresh and republish reports is not suitable yet this kind of functionality is what everyday users are expecting.
I can't recommend PowerBI if scheduled reports are a necessity.
My next step to resolve this is to set daily jobs to copy ALL third party databases locally to our SQL Server databases on so I can run a refresh via one channel.
I'm looking forward to this situation improving though.
- jaykilleen8 years ago
Advocate II
Cheers for the reply.
I'll keep digging in and trying to find out why these errors are happening and see if I can provide any insight.
It is just odd that for something designed to mashup data between different sources that it would fail so consistently. I'm probably pushing the limits on something but I don't feel what I am doing should be out of the ordinary.
I do find though that the Salesforce connector does tend to return alot of Salesforce database errors (ie invalid query locators, too many cursors in the database etc etc).
It seems that nothing beats a good ole' "extract the data you need from all the databases, store it in your own database, query everything from one database". Even if you look at Salesforce's Heroku Connect it seems that is all they are doing aswell. Seems Salesforce really doesn't want you to hit their API despite their CEO and Microsoft CEO shaking hands on stage at Dreamforce :P
- GilbertQ8 years ago
Super User
That is really interesting that your refreshed are happening in that way.
I have been using On-Premise data sources and I have not had any errors with the Gateways at all really. It has always almost been something from the source systems.
I have not done extensive work with Salesforce, but connectors like OneDrive and SharePoint I have not had any issues with the refreshing. - GilbertQ8 years ago
Super User
Yeah I agree, it works most of the time. But possibly if you want something more robust would be using an OLE connector.